Representação visual do MDC

Qual o máximo divisor comum entre 9 e 21?

O MDC é um dos principais conceitos de Teoria dos Números, e o algoritmo de Euclides continua sendo extremamente eficiente até hoje.

Vi uma versão visual deste, e gostaria de compartilhar.

Qual o máximo divisor comum entre 9 e 21?

21 / 9 = 2 (representado pelos dois quadrados de tamanho 9) e sobra 3

9 / 3 = 3 (vide os três quadrados de tamanho 3) e sobra 0

Portanto, o MDC é 3.

A planilha em anexo plota essa visualização de MDC para dois valores quaisquer de a e b.

Exemplo. MDC(10, 2 ) = 2, o último quadrado de tamanho 2.

Outro exemplo, entre 6 e 9 (mdc = 3, o último quadrado 3×3).

Planilha para download em https://github.com/asgunzi/MDC-visual. É necessário ativar macros.

Veja também:

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

O dia que troquei minha mulher por uma barra de chocolate

Tudo começou com uma brincadeira das crianças. Você trocaria seu telefone por um gatinho? E o gatinho por uma barata? E assim sucessivamente. Minha esposa me perguntou: você me trocaria por uma barra de chocolates infinita?

Sendo muito lógico, é claro que respondi “Sim”. Infinito é uma quantidade muito grande…

Uma barra infinita seria suficiente para dar um pedaço para cada pessoa na cidade. Na verdade, para que se restringir a uma cidade? Seria mais do que suficiente para todas as pessoas na Terra. Mais do que isso, vários pedaços por dia, para cada pessoa, por todos os dias – acabaria com a fome do mundo.

Ainda assim, sobrariam infinitos pedaços – ou seja, seria possível alimentar todas as pessoas que ainda vão nascer no planeta. E para quê parar no planeta? Sendo infinito, é suficiente para este e mais quaisquer outros planetas que conseguissem ter acesso à tal barra de chocolate.

Ademais, a tal barra poderia ter outras aplicações. Talvez uma fonte de energia infinita. Além de alimentar todo o planeta, os cientistas poderiam pensar numa forma de secar e queimar uma enorme quantidade de chocolate, a fim de produzir energia elétrica infinita. Por mais ineficiente que tal processo seja, ainda valeria a pena, pela fonte de matéria-prima não ter fim.

Ora, mas tem algo estranho nessa conta. Se a quantidade de energia gerada é infinita, a quantidade de energia para fazer tal barra de chocolate também seria infinita.

Uma barra assim precisaria de muitos bilhões de litros de leite e de quilos de cacau e açúcar. Muito mais do que isso, de bilhões de bilhões de bilhões de litros e quilos, além de quantidade equivalente de processos industriais e energia – e ainda assim não seria nada perto do infinito. Precisaria de todo o peso do planeta Terra, mais o peso da galáxia inteira, e o peso de tudo o que existe no universo, e ainda assim, ainda falta muito para infinito.

Ou seja, a barra exauriria todos os recursos naturais existentes e transformaria o mundo num mar de chocolate. Sufocaria a todos, antes de poder ser útil para alguma coisa…

Portanto, a resposta correta é “Não”, não troque sua esposa por uma barra de chocolate infinita. Além de todos os problemas citados, esta resposta evita que você leve um tapa na cara!

Veja também

Sobre Átomos e vazio (ideiasesquecidas.com)

O loop infinito das Leis da Robótica (ideiasesquecidas.com)

O cubo mágico bola puzzle

Este puzzle é bastante simples.

São 10 bolinhas numa esfera, que podem se movimentar por 11 casas.

Cada casa tem uma cor diferente, e cada bolinha tem a mesma cor da casa.

Basta pressionar a bolinha em direção ao espaço vazio para movimentar.

O jogo é colocar todas as bolinhas em posições aleatórias e depois arrumar tudo: cada bolinha em sua casa.

É um puzzle fácil. Tendo um espaço vazio, eu sempre consigo trocar duas bolinhas. Então, um algoritmo guloso, de ir resolvendo casa por casa, é suficiente.

As minhas filhas de 6 e 9 anos conseguem resolver.

É um puzzle simples, com um grau mínimo de dificuldade para ficar divertido.

Fica a dica.

Link do produto na Amazon.

https://amzn.to/2LHpGD7

Veja também:

Cubos Mágicos (ideiasesquecidas.com)

https://ideiasesquecidas.com/2015/10/18/como-resolver-o-dodecaedro-magico-introducao/

A Espiral de Arquimedes

A Espiral de Arquimedes é uma curva fácil de fazer, usando até o Excel.

Imagine que vou andando ao longo de uma reta, e marcando uma série de pontos a cada vez – é como se um raio r estivesse crescendo.

Imagine agora, que a reta está girando a uma velocidade constante – cada reta está num ângulo theta.

A localização dos pontos forma a Espiral de Arquimedes.

