Aller au contenu

Learn2Slither

Un serpent qui apprend à jouer par essai-erreur avec du Q-learning tabulaire — une Q-table sur la vision à quatre voisins de la tête, entraînée sur des milliers de sessions en auto-jeu.

En bref
  • 5 000 sessions d'entraînement
  • 294 états appris

Ma contributionConstruction de l'agent Q-learning tabulaire : une Q-table sous forme de dictionnaire, la mise à jour par différence temporelle et le choix d'action epsilon-greedy avec un epsilon décroissant.

RÔLE
Solo
CONTEXTE
École 42 · projets IA
STATUT
Terminé
RÉSULTAT
Entraînée en auto-jeu sur un plateau 10×10, la Q-table a atteint 294 états appris après 5 000 sessions ; le pic rapporté est un serpent de 71 cases autour de la session 4 500 — lu sur le compteur en direct, pas sur un benchmark indépendant.
MISE À JOUR
26 sept. 2026
stepTD updatestate4 tiles around headQ-tableε-greedyaction4 movesreward+10 / -10 / -1 / -100new stateboard · numpy
Fig. — comment ça marche
1

Ce que j'ai construit

Solo

  1. Construction de l'agent Q-learning tabulaire : une Q-table sous forme de dictionnaire, la mise à jour par différence temporelle et le choix d'action epsilon-greedy avec un epsilon décroissant.
  2. Conception de l'encodage d'état fondé sur la vision — une chaîne de quatre caractères pour les cases autour de la tête — et du moteur de jeu et de plateau en NumPy.
  3. Définition du barème de récompenses (+10 pomme verte, -10 rouge, -1 par déplacement, -100 à la mort) et de la boucle d'entraînement par session avec sauvegarde/chargement du modèle.
  4. Écriture de l'outil en ligne de commande argparse et de l'interface pygame (mode pas à pas, contrôle de la vitesse, statistiques en direct et un tracé de la courbe d'apprentissage).
2

Choix clés

Q-learning tabulaire, pas de RL profond
L'état est une chaîne de quatre symboles : seules quelques centaines d'états apparaissent (294 après 5 000 sessions) et une simple Q-table suffit — pas de réseau de neurones.
La vision locale à la tête comme état
L'agent ne voit que les quatre cases adjacentes à la tête, ce qui garde l'espace d'états minuscule et apprenable ; la ligne de vue complète est calculée mais réservée à l'affichage.
Des récompenses façonnées avec une lourde pénalité de mort
-100 en cas de collision contre -1 par pas pousse la politique vers la survie d'abord, puis vers les pommes vertes.
3

Résultats

Entraînée en auto-jeu sur un plateau 10×10, la Q-table a atteint 294 états appris après 5 000 sessions ; le pic rapporté est un serpent de 71 cases autour de la session 4 500 — lu sur le compteur en direct, pas sur un benchmark indépendant.

4

Limites

  • L'état se limite à la case adjacente dans chaque direction : l'agent ne peut pas voir les pommes ou les murs au-delà d'une case — il apprend l'évitement des collisions plus que la recherche d'objectif.
  • Les performances sont à forte variance : la longueur maximale rapportée grimpe dans les 60-70 puis retombe, et la récompense par session reste négative tout du long.
  • Des hyperparamètres fixes, un unique plateau 10×10, et des maxima sur un seul essai plutôt qu'une moyenne sur de nombreuses parties.
  • La longueur maximale est lue sur le compteur en direct, pas stockée dans les modèles sauvegardés : elle est donc rapportée plutôt que reproductible après coup.

Des questions sur ce projet ? → Écrivez-moi