🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_247cvmn_247.py
Version 1.0.0
Date de création 02/03/2026
Auteur / Demandeur IA Générée (Gemini)
Objectif principal Simuler et visualiser la dynamique des populations d’un safari (herbivores et lion) sur 200 ans via un modèle de compétition de biomasse et de prédation.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Le script résout un système d’équations différentielles de type Lotka-Volterra étendu. Il modélise l’interaction entre quatre espèces d’herbivores (Éléphant, Girafe, Zèbre, Rhinocéros) qui partagent une ressource limitée (biomasse) et un prédateur (Lion) qui chasse spécifiquement le zèbre.
📌 Problème résolu
Il permet d’étudier l’équilibre écologique d’une réserve. Contrairement à un modèle classique, il intègre un poids de biomasse : un éléphant impacte plus la capacité de charge (K) qu’un zèbre, offrant une simulation plus réaliste de la pression sur la végétation.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.8+
OS cible Tous (Windows / Linux / MacOS)
Mode d’exécution Script de calcul et visualisation (CLI/Scientific)
📦 Dépendances / Librairies
numpy : Calculs numériques et gestion des tableaux.
matplotlib : Génération des graphiques (visualisation).
scipy (integrate) : Utilisation de solve_ivp pour la résolution d’équations différentielles.
📥 ENTRÉES (INPUTS)
📂 Paramètres de simulation (Hardcodés)
# Nom Type Description Exemple
1 r_params dict Taux de croissance intrinsèques par espèce {‘E’: 0.05, …}
2 weights dict Impact de consommation sur la biomasse {‘E’: 10, …}
3 CAPACITY_K int Capacité de charge totale de la savane 25000
4 N0 list Populations initiales au temps t=0 [200, 500, 2000, 150, 50]
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Format Description
Graphique Plot (Pop-up)
1. Évolution temporelle des 5 populations.
2. Espace des phases (Lion vs Zèbre).
3. Graphique de pression sur la biomasse vs Capacité K.
🧱 STRUCTURE DU SCRIPT
Plaintext
script_247cvmn_247.py
│
├── 📌 IMPORTS (numpy, matplotlib, scipy)
├── 📌 PARAMÈTRES RÉALISTES (Dictionnaires r_params, weights, K)
├── 📌 FONCTIONS
│ └── safari_system() → Définit le système d’équations ODE
├── 📌 RÉSOLUTION (solve_ivp – Méthode RK45)
└── 📌 VISUALISATION (Matplotlib subplots)
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
safari_system t, N, r, w, K, a_zl, a_lz list Calcule les dérivées dN/dt pour chaque espèce.
🔄 LOGIQUE / ALGORITHME
Initialisation : Définition des constantes biologiques (croissance, prédation, poids).
Calcul de la charge : À chaque instant t, calcul de la biomasse totale consommée :
K∑(Poidsi×Populationi)
Application des ODE :
Les herbivores croissent selon une loi logistique freinée par la biomasse totale.
Le Zèbre subit une pression de prédation additionnelle par le Lion.
Le Lion dépend exclusivement de la population de Zèbres pour croître.
Intégration : Résolution numérique sur 200 ans via l’algorithme Runge-Kutta 45.
Rendu : Affichage multi-graphique des résultats.
✅ CONTRAINTES & RÈGLES MÉTIER
Règle 1 : Seul le Zèbre est chassé par le Lion dans ce modèle simplifié.
Règle 2 : La compétition est indirecte (partage de la capacité K).
Règle 3 : Le Lion a un taux de mortalité intrinsèque compensé par sa consommation de proies.
🧪 TESTS ATTENDUS
# Cas de test Entrée Résultat attendu
1 Équilibre biomasse Paramètres par défaut La courbe verte ne doit pas dépasser la ligne rouge de façon instable.
2 Extinction Proie Z=0 La population de Lions doit chuter vers zéro.
3 Surpopulation K très petit Toutes les populations d’herbivores déclinent rapidement.
📝 EXEMPLE D’UTILISATION
▶️ Lancement direct
Bash
python script_247cvmn_247.py
(Une fenêtre Matplotlib s’ouvrira affichant les trois graphiques de dynamique de population.)



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