No Excel, basta colocar que o raio e o ângulo theta vão crescendo a velocidade constante.

As coordenadas de cada ponto são r*cos(theta) e r*sin(theta).

Planilha para download no Github:

asgunzi/EspiralArquimedes: Implementação da espiral de Arquimedes em Excel (github.com)

Vide também:

Laboratório de Matemática (ideiasesquecidas.com)

Prova visual da sequência 1/2 + 1/4 + 1/8 + … = 1

A sequência 1/2 + 1/4 + 1/8 + … = 1 é conhecida faz tempo, e há uma prova visual bastante bonita.

Imagine que vamos somando retângulos, onde a área corresponde ao valor da sequência.

O primeiro tem área 1/2 (lados 1 x 1/2):

O segundo com área 1/4 (lados 1/2 e 1/2):

O terceiro com área 1/8 (lados 1/4 e 1/2):

(As cores mudam, porque o código que escrevi joga cores aleatórias)

E assim sucessivamente. Após 8 iterações:

Note um padrão: sempre sobra um retângulo, e esse retângulo sempre é preenchido com metade da área na iteração seguinte.

Após 20 iterações:

A soma da área vai tendendo a se aproximar de 1, sem nunca chegar.

Um exercício é fazer numa calculadora ou no Excel a soma 1/2 + 1/4 + 1/8 +1/16 + … até cansar, e verificar o resultado!

Para brincar iterativamente, neste link:

https://asgunzi.github.io/Soma-Serie-Meio/

Source code no Github:

https://github.com/asgunzi/Soma-Serie-Meio

Veja também:

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

https://ferramentasexcelvba.wordpress.com/2018/09/02/mil-cardioides-no-excel/

Relembrando alguns posts notáveis

Cinco postagens antigas que estiveram recentemente entre os mais acessados, e valem uma releitura.

Eu sou o Mestre do meu Destino, eu sou o Comandante da minha Alma – palavras impressionantes de William Ernest Henley
https://ideiasesquecidas.com/2015/08/11/eu-sou-o-mestre-do-meu-destino-eu-sou-o-comandante-da-minha-alma-2/

Ethos, Pathos e Logos: elementos da persuasão, segundo o grande Aristóteles. É a arte de escolher o melhor argumento a cada caso com o fim de persuadir.

https://ideiasesquecidas.com/2018/09/07/ethos-pathos-e-logos/

Sobre o poema Morte e Vida Severina, e a versão musicada de “Funeral de um lavrador“.
https://ideiasesquecidas.com/2018/10/14/funeral-de-um-lavrador/

Algumas reflexões sobre o famoso “negativo x negativo = positivo”.

Corolário. Um pouco da “Tabajara álgebra”, onde negativo x negativo = negativo.


https://ideiasesquecidas.com/2016/05/15/negativo-x-negativo-positivo-por-que/

Sobre Cisnes Negros. Eventos de baixa probabilidade e alto impacto, que surgem em nossas vidas. Nassim Taleb é o autor que mais admiro no mundo moderno.


https://ideiasesquecidas.com/2017/08/09/a-teoria-dos-cisnes-negros/

Como resolver o Square One – Parte 2

Dando continuidade a post anterior, segue uma lista de algoritmos para ajudar a resolver o SquareOne.

A ideia é criar movimentos que mexam com o menor número possível de peças, a fim de conseguir criar um padrão compreensível. É a mesma lógica de “movimento invariante” de outros cubos: mexo, volto e vou anotando os efeitos.

Os movimentos básicos, no começo, serão compostos de forma a chegar a movimentos mais complexos no final desta seção.

Até agora, vamos mostrar apenas movimentos que não variem a forma do cubo. No próximo post, vamos mexer na forma.

Mov Base I

Vídeo no Youtube:

Mov Base II

Mov Troca Layers

Mov Translado

Esse movimento fica mais claro se isolar somente as peças que se movem:


Mov Translado -1

É a mesma coisa, mas ao contrário – aliás, todos os movimentos descritos aqui têm a versão inversa, e dominá-las pode ser muito útil.


Mov Troca 2 simples

Mov Troca 2 lateral

Mov Troca 4 laterais

Mov Troca 4 cantos

Este movimento é importante para arrumar as peças dos cantos.

Mov Troca 3 laterais

Posição triangular

Quando as peças laterais estiverem numa situação como a da figura, basta um movimento UR para transformar essa posição em outra que dê para aplicar o movimento Troca 3 laterais ou algum dos truques acima.

Há um número infindável de combinações possíveis, então cada caso vai ser diferente. Porém, essa é a ideia: dominar os movimentos básicos acima, e transformar este caso em alguma posição resolvível acima.

No próximo post, algoritmos de forma, e a seguir, como juntar todos os elementos.

Parte 3:

https://ideiasesquecidas.com/2020/08/09/como-resolver-o-square-one-parte-3/

Vide também:

