quando criança conheci este jogo vendo o filme planeta dos macacos, eu pausei e em dois minutos aprendi a resolver qualquer tamanho sem errar, dês de então já encontrei 4 algoritmos diferentes que resolve o jogo, é incrível como tem tanta matemática escondida neste jogo por exemplo algoritmo do par e impar: -Nunca mover ímpar para cima de outro ímpar e Nunca mover par para cima de outro par. -Sempre que tiver uma coluna vazia a prioridade é mover ímpar para cima de um par ou par para cima de ímpar se puder -Nunca mover o mesmo disco mais de uma vez seguido Algoritmo do sinal binário mais fraco: a quantidade de movimentos mínimos depende da quantidade de discos sendo 2^x-1 por exemplo 4 discos => 2^4-1 = 15 se você transformar em binário o número do movimento pegue a posição do 1 de menor valor (pegar a posição do primeiro 1 da esquerda para a direita) 10 => 1010 => o 1 está na segunda posição, logo no movimento número 10 você irá mover o disco 2, fazendo este algoritmo você consegue gerar uma lista da ordem dos discos a serem movidos. enfim, tem vários outros algoritmos que são bem interessantes
Cara, sua didatica é muito boa, acabei ficando confuso em algumas partes devido a mistura do português com o ingles em origem, auxiliar e objetivo, mas revi o video algumas vezes, desenhei e debuguei e ficou muito mais claro. Excelente video, seu conteudo é excelente e faz lembrar da parte boa da computação!
interessante que resolvendo a recorrência você vê que o Hanoi N é sempre 2^N - 1 movimentos. um problema que parece tão simples têm uma solução muito elegante e profunda.
O dificil da torra de Hanoi, é que sempre que vejo a solução eu entendo perfeitamente como funciona e como resolve. Mas depois de um tempo , pelo menos um mês, não conseguiria lembrar 100% na hora de como eu implementaria 100% essa solução recursiva.
Cara muito bacana essa iniciativa, eu quando estava estudando programação eu me desafiei a fazer um algoritimo para resolver a torre de hanoi, só que não quis fazer pesquisa, eu queria ver o que consegueria fazer sozinho, então cheguei a uma solução bem diferente que não usa recursividade. Também descobri que tem uma lenda associada a este jogo, de que uma entidade deixou uma pilha com 64 discos de ouro para ums monges com as regras, e quando eles terminassem de mover o ultimo disco, seria o fim do universo, eu me desafiei a fazer um algoritimo que fosse capaz de gerar a sequencia com todos os movimentos da solução com 64 discos, e acredito ter tido sucesso, o problema é que demora porque são 18.446.744.073.709.551.615 movimentos na solução ideal, mas como não quero destruir o universo não deixei rodar até o fim. apesar do sucesso encontrei algums outros desafios, com esta solução você só consegue resolver a partir da posição inicial, ela não funciona em qualquer posição valida, por exemplo, mova uma peça por conta própia e coloque o algoritimo para rodar, ele vai desfazer tudo o que você fez, para gerar a solução correta, então fui atraz e consegui arrumar uma técnica que me permitia sair de qualquer posição valida e atingir qualque outra posição valida (podendo ser a solução ou não, fica a seu critério) para qem se interessou este é github do projeto: github.com/RenanMarquetti/Algoritimos_Torre_de_Hanoi/tree/master/torreDeHanoi/src/torreDeHanoi
Da uma olhada depois no problema da mochila. Sendo resolvido sem e com programação dinâmica. Programação dinâmica eh muito utilizado em problemas de otimização
O cara eh tao bom que faz parecer facil kkkkkkk
Parabens pelo conteudo mano, gosto muito dos teus videos
Que absurdo. Eu sei resolver a torre (já quebrei muito a cabeça) e nunca parei pra pensar que o algoritmo disso seria tão "simples". Ótimo conteúdo.
quando criança conheci este jogo vendo o filme planeta dos macacos, eu pausei e em dois minutos aprendi a resolver qualquer tamanho sem errar, dês de então já encontrei 4 algoritmos diferentes que resolve o jogo, é incrível como tem tanta matemática escondida neste jogo
por exemplo
algoritmo do par e impar:
-Nunca mover ímpar para cima de outro ímpar e Nunca mover par para cima de outro par.
-Sempre que tiver uma coluna vazia a prioridade é mover ímpar para cima de um par ou par para cima de ímpar se puder
-Nunca mover o mesmo disco mais de uma vez seguido
Algoritmo do sinal binário mais fraco:
a quantidade de movimentos mínimos depende da quantidade de discos sendo 2^x-1 por exemplo
4 discos => 2^4-1 = 15
se você transformar em binário o número do movimento pegue a posição do 1 de menor valor (pegar a posição do primeiro 1 da esquerda para a direita)
10 => 1010 => o 1 está na segunda posição, logo no movimento número 10 você irá mover o disco 2, fazendo este algoritmo você consegue gerar uma lista da ordem dos discos a serem movidos.
enfim, tem vários outros algoritmos que são bem interessantes
Adoro seu canal. Conteúdo de altíssima qualidade. Obrigado.
Cara, sua didatica é muito boa, acabei ficando confuso em algumas partes devido a mistura do português com o ingles em origem, auxiliar e objetivo, mas revi o video algumas vezes, desenhei e debuguei e ficou muito mais claro. Excelente video, seu conteudo é excelente e faz lembrar da parte boa da computação!
interessante que resolvendo a recorrência você vê que o Hanoi N é sempre 2^N - 1 movimentos. um problema que parece tão simples têm uma solução muito elegante e profunda.
O dificil da torra de Hanoi, é que sempre que vejo a solução eu entendo perfeitamente como funciona e como resolve. Mas depois de um tempo , pelo menos um mês, não conseguiria lembrar 100% na hora de como eu implementaria 100% essa solução recursiva.
normal, lógica é prática, matemática é prática
Cara muito bacana essa iniciativa, eu quando estava estudando programação eu me desafiei a fazer um algoritimo para resolver a torre de hanoi, só que não quis fazer pesquisa, eu queria ver o que consegueria fazer sozinho, então cheguei a uma solução bem diferente que não usa recursividade.
Também descobri que tem uma lenda associada a este jogo, de que uma entidade deixou uma pilha com 64 discos de ouro para ums monges com as regras, e quando eles terminassem de mover o ultimo disco, seria o fim do universo, eu me desafiei a fazer um algoritimo que fosse capaz de gerar a sequencia com todos os movimentos da solução com 64 discos, e acredito ter tido sucesso, o problema é que demora porque são 18.446.744.073.709.551.615 movimentos na solução ideal, mas como não quero destruir o universo não deixei rodar até o fim.
apesar do sucesso encontrei algums outros desafios, com esta solução você só consegue resolver a partir da posição inicial, ela não funciona em qualquer posição valida, por exemplo, mova uma peça por conta própia e coloque o algoritimo para rodar, ele vai desfazer tudo o que você fez, para gerar a solução correta, então fui atraz e consegui arrumar uma técnica que me permitia sair de qualquer posição valida e atingir qualque outra posição valida (podendo ser a solução ou não, fica a seu critério)
para qem se interessou este é github do projeto: github.com/RenanMarquetti/Algoritimos_Torre_de_Hanoi/tree/master/torreDeHanoi/src/torreDeHanoi
video mto bom, parabens!!
É algo simples/bobo, mas que no fundo é complexo kkk
Parabéns pelo conteúdo, se usar as tags e colocar uma descrição seu vídeo seria achado nas buscas!
nossa mano eu sei resolver a torre de hanoi na vida real mas pra entender o codigo custou muito, como pode tamanha abstração! muito interessante
Cara faz um discord, uma comunidade algo assim.
O que é programação dinâmica?
Quebrar o problema principal em pequenos problemas mais simples:
Mover 2 discos é mais simples do que 3
Da uma olhada depois no problema da mochila. Sendo resolvido sem e com programação dinâmica. Programação dinâmica eh muito utilizado em problemas de otimização
não sei porque, mas pensei nessas torres como arrays 🤣
A primeira vez que a gente vê esse código parece inadmissível tá certo kkkkk
tô preso nesse canal tem 3 videos
Como q ele faz o primeiro print se "n" não é igual a 1, é igual a 2?
Carai.😵