Manger est facile au début ; plus le serpent grandit, plus il risque de s'enfermer dans son propre corps. Une solution écrite à la main ne perd jamais : suivre un circuit qui passe par toutes les cases. Les IA font-elles mieux, ou plus vite ?
Chargement des modèles…
Même budget pour toutes les méthodes qui apprennent : le même nombre de pas de jeu. Les scores sont mesurés sur 50 parties dont les pommes tombent à des places jamais vues à l'entraînement. Grille de 10 × 10 : 97 pommes au plus. Une partie s'arrête quand le serpent se cogne (colonne « Se cogne »), quand il passe 200 pas sans manger (il meurt de faim, ce qui arrête ceux qui tournent en rond), ou quand la grille est pleine.
| Chargement… |
Douze nombres calculés autour de la tête : pour chacune des trois directions (tout droit, gauche, droite), y a-t-il un obstacle juste devant, à quelle distance est le prochain, et quelle part des cases libres resterait accessible en allant par là. Plus la position de la pomme et la longueur du serpent.
Un circuit fermé qui passe exactement une fois par chaque case. Le serpent qui le suit ne se mord jamais, mais peut parcourir toute la grille pour chaque pomme : c'est la solution parfaite et lente.
Va au plus court vers la pomme. Rapide au début, il finit presque toujours par s'enfermer : c'est le piège que les IA doivent apprendre à éviter.
Apprend la valeur de chaque action dans chaque situation : « combien de pommes j'espère manger si je tourne à gauche maintenant ». Il rejoue ses souvenirs pour apprendre plus avec moins de parties.
Apprend directement la probabilité de chaque action, et la corrige dans le sens qui rapporte plus de pommes.
Fait évoluer une population de réseaux, forme comprise. C'est la méthode des autres jeux du site. Chaque génération fait jouer toute la population : à budget égal en pas de jeu, NEAT ne voit passer que quelques générations quand les parties sont longues, comme ici.