La course en circuit

Chaque IA a appris à piloter sur des circuits tirés au hasard. Ici, elles courent sur des circuits qu'aucune n'a jamais vus. Elles ne voient la piste qu'à travers sept capteurs de distance. Le pilote écrit à la main, lui, connaît le tracé.

    Chargement des modèles…

    Ce que chaque méthode a appris

    Toutes les méthodes qui apprennent ont eu le même budget : le même nombre de pas de jeu (un pas = 0,1 seconde de course). Les scores sont mesurés sur 50 circuits que personne n'a vus à l'entraînement, en 120 secondes de course.

    Chargement…

    Les courbes d'apprentissage

    Tours parcourus en 120 secondes sur 10 circuits jamais vus, en fonction du nombre de pas d'entraînement. Une courbe par graine ; en pointillés, les références qui n'apprennent pas.

    Comment ça marche

    Le circuit

    Une dizaine de points tirés au hasard autour d'un cercle, reliés par une courbe lisse. La piste fait 12 unités de large. Le même tirage existe en Python et dans cette page : le circuit n° 1 est celui sur lequel les méthodes ont été mesurées.

    La voiture

    Elle accélère, freine et tourne, mais son adhérence est limitée : plus elle va vite, moins elle peut tourner serré. Pour aller vite, il faut freiner avant les virages. Sortir de la piste arrête la course.

    Ce que voient les IA

    Sept distances au bord de la piste, de la gauche à la droite, plus leur vitesse et l'angle entre leur cap et la piste. Rien d'autre : ni le tracé à venir, ni leur position.

    PPO

    Méthode à gradient : la politique est un réseau qui propose une commande ; on la corrige dans le sens qui augmente la distance parcourue, sans trop s'éloigner de la politique précédente.

    CMA-ES et ARS

    Sans gradient : on essaie des variantes des poids et on garde ce qui roule le mieux. CMA-ES apprend aussi la forme du nuage de variantes ; ARS n'a qu'une politique linéaire, la plus simple possible.

    NEAT

    Une population de réseaux qui évoluent, forme comprise. C'est la méthode des autres jeux du site.