Husky ou Lobo?

Um algoritmo de IA da Universidade de Washington conseguiu distinguir Lobos de Huskies, com 90% de acurácia! Um feito fantástico, considerando que são muito parecidos.

Os protocolos usuais, como separar dados de treinamento e de testes, tinham sido obedecidos, e por todas as métricas, o algoritmo era excelente.

Analisando a fundo, os pesquisadores descobriram a mágica. Ele estava reconhecendo a neve no fundo da foto. Se tinha neve, era lobo, se não tinha, era husky!

Nos modelos atuais, entramos com dados e resultados, e o que acontece lá dentro é uma caixa-preta. Hoje em dia, nem precisamos saber a matemática envolvida (infelizmente).

Uma foto de husky pode ser inofensiva, porém, imagine um carro autônomo que não reconhece pedestres com máscara e chapéu, por exemplo.

Por isso, precisamos evoluir para uma IA Explicável, a fim de entender o que está acontecendo, estabelecer relações causais e colocar restrições além do que é possível no método caixa-preta.

Este foi um dos temas discutidos no Informs 2020, que acontece on-line essa semana.

As curvas do espirógrafo e as órbitas dos planetas

Comprei um espirógrafo, para analisar melhor as curvas que este produz (são diferentes das que eu tinha feito antes).

Segue a implementação descrita a seguir, em versão web: https://asgunzi.github.io/Espirografos/.

Espirógrafo desenhos geométricos hipotroclóides e epitroclóides

Fiz algumas figuras para entender a lógica deste – vide o scan abaixo.

Esquematicamente, imagine um círculo menor rodando dentro de um círculo maior.

Além disso, dentro do círculo menor, escolho a posição do ponto onde coloco a caneta, representada pelo círculo vermelho abaixo.

A posição inicial do círculo menor é dada pelo círculo verde abaixo.

O raio do círculo maior é R, o do círculo menor que roda dentro do círculo maior é r2.

A posição da caneta pode ser descrita por um raio r3, e um ângulo lambda em relação ao centro do círculo menor no início da rotação.

Imagine que o círculo menor rodou um ângulo theta em relação ao círculo maior.

A posição do CENTRO do círculo menor vai ser dada pelas equações da figura – até agora, nenhuma novidade, são equações de um círculo.

A posição inicial do círculo, em verde, mudou, porque girou com o círculo.

O ângulo phi, do deslocamento da posição inicial, é obtido notando que o arco da circunferência maior tem a mesma dimensão do arco da circunferência do círculo menor.

Um arco de circunferência é dado por R*ângulo, onde o ângulo é medido em radianos.

Assim, R*theta = r2*phi.

Ou seja, phi = R*theta / r2.

Se o raio menor r2 for pequeno, phi é maior, ou seja, vai ter que girar mais vezes para chegar ao mesmo ponto.

Agora, finalmente, temos que encontrar a posição da caneta (a bola vermelha). Lembrando, ela estava a um ângulo lambda da posição inicial, e num raio r3.

Portanto, o ângulo até o ponto de tangência entre os dois círculos é (phi – lambda), onde phi = R*theta / r2.

As equações finais têm que levar em consideração a posição inicial do círculo maior, o centro do círculo menor, e a rotação descrita acima.

X = x0 + (R-r2)*Math.sin(theta)-r3*Math.sin(theta*R/r2 - phi));

Y = y0 + (R-r2)*Math.cos(theta)-r3*Math.cos(theta*R/r2 - phi));

Fiz a implementação utilizando a excelente biblioteca D3 de Javascript.

Para o raio maior, utilizei o valor arbitrário de 200. Os outros parâmetros são o raio menor (r2), a posição da caneta (r3) e o número de voltas que o círculo menor dá em torno do maior.

Seguem alguns resultados.

Com os parâmetros descritos, e 1 volta.

2 voltas:

Chega uma hora que não adianta mais dar voltas, que elas coincidem na mesma trajetória.

Outros exemplos:

Nota: o ângulo lambda foi desprezado, no final das contas, porque apenas desloca um pouco o ângulo, sem mudar o formato da figura.

Vide a implementação citada aqui: https://asgunzi.github.io/Espirografos/.

A dança das estrelas

As curvas desenhadas acima lembram as curvas que os planetas fazem no céu, vistos da Terra.

When the motion of the planets are charted as their so called ...

Imagine que a Terra é o círculo menor, girando ao redor do Sol, o círculo maior. A Terra também gira em torno de si mesma. Agora, um outro planeta, Vênus, também gira ao redor do Sol numa velocidade diferente.

Certamente, a equação dos planetas é muito mais complexa: é em três dimensões, as órbitas são elípticas, e o outro planeta gira em torno do Sol também. Porém, a ideia geral é mais ou menos semelhante: uma composição de rotações em torno de rotações de rotações, ora fazendo a posição aparente ir para frente, ora para trás, numa eterna dança celestial…

Trilha sonora: O segundo sol, Cássia Eller

“Quando o segundo sol chegar, para realinhar as órbitas dos planetas…”

Vide também:

https://ideiasesquecidas.com/2015/03/03/a-danca-de-afrodite/

https://ideiasesquecidas.com/2017/07/05/plutao-e-a-falacia-narrativa/

Algumas histórias do mulá Nasrudin

Nasrudin é processado

Um dia, o mulá Nasrudin disse: “Os sábios desta cidade são sabem merda nenhuma”.

O pessoal da cidade processou Nasrudin, demandando que ele provasse o que dizia ou sofresse punição.

“OK”, disse Nasrudin.

Ele deu um pedaço de papel e caneta para o público. “Cada um de vocês, escrevam o que é merda?”.

Eles escreveram e entregaram o papel ao juiz.

“O cientista escreveu que merda é uma composição de água e detritos de comida”.

“O filósofo escreveu que é uma manifestação dos ciclos de mudanças da vida”.

“O médico escreveu que é matéria descartada do corpo para boa saúde”.

Nasrudin, então, completou: “Vejam só, todos os sábios deste lugar, não sabem merda nenhuma”.

O dia da festa

Nasrudin foi ao palácio, num dia de festança. Foi barrado na entrada pelos servos, por estar trajando roupas esfarrapadas.

O mulá voltou para casa, vestiu-se com roupas extravagantes, e dessa vez, foi aceito na entrada.

Nasrudin então começou a derramar comida e vinho em suas roupas, causando estranheza em outro convidado, que indagou, “O que você está fazendo?”

“Oh, estou alimentando a minha roupa primeiro. Afinal das contas, ela é que foi aceita na festa”.

Você está correto

O juiz Nasrudin estava ouvindo um caso. Após o promotor apresentar o seu lado, Nasrudin falou, “Você está correto”.

Após o defensor explanar a sua versão, Nasrudin afirmou: “Você está correto”.

A esposa de Nasrudin estava ouvindo o caso, e afirmou, “isso não faz sentido, como ambos podem estar corretos?”

“Sabe de uma coisa”, disse Nasrudin. Você também está correta!

O pássaro que salvou a minha vida

Nasrudin estava andando no deserto, e encontrou um homem santo, que se apresentou: “Sou um místico, devotado à apreciação da vida, especialmente pássaros”.

“Que maravilha”, Nasrudin respondeu. “Sabe, um dia um pássaro salvou a minha vida”.

O homem santo gostou do mulá, e passaram horas conversando – mas, todas as vezes, Nasrudin se recusava a contar a história.

Outro dia, após diversas súplicas do homem santo, Nasrudin finalmente concordou em contar a história:


“Um dia, faz uns seis anos, eu não tinha comido há muito tempo e estava morrendo de fome. Então, peguei um passarinho numa armadilha, e assim, ele salvou a minha vida”.

Veja outras histórias do mulá Nasrudin:

https://ideiasesquecidas.com/2020/02/22/a-sabedoria-do-mula-nasrudin/

https://ideiasesquecidas.com/2019/05/05/e-depois/

https://ideiasesquecidas.com/2019/01/06/o-fardo-que-carregamos/

Ter ou não ter, eis a questão

Interessante reflexão do velho Aristóteles (e põe velho nisso, cerca de 2300 anos atrás), em sua obra Ética a Nicômaco. Ele, já naquela época, dizia que o valor a ser pago numa transação deve ser definido a priori, ou seja, antes do comprador ter o produto ou serviço. Outra alternativa seria a posteriori: o comprador ter o serviço primeiro (digamos, uma aula), e depois, avaliar o valor a pagar.

Argumento: o ser humano dá enorme valor antes de ter algo, e pouco valor após obter o mesmo. Isso é válido inclusive para serviços que tenham gerado enorme valor, digamos, uma aula importante. Quantas são as coisas que temos em casa, guardadas inutilmente em algum canto do armário? Quantos são os bons trabalhos realizados, que por conta de já terem sido feitos, parecem muito fáceis para quem apenas consome os resultados?

Outra reflexão, agora baseado no psicólogo Daniel Kahneman. Perder algo que temos é mais doloroso do que se nunca tivéssemos tido. Ele chama isto de Efeito Dotação. Um experimento simples: um colecionador de selos paga R$ 100,00 num selo exótico – que vai ficar guardado, paradinho, em sua coleção. Um amigo dele oferece R$ 150,00 no mesmo selo. Um caminho seria ele vender e embolsar o lucro, porém, dificilmente ele o vai fazer. Ele vai ponderar o valor emocional e o trabalho que teve para conseguir o selo, a dificuldade de obter outro igual, e a conclusão é a de que não vai vender – é preferível ter o mesmo pegando poeira em sua coleção do que se desfazer.

Pior ainda, imagine outra situação, em que o amigo conseguiu comprar o selo um minuto antes dele!

Ou seja, o ser humano dá valor à algo quando não o tem, e quando o perde – e nunca quando efetivamente o tem!

Dá até para pensar num gráfico:

Por essas e outros, o autor Robert Cialdini elenca a Escassez como um dos fatores de influência. Quanto mais rara e importante alguma coisa, maior o interesse das pessoas. Ser um excelente profissional é bom, porém, ser um excelente profissional demandado pelo mercado é melhor ainda!

Veja também:

https://ideiasesquecidas.com/2016/10/07/insights/

https://ideiasesquecidas.com/2018/01/21/%e2%80%8brecomendacoes-de-livros-para-recem-formados/

IBM Quantum Challenge 2020

Participei do IBM Quantum Challenge 2020, e gostaria de compartilhar a experiência.

Computadores quânticos são a próxima fronteira da computação. É um mundo esquisito, onde os bits podem ser sobrepostos, entrelaçados, enviados para outros universos e trazidos de volta com a solução correta (obs. há um certo exagero nessa afirmação).

No desafio são propostas 4 séries de exercícios, em dificuldade crescente. Todos na linguagem Qiskit, baseada em Python. A interface é o Jupyter Notebook, rodando nos servidores da IBM (que chegou a cair, por excesso de utilização).

Na maior parte das vezes, usamos o modo simulador, porém, num exercício tivemos o prazer de rodar um dos computadores quânticos reais da IBM, no meu caso, o IBMQ_16_Melbourne.

Das 4 séries de exercícios, completei 3, e aprendi uma quantidade enorme de conceitos no processo.

– 8 questões sobre circuitos quânticos

– 4 questões sobre ruído

– Experimento sobre criptografia quântica BB84

– Decompor um circuito nos componentes básicos

Este campo ainda está na infância. Pode crescer exponencialmente. Ou não, pode ser que dê em nada. Uma sobreposição de sucesso ou fracasso, como o gato de Schrodinger.

Obrigado à IBM pela dedicação.

https://quantum-computing.ibm.com/challenges/4anniversary

Como criar um quadrado mágico de qualquer tamanho

Quadrados mágicos são números arranjados numa grade, de tal forma que a soma das linhas, colunas e diagonais seja igual.

A questão de como criar diversos tipos de quadrados mágicos vem intrigado os matemáticos há séculos.

Magic Squares - history of chinese math squares as in book "The ...

Veremos neste tutorial, como criar um quadrado mágico de qualquer tamanho. Implementação em VBA e em Python disponível no Github.

Há três casos diferentes:

– quadrados mágicos ímpares,

– do tipo 4*n

– do tipo 4*n+2

Para cada caso, há um algoritmo diferente.


Caso 1: Quadrados mágicos ímpares

São os que têm número de lado ímpar (3, 5, 7, etc).

Começar colocando o 1 na célula superior do meio. Andar uma casa para a esquerda e uma para cima, para colocar o próximo número. Como o tabuleiro acaba, é como se ele desse a volta e colocasse o número no canto inferior.

Ir repetindo o passo acima, do número 2 para o 3.

Quando a casa em questão já estiver ocupada, como no caso abaixo,

… colocar o próximo número imediatamente abaixo da casa de referência.

Isso é suficiente para gerar qualquer quadrado mágico ímpar.

Ex. quadrado mágico 3×3:

Obs. Devido à simetria, tanto faz ir para a direita ou para a esquerda, no primeiro passo acima.

Padrão de cores: mais claro -> número maior, mais escuro, número menor.

Ex. Quadrado mágico 15×15:


Caso 2: Quadrados de ordem 4*n

Ou seja, quadrados de lado 4, 8, 12, 16, etc.

Colocar os números de 1 a 16 sequencialmente na grade.

Apagar os números da diagonal principal e da diagonal secundária:

