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
1
Ce que j'ai construit
Solo
- 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.
- 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.
- 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.
- É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