https://ideiasesquecidas.com/2020/08/06/como-resolver-o-square-one-parte-1/

https://ideiasesquecidas.com/cubos-magicos/

https://ideiasesquecidas.com/2015/10/18/como-resolver-o-dodecaedro-magico-introducao/

Formas geométricas com imã

Uma indicação de brinquedo lúdico para crianças (e por que não, adultos também), é um conjunto de formas geométricas com imãs.

São quadrados, triângulos, e algumas formas adicionais como pentágonos e hexágonos.

Cada peça facilmente gruda e desgruda uma nas outras, permitindo uma possibilidade enorme de combinações.

Esse da foto é o boneco de neve Olaf.

A casa da construção abaixo é a versão imã do projeto em origami (vide alguns origamis estruturais aqui).

O kit citado foi comprado no AliExpress. Há uma versão nacional, porém a chinesa tinha um número maior de peças e acessórios como rodas.

É um bom exercício para a imaginação!

Veja também:

Eletrônica para crianças:

Zometools:

O método da exaustão para encontrar a área do círculo

O método da exaustão foi desenvolvido nos tempos de Eudoxo e Arquimedes. Este post visa mostrar a ideia geral do método. Os gregos antigos tinham uma noção bastante forte de geometria, e por isso, é bastante lúdico entender o raciocínio.

Como calcular a área de um círculo, ou de alguma outra forma complicada? Uma resposta é aproximar por algo mais simples, como um triângulo ou um quadrado.

O maior quadrado possível que cabe dentro de um círculo é o quadrado inscrito.

O menor quadrado possível em que o círculo cabe dentro é o quadrado circunscrito.

Assumindo que o raio é igual a 1, para facilitar, a área do círculo vai estar entre 2 e 3,31 (demonstração nos capítulos seguintes abaixo).

Mas o quadrado é muito diferente do círculo. Não dá para melhorar?

Que tal utilizar um pentágono?

A aproximação melhorou um pouco, entre 2,38 e 3,25 (hoje sabemos que a área é pi*r^2, se o raio é 1, a área é pi = 3.1415…)

Podemos continuar crescendo o número de lados do polígono.

Digamos, 6 lados (hexágono):

10 lados:

15 lados:

Quanto maior o número de lados, o polígono regular é mais parecido com o círculo.

Repetindo o procedimento, até a exaustão (daí o nome), podemos chegar ao valor de pi com a precisão desejada.

Os gregos utilizaram técnica semelhante para calcular área de diversas outras formas, e também o volume de esferas e outros sólidos.

O método acima tem pouca álgebra e muita geometria e é uma espécie de precursor do cálculo integral.

Mexa na versão web em https://asgunzi.github.io/MetodoExaustao/index.html

É possível utilizar o Excel para traçar os polígonos acima, embora seja um pouco mais avançado (utilizando VBA).

O desenho utiliza apenas retas e círculos, o que facilita bastante.

Em essência, para adicionar uma linha, só é necessário saber as coordenadas iniciais (x1,y1) e finais (x2,y2).

ActiveSheet.Shapes.AddLine(x1, y1, x2, y2)

O número de lados N do polígono regular vai dividir o círculo em N, mostrado acima como bolinhas amarelas.

Se uma volta completa é igual a 360 graus (2*pi), o ângulo theta entre dois pontos é de 2*pi/N.

As coordenadas do ponto i são (r*cos(theta_i), r*sin(theta_i)), com theta_i = i*2*pi/N.

O código final envolve vários outros detalhes, porém, a essência está descrita acima.

For i = 1 To nlados

    theta = 2 * i * pi / nlados + theta0

    x1 = cx0 + raio * Math.Sin(theta)

    y1 = cy0 + raio * Math.Cos(theta)

theta = 2 * (i + 1) * pi / nlados + theta0

    x2 = cx0 + raio * Math.Sin(theta)

    y2 = cy0 + raio * Math.Cos(theta)

    plotaLinha "FrmRef", x1, y1, x2, y2, r, g, b

Next i

Para calcular a área, utilizar geometria novamente.

Se o lado do polígono é igual a x, e a altura do triângulo h, temos um triângulo retângulo h – x/2 – r.

Lembrando que o raio do círculo é conhecido.

O ângulo é theta = 360 / N.

Fazendo as contas, a área do polígono inscrito é N/2 * sin(2*pi/N).

A área do polígono circunscrito é 2*N*tan(pi/(2*N)).

Há um erro lógico aqui no exercício. Utilizei o conhecimento moderno de trigonometria para calcular a área – e tal conhecimento utiliza explicitamente o pi, que era justamente o que Eudoxo e Arquimedes queriam descobrir. Porém, para efeito de ilustração, imagino que seja suficiente.

Versão web em https://asgunzi.github.io/MetodoExaustao/index.html

Para baixar o arquivo Excel e o código-fonte em Javascript:

https://github.com/asgunzi/MetodoExaustao

Vide também:

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

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/

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/