onizuka_a75ljxfr393oq0dh_333.py

49,00 

Simuler et visualiser les interactions dynamiques entre des populations de cerfs, de loups et de végétation sur plusieurs cycles saisonniers.

UGS : onizuka_a75ljxfr393oq0dh_333.py Catégorie : Étiquette :

🔷 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.

Soyez le premier à laisser votre avis sur “onizuka_a75ljxfr393oq0dh_333.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *