onizuka_8nmi7uzv65upcvdb_333.py

49,00 

Simuler et visualiser l’évolution dynamique et la compétition spatiale entre deux espèces végétales (Pionnières vs Compétitives).

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script onizuka_8nmi7uzv65upcvdb_333.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Simuler et visualiser l’évolution dynamique et la compétition spatiale entre deux espèces végétales (Pionnières vs Compétitives).

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script génère une simulation stochastique sur grille (automate cellulaire) où deux espèces luttent pour l’espace. Il modélise leur croissance, leur dispersion (reproduction) et leur survie sur une période de 100 jours, le tout visualisé par une animation en temps réel.

📌 Problème résolu

Il permet d’illustrer visuellement le compromis biologique « vitesse vs endurance » : les espèces pionnières colonisent vite mais meurent souvent, tandis que les compétitives s’étendent lentement mais dominent sur le long terme.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.x

OS cible Tous (Windows / Linux / MacOS)

Mode d’exécution Interface Graphique (Matplotlib Animation)

📦 Dépendances / Librairies

Librairies externes (pip install)

numpy : Gestion des matrices (grille et énergie).

matplotlib : Moteur de rendu graphique et animation.

📥 ENTRÉES (INPUTS)

📂 Fichiers / Sources de données en entrée

Configuration interne : Les paramètres des espèces sont codés en dur dans le dictionnaire SPECIES_TYPES.

# Nom Type Obligatoire Description Exemple

1 GRID_SIZE int ✅ Oui Taille de la grille carrée 50

2 DAYS int ✅ Oui Nombre d’itérations de la simulation 100

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Chemin / Format Description

Visuel Fenêtre interactive Animation Matplotlib affichant l’évolution de la grille.

🧱 STRUCTURE DU SCRIPT

onizuka_8nmi7uzv65upcvdb_333.py

├── 📌 IMPORTS (numpy, matplotlib)

├── 📌 CONSTANTES / CONFIG (GRID_SIZE, DAYS, SPECIES_TYPES)

├── 📌 CLASSES

│ └── Ecosystem → Gère la logique de la simulation

├── 📌 FONCTIONS D’ANIMATION

│ └── animate(i) → Met à jour la vue à chaque frame

└── 📌 MAIN (Lancement de l’animation)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

Ecosystem.__init__ size: int None Initialise la grille et les premières graines.

Ecosystem.update Aucun np.array Applique les règles biologiques à chaque cellule.

animate(i) i: int list Fonction de rappel pour mettre à jour l’image.

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Parcourir chaque cellule de la grille.

ÉTAPE 2 → Si une espèce est présente :

Croissance : Ajouter du « growth_rate » au compteur d’énergie de la cellule.

Dispersion : Si eˊnergie≥1.0, tenter de coloniser une case voisine aléatoire (selon la portée de « dispersion »).

Compétition : La colonisation ne réussit que si la case cible est vide (valeur 0).

Survie : Tirage aléatoire ; si l’espèce échoue son test de survie, la case devient vide.

ÉTAPE 3 → Mettre à jour la grille globale et rafraîchir l’affichage.

🚨 GESTION DES ERREURS

Hors-limites : Le script utilise un modulo (% self.size) pour gérer la dispersion, créant un effet « torique » (une graine sortant par la droite réapparaît à gauche).

Conflits de mise à jour : Utilisation de new_grid.copy() pour éviter que les mouvements d’une cellule n’impactent les cellules suivantes durant le même tour.

✅ CONTRAINTES & RÈGLES MÉTIER

Priorité d’occupation : Premier arrivé, premier servi. Une espèce ne peut pas en remplacer une autre déjà installée (compétition indirecte pour l’espace vide).

Modèle stochastique : La survie et la direction de dispersion sont basées sur le hasard (np.random).

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Cas nominal Paramètres par défaut Extension circulaire des populations ⬜ À tester

2 Survie = 0 survival: 0.0 Extinction immédiate de l’espèce ⬜ À tester

3 Taille grille 1×1 GRID_SIZE = 1 Simulation stable ou erreur d’index ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement direct

Bash

python onizuka_8nmi7uzv65upcvdb_333.py

Avis

Il n’y a pas encore d’avis.

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

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