Agora, imagine o grid preenchido sequencialmente, mas na ordem inversa:

Neste grid inverso, apagar todos os números que NÃO são das diagonais principal e secundária.

Juntar ambos os quadrados semi-preenchidos, e voilá, temos um quadrado mágico!

Para ordem 8, 12, é similar. É só imaginar um quadrado 8×8 sendo dividido em 4 quadrados 4×4, e para cada quadrado 4×4, aplicar o padrão acima.


Caso 3: Ordem 4*n+2

São quadrados com casas 6, 10, 14, etc, em que os algoritmos acima não funcionam.

Este caso é mais complicado.

A regra utilizada aqui é a LUX, desenvolvida por John Conway (o mesmo do Jogo da Vida).

Dividir o quadrado em grupos de quadrados 2×2.

Exemplo, um quadrado 6×6 pode ser visto como um grupo de 3×3 quadrados 2×2.

Para o grupo de quadrados, dividir assim:

  • Até a metade de linhas L
  • 1 linha de U
  • O restante de X

No exemplo de lado 6, não “cabe” a linha X, mas para casos maiores, sim.

Depois, inverter o L central com o U abaixo:

Note que o grupo de quadrados torna-se um quadrado de ordem ímpar (o primeiro algoritmo descrito).

L, U e X referem-se à padrões de preenchimento:

Portanto, o algoritmo é:

– A ordem de preenchimento é como no caso ímpar, para grupos de quadrados 2×2

– Dentro do quadrado 2×2, usar a regra LUX correspondente ao quadrado.

Exemplo: cubo 6×6

No exemplo acima, começo com 1 no meio na linha superior, que é padrão L:

O próximo número é 5, e o local dele é à direita e acima, conforme o algoritmo de lado ímpar. Esta casa corresponde ao padrão U.

O próximo número é o 9, à direita e acima. Agora, é o padrão L.

E assim sucessivamente.

Ex. Quadrado 10×10.

Utilizando os três algoritmos acima, é possível criar quadrados mágicos de qualquer tamanho, digamos 1000 x 1000.

Implementação em D3: https://asgunzi.github.io/QuadradoMagicoD3/index.html

Implementação em VBA e em Python disponível no Github.

Links:

https://en.wikipedia.org/wiki/Conway%27s_LUX_method_for_magic_squares

https://en.wikipedia.org/wiki/Siamese_method

https://ideiasesquecidas.com/laboratorio-de-matematica/

https://ideiasesquecidas.com/2016/03/09/quadrados-magicos-impares/

A Vaca Roxa

O livro da “Vaca roxa” faz reflexões importantes sobre produto e marketing.

Durante uma viagem à Suíça, o autor comenta que a paisagem era linda. Porém, com o passar do tempo, ficou chato. Todas as vacas eram iguais. Algumas brancas, outras malhadas, porém, nada de diferente. Seria espantoso ver uma vaca roxa, pensou.

É melhor ser notável do que ser chato. Entretanto, muitos produtos tendem a serem chatos, não correr riscos. Entretanto, neste mundo em que temos mais opções do que conseguimos testar, produtos chatos serão esquecidos.

O autor, o prolífico escritor Seth Godin, divide as eras do Marketing em três:

  • Antigamente, era o produto que contava, e o marketing era no boca-a-boca.
  • A era das grandes propagandas nos meios de massa trouxe relevância ao marketing. Com dinheiro suficiente, era possível expor qualquer produto.
  • Nos tempos atuais, há uma infinidade de canais de comunicação possíveis, além da mídia social. A grande propaganda voltou a ser o boca-a-boca (não físico, mas virtual), e o produto, o diferencial.

A primeira edição do livro foi nos anos 2000, e de lá para cá a tendência descrita só aumentou: quem assiste televisão nos dias de hoje?

Em marketing, fala-se dos 4P’s: Produto, Preço, Praça e Promoção. O Purple Cow é o quinto “P”.

O próprio livro se tornou o ícone que tenta vender. Não apresenta nenhuma grande ideia nova, porém, posiciona-se de forma inesquecível.

No lançamento, o livro vinha com uma caixa de leite. Inevitavelmente, a caixa chamava a atenção de quem não conhecia o livro, tornando-se uma peça criativa de marketing.

Em resumo:

  • Seja memorável
  • O seguro é arriscado
  • O design de um grande produto importa


Veja também:

https://ideiasesquecidas.com/2018/04/21/notas-sobre-tribos/

Link do livro na Amazon:

https://amzn.to/35sdjAB