MarI/O aprende a jogar Mario

Ver um programa aprender jogar um clássico dos games é uma excelente demonstração do machine learning. O MarI/O é uma I.A. com um algoritmo evolucionário e um objetivo simples, passar de fase no Super Mario World.

Sem receber instruções do que fazer ou para onde ir, o MarI/O teve a missão de passar por uma fase de Super Mario World basicamente por tentativa e erro. O programa não sabia nada sobre o jogo, e nada sobre Super Nintendo, apenas quais comandos estavam disponíveis, mas foi capaz de aprender sozinho como completar a fase através do processo de evolução neural.

 

 

Inspirado na evolução biológica, cada tentativa do programa herda as informações das tentativas anteriores, evitando os erros já conhecidos, e transmite suas informações adiante. A próxima geração aperfeiçoa o programa e chega mais próximo do final. Cada geração do programa tem um nível de “fitness”, que mede o quão longe a tentativa chega e o quão rápido consegue, e somente as tentativas que produzissem os maiores níveis de “fitness” são selecionadas e passadas adiante.

 

mario_img2
Frames do vídeo demostrativo

Criado por SethBling, levou 34 gerações para que o MarI/O finalizasse essa fase do Super Mario World. É interessante pensar que se o criador roda-se o programa novamente os resultados provavelmente seriam outros, encontrando um novo caminho para o final da fase. O algoritmo usado se chama NEAT, NeuroEvolution of Augmenting Topologies, que baseado em um paper de Kenneth O. Stanley e Risto Miikkulainen, que pode ser visto clicando aqui. SethBling também deixou disponível seu código para quem quisesse usá-lo e se você tiver interesse pode confira-lo aqui.

Uma rede neural com um algoritmo que aprende de maneira semelhante a evolução biológica, MarI/O é um simples, porém excelente experimento para demonstrar o funcionamento do machine learning e o potencial da inteligência artificial.

 


Gostou do post? Confira outros da editoria Terráqueos clicando aqui.

Publicado por Dan Martini

Designer na Radio Design. Agora também escrevendo para o blog.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: