SNAKE · NEUROEVOLUÇÃO

redes neurais que aprendem por seleção natural, sem nenhuma regra escrita à mão
avaliando a primeira geração…

Controles

geração1
melhor (última geração)...maçãs
média (última geração)...maçãs
recorde...

Evolução: maçãs por geração

melhor da geraçãomédia da população

Cérebro da cobra assistida (ao vivo)

peso positivopeso negativodireções relativas à cabeça (↑ = para onde ela está indo)

Como funciona. Cada cobra tem uma rede neural com pesos aleatórios. Todas jogam a mesma partida; quem come mais maçãs (e sobrevive mais) ganha mais aptidão. As melhores viram pais da próxima geração: os filhos misturam os pesos dos dois (cruzamento) e recebem pequenas alterações aleatórias (mutação). Repete. Ninguém ensina a cobra a jogar. O comportamento surge da seleção.

O que ela enxerga (17 entradas): 5 raios (frente, esquerda, direita e as duas diagonais da frente) dizendo a que distância está o obstáculo e se há maçã naquela linha; a posição da maçã e da cauda em relação à cabeça; e quanto espaço livre ela ainda alcança se for para frente, para a esquerda ou para a direita. É isso que a impede de entrar num bolsão fechado pelo próprio corpo. Saídas: seguir, virar à esquerda, virar à direita. Se ficar muito tempo sem comer, morre de fome. Isso impede que ela "aprenda" a ficar girando em círculo.

Espere ver: nas primeiras gerações elas batem na parede; logo depois aprendem a ir até a maçã; em umas dezenas de gerações passam de 100 maçãs. O difícil vem quando o corpo fica grande e ela começa a se encurralar.