🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_240cvmn_240.py
Version 1.0.0
Date de création 02/03/2026
Auteur / Demandeur IA Générée (Gemini)
Objectif principal Simuler le comportement d’une pieuvre intelligente cherchant à s’évader d’un aquarium tout en gérant ses besoins vitaux (faim).
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script exécute une simulation visuelle basée sur un automate cellulaire. On y suit une « pieuvre » (agent) dans un environnement clos contenant des obstacles, de la nourriture et une sortie. L’agent doit arbitrer entre sa survie (manger) et son objectif d’évasion, tout en utilisant des capacités de camouflage.
📌 Problème résolu
Il modélise la prise de décision multi-critères (survie vs liberté) et l’apprentissage simple (mémoire d’échec) chez un agent autonome doté d’un score d’intelligence variable.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Windows / Linux / MacOS
Mode d’exécution Interface graphique (Matplotlib Animation)
📦 Dépendances / Librairies
Librairies standard :
random : Génération de probabilités pour l’intelligence.
Librairies externes :
numpy : Gestion de la grille (matrice) et calculs de distance.
matplotlib : Rendu visuel et animation de la simulation.
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description Exemple
1 GRID_SIZE int ✅ Oui Taille du côté de la grille carrée 50
2 INTELLIGENCE_SCORE float ✅ Oui Probabilité de réussir l’évasion (0.0 à 1.0) 0.8
3 LIFESPAN int ✅ Oui Nombre maximum de cycles de vie 400
📤 SORTIES (OUTPUTS)
# Nom Type Description Exemple
1 is_free bool État final de l’agent (Libéré ou non) True
2 cycles int Nombre de tours écoulés 142
📂 Fichiers / Données en sortie :
Console : Logs des actions (consommation, échec/succès évasion).
Visuel : Animation en temps réel via une fenêtre Matplotlib.
🧱 STRUCTURE DU SCRIPT
script_240cvmn_240.py
├── 📌 CONSTANTES : Paramètres de simulation (GRID_SIZE, COLORS, etc.)
├── 📌 CLASSE OctopusSimulation
│ ├── __init__() : Initialisation de l’état et de l’environnement.
│ ├── setup_environment() : Placement des murs, nourriture et sortie.
│ ├── camouflage() : Logique de changement de couleur.
│ ├── move() : Algorithme de déplacement vers une cible.
│ ├── step() : Moteur de décision (Cœur de l’IA).
│ └── run_simulation() : Configuration de FuncAnimation.
└── 📌 MAIN : Instanciation et lancement de la boucle.
🔄 LOGIQUE / ALGORITHME
Détail des étapes :
Incrémentation : Diminution de la faim et mise à jour du camouflage.
Analyse du besoin :
Si faim < 20 : Cible = Nourriture la plus proche. Sinon : Cible = Sortie. Action : Si sur la cible : Consomme ou tente de forcer la sortie (jet de dé basé sur intelligence). Sinon : Déplacement d’une case vers la cible. Rendu : Mise à jour de la frame graphique. 🚨 GESTION DES ERREURS Murs/Obstacles : Gérés par une vérification de collision dans move(). Fin de vie : Arrêt de l’animation si cycles >= LIFESPAN.
Nourriture épuisée : Redirection automatique vers la sortie si plus aucun pixel FOOD n’existe.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : La priorité « Survie » (Faim) écrase la priorité « Évasion » sous le seuil critique.
Règle 2 : L’évasion n’est pas déterministe ; elle dépend du score d’intelligence.
Règle 3 : Le camouflage est passif ; la pieuvre prend la couleur du sol où elle se trouve.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Survie nominale Faim à 10 Se détourne de la sortie pour aller manger ⬜ À tester
2 Intelligence 0% Intelligence = 0.0 Doit atteindre la sortie mais ne jamais s’évader ⬜ À tester
3 Blocage murs Chemin barré Doit rester contre le mur sans crasher le script ⬜ À tester
📝 EXEMPLE D’UTILISATION
▶️ Lancement direct
Bash
python script_240cvmn_240.py
📋 Exemple de sortie console
Plaintext
Sortie définie à : (48, 48)
🧠 Échec de l’évasion. Réévaluation stratégique.
🍴 Nourriture consommée. Faim restaurée.
🤖 ÉVASION RÉUSSIE au cycle 184!



Avis
Il n’y a pas encore d’avis.