🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_a75ljxfr393oq0dh_333.py
Version 1.0.0
Date de création 25/03/2026
Auteur / Demandeur IA Généré (Modèle Gemini)
Objectif principal Simuler et visualiser les interactions dynamiques entre des populations de cerfs, de loups et de végétation sur plusieurs cycles saisonniers.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script exécute une simulation multi-agents (SMA) modélisant une chaîne alimentaire simplifiée. Il gère le cycle de vie (naissance, vieillissement, nutrition, reproduction et mort) de deux types d’animaux (proies et prédateurs) tout en simulant la croissance d’une ressource végétale influencée par les quatre saisons.
📌 Problème résolu
Il permet d’étudier les cycles de Lotka-Volterra (équilibre proie-prédateur) et l’impact des variations environnementales (saisons, disponibilité alimentaire) sur la survie d’une espèce.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.8+ (nécessite les dataclasses)
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution CLI avec rendu graphique Matplotlib
📦 Dépendances / Librairies
Standard : random, dataclasses, typing, enum
Externes : numpy, matplotlib
📥 ENTRÉES (INPUTS)
📂 Paramètres de classe (Hardcodés)
# Nom Type Description Valeur par défaut
1 nb_cerfs_init int Population initiale de cerfs 20
2 nb_loups_init int Population initiale de loups 3
3 nb_plantes int Nombre de parcelles de végétation 30 / 40
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Chemin / Format Description
Graphique Fenêtre Matplotlib 4 cadrans : Évolution populations, Végétation, Carte 2D, Stats finales.
Log Console Flux Standard (STDOUT) État de la simulation tous les 30 jours (Saison, populations).
🧱 STRUCTURE DU SCRIPT
onizuka_a75ljxfr393oq0dh_333.py
📌 IMPORTS : Gestion mathématique et visualisation.
📌 PARAMÈTRES (Dataclasses) : Configuration biologique et environnementale.
📌 CLASSES DES AGENTS : Agent (Parent), Cerf, Loup, Végétation.
📌 SIMULATION : Classe SimulationEcosystème (Moteur de jeu).
📌 MAIN : Initialisation et lancement du cycle de 730 jours.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
etape() Aucun None Avance la simulation d’un jour (calcul de tous les mouvements/interactions).
mise_a_jour() Agents/Env Optional[Agent] Gère la survie et la naissance d’un nouvel individu.
visualiser() Aucun None Génère les graphiques de fin de simulation.
🔄 LOGIQUE / ALGORITHME
Initialisation : Création aléatoire des agents sur une carte de 100×100.
Boucle Journalière :
Végétation : Croissance selon la saison (Printemps > Automne > Hiver).
Cerfs : Se déplacent, mangent de l’herbe, vieillissent, se reproduisent si possible.
Loups : Se déplacent, chassent les cerfs si énergie basse, vieillissent, se reproduisent.
Saisonnalité : Tous les 90 jours, les paramètres métaboliques changent (l’hiver est plus rude).
Nettoyage : Suppression des agents morts (énergie < min ou âge > max).
Reporting : Stockage des données pour analyse finale.
🚨 GESTION DES ERREURS
Collision de types : Utilisation de isinstance pour différencier les coûts métaboliques dans la classe parente Agent.
Extinction : Le script continue même si une population tombe à zéro (vérification if cerf.actif).
Division par zéro : Gérée lors du calcul du ratio final proies/prédateurs via max(1, len(sim.loups)).
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : Les cerfs ont besoin d’un partenaire mâle et d’une période de gestation (30j) pour procréer.
Règle 2 : Les loups sont plus rapides que les cerfs (Vitesse 7 vs 5).
Règle 3 : L’énergie est limitée par un plafond (energie_max).
Règle 4 : Les bordures de la carte sont réfléchissantes (les agents ne sortent jamais du cadre).
🧪 TESTS ATTENDUS
Survie Hivernale : Vérifier que la population de cerfs ne s’effondre pas totalement lors du premier hiver.
Équilibre Proie-Prédateur : Observer si les pics de population de loups suivent avec un retard les pics de cerfs.
Impact Spatial : Vérifier que les agents se répartissent bien sur toute la surface 100×100.
📝 EXEMPLE D’UTILISATION
▶️ Lancement direct
Bash
python onizuka_a75ljxfr393oq0dh_333.py
📋 Extrait de sortie console
Plaintext
Jour 90 – Saison: PRINTEMPS
Cerfs: 24, Loups: 4
Végétation moyenne: 32.5
—————————————-



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