🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script onizuka_sim_ecosysteme.py
Version 1.0.0
Date de création 25/03/2026
Auteur / Demandeur IA Généré (Gemini)
Objectif principal Simuler et visualiser en temps réel la dynamique proie-prédateur (Cerfs vs Loups) au sein d’un écosystème fermé.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script simule la vie, la reproduction, l’alimentation et la mort de deux espèces (Cerfs et Loups) interagissant dans un environnement doté de ressources végétales régénérables. Il offre une interface graphique animée affichant la carte spatiale et des graphiques statistiques (population, énergie, âge, végétation).
📌 Problème résolu
Il permet d’étudier visuellement les cycles de Lotka-Volterra (équilibre entre populations de proies et de prédateurs) et l’impact de la disponibilité des ressources sur la survie des espèces.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Windows / Linux / MacOS
Mode d’exécution CLI / Interface Graphique (Matplotlib)
📦 Dépendances / Librairies
Standard : random, collections
Externes : numpy, matplotlib
📥 ENTRÉES (INPUTS)
# Nom Type Obligatoire Description Exemple
1 taille int ❌ Non Dimension de la carte 100
2 nb_cerfs int ❌ Non Population initiale de cerfs 20
3 nb_loups int ❌ Non Population initiale de loups 5
4 nb_vegetation int ❌ Non Nombre de zones de pâturage 30
📤 SORTIES (OUTPUTS)
# Nom Type Description
1 Visualisation Graphique Fenêtre Matplotlib interactive avec 5 sous-graphiques.
2 Statistiques Console Résumé final (durée, population finale, évolution).
🧱 STRUCTURE DU SCRIPT
onizuka_41c4ub9cgq6mmalu_333.py
📌 IMPORTS (numpy, matplotlib, etc.)
📌 CLASSE Animal : Logique individuelle (mouvement, faim, reproduction).
📌 CLASSE Vegetation : Gestion de la croissance des plantes.
📌 CLASSE Ecosysteme : Moteur de simulation (mise à jour des cycles).
📌 CLASSE Visualisation : Rendu graphique via FuncAnimation.
📌 MAIN : Fonction simulation_interactive().
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
Animal.deplacer() environnement, cibles, predateurs None Gère l’énergie, l’âge et le choix du mouvement.
Ecosysteme.mise_a_jour() None None Orchestre un « pas » de temps (tous les déplacements/morts).
Visualisation.animate() frame None Rafraîchit les graphiques à chaque itération.
🔄 LOGIQUE / ALGORITHME
Initialisation : Création de la grille et des agents (Cerfs/Loups) avec des attributs aléatoires (sexe, position).
Boucle de simulation :
Végétation : Croissance lente des zones vertes.
Proies (Cerfs) : Fuient les loups si proches, sinon cherchent de l’herbe.
Prédateurs (Loups) : Traquent le cerf le plus proche. Si contact (dist<2), la proie meurt et le loup gagne de l'énergie. Reproduction : Si énergie > seuil et proximité d’un partenaire, création d’un nouvel individu.
Entropie : Consommation d’énergie par mouvement + vieillissement.
Nettoyage : Suppression des instances où en_vie == False.
🚨 GESTION DES ERREURS
Division par zéro : Évitée par des vérifications de norme (norme > 0) lors des déplacements.
Extinction : Le script continue de tourner même si une espèce disparaît (les graphiques s’aplatissent).
Entrées utilisateur : Utilisation de valeurs par défaut (or « 100 ») si l’utilisateur presse Entrée sans saisir de valeur.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : Les loups sont plus rapides (vitesse 1.8) que les cerfs (1.0) pour permettre la chasse.
Règle 2 : La reproduction est soumise à une probabilité de 1% par contact pour éviter l’explosion démographique instantanée.
Règle 3 : L’énergie max est différente selon l’espèce (Loup: 200, Cerf: 150).
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu Statut
1 Cas nominal Paramètres par défaut Cycle stable ou oscillations prédateurs/proies. ⬜ À tester
2 Surpopulation loups 50 loups / 5 cerfs Extinction rapide des cerfs puis famine des loups. ⬜ À tester
3 Sans prédateurs 0 loups Expansion des cerfs limitée uniquement par la végétation. ⬜ À tester
📝 EXEMPLE D’UTILISATION
▶️ Lancement via terminal
Bash
python onizuka_41c4ub9cgq6mmalu_333.py
(Saisissez les valeurs demandées ou appuyez sur Entrée pour les réglages d’usine).



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