sábado, 6 de agosto de 2016

Damas não dominadas num tabuleiro NxN






  Os problemas das torres de Hanói e N rainhas não dominadas num tabuleiro NxN são muito importantes para os iniciantes em inteligência artificial e para quem gosta de jogos.
 Todos os que já programaram robots ou jogos deviam conhece-los.


















 Quem sabe programar algoritmos genéticos tem de conhecer o puzzle das N rainhas não dominadas num tabuleiro NxN e tão abordado nesta web. Permite por exemplo saber a importância da representação de um indivíduo na velocidade do algoritmo.
 Um problema que há é saber qual o tamanho do espaço de solução, ou seja, quantos casos possíveis podem os indivíduos assumir(isso exige à partida saber probabilidades e estatísticas). Outro menos problemático para muitos é saber já programar. Outro problema é saber quanto posso ter de esperar para ter o melhor resultado de todos, por isso e por outras é melhor começar pelo mais fácil.
 Acredito que algo esteja mal, mas não de todo, no ensino dos algoritmos genéticos na universidade onde andei. O código está tal e qual o desenvolvido numa das versões em Python do famoso e prestigiado Carlos Mira Fonseca, que foi meu professor.
 Aprender algoritmos genéticos como deve ser exige muito tempo e dedicação. Começar pelo Sudoku, ou alguns problemas simples de xadrez, ou o subindo colinas,… E ir treinando. Muito mais tarde poderá ir para o mais complicado para resolver certos problemas de otimização NP, aprendendo e aplicando métodos de cálculo como o método de Newton, ou aprendendo mais algoritmos como o algoritmo húngaro para serem usados em conjunto com os algoritmos genéticos que se quer desenvolver,… Ir ganhando noção aos poucos do que isso é, onde se pode usar, qual o motivo de se puder usar e o que resulta com isso.
 Deve ter notado que comecei por debaixo e fui subindo, mas não é tudo.
 Já imaginou a quantidade de coisas (não é tudo) que se resolvem com os algoritmos genéticos, incluindo coisas que muitos pensam não ser para os computadores e os problemas que muitas vezes se criam por causa disso? Algo que faz pensar nisso é a seguinte frase que defendo: o sucesso das teorias de Darwin na informática são a prova de que Deus é o maior engenheiro informático de sempre. Não é por isto que sou religioso, mas é minha obrigação respeitar e muito estas coisas.
 A ileteracia informática só traz problemas a tudo e mais alguma coisa.


http://www.osicode.esy.es

Sem comentários:

Publicar um comentário