segunda-feira, 31 de março de 2008

Algoritmos Genéticos e Robots

Um algoritmo genético é, como o nome indica, um conjunto de procedimentos que seguem regras genéticas. A maior parte deste tipo de algoritmos funciona começando com um conjunto de partes de código mais ou menos aleatório e é recompensado por efectuar uma tarefa qualquer.
Por exemplo, se quisermos construir um modelo em computador de um robot que consiga andar para a frente a uma velocidade razoável, quanto melhor ele o fizer maior será a recompensa que obtém.
Depois de começarmos com um conjunto inicial de partes de código (ou no caso dos robots, de peças) começamos a utilizar as regras da selecção natural, onde a recompensa falada atrás é não extinguir o indivíduo, e onde, de geração para geração, vão sendo introduzidas mutações (alterações no código) nos vários indivíduos. A maior parte destas mutações não vai introduzir melhorias nos modelos, mas visto que estes "downgrades" dos indivíduos serão recompensados com a extinção desses mesmos indivíduos, o que sobra são os modelos que melhor efectuam a tarefa que escolhemos.
O sucesso destes algoritmos, para mim, é uma indicação clara de que não é preciso um designer sobrenatural para que a complexidade da vida na terra tenha explicação. A selecção natural é uma ferramenta perfeitamente ao alcance de tal tarefa.

No vídeo abaixo podemos ver um cientista, que para além de utilizar estes algoritmos para fazer modelos de robots em computador, constrói os próprios robots e utiliza variações deste tipo de algoritmos para dotar as máquinas da capacidade de terem noção do que elas próprias podem ou não fazer.

2 comentários:

ZéDuke disse...

"Designer sobrenatural"! Genial descrição! :) Parabéns pelo blog!

Anónimo disse...

Todos esses algoritmos são utilizados em radiologia no rio de janeiro em todas as maquinas e computadores.
Primeiro as pessoas os programavam e agora se podem achar muitas coisas já programadas anteriormente.