script_273cvmn_273.py

49,00 

Simuler et visualiser l’équilibre entre les employés (Cerfs) et le stress managérial (Loups) dans un environnement de travail (Open Space).

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

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script script_273cvmn_273.py

Version 1.0.0

Date de création 07/03/2026

Auteur / Demandeur IA Générée (Gemini)

Objectif principal Simuler et visualiser l’équilibre entre les employés (Cerfs) et le stress managérial (Loups) dans un environnement de travail (Open Space).

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script utilise une simulation multi-agents pour modéliser la vie d’un bureau. Il suit l’évolution de deux populations : les Employés, qui travaillent (mangent) et se multiplient (recrutement), et le Stress/Management de Crise, qui se propage en « consommant » l’énergie des employés, menant parfois au burnout ou à la démission.

📌 Problème résolu

Il permet de visualiser de manière ludique et mathématique les cycles de vie d’une entreprise et d’identifier les points de bascule où le stress submerge la force de travail, entraînant un effondrement de la population d’employés.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.8+

OS cible Tous (Windows / Linux / MacOS)

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

📦 Dépendances / Librairies

Librairies standard : Aucune (en dehors de l’import interne)

Librairies externes :

numpy (Calcul matriciel et aléatoire)

matplotlib (Visualisation et animation)

📥 ENTRÉES (INPUTS)

📂 Paramètres de configuration (Hardcodés)

# Nom Type Description Valeur

1 SIZE int Taille de la grille (Open Space) 50

2 INITIAL_DEER int Nombre de départ d’employés 50

3 INITIAL_WOLF int Niveau de stress initial 10

📤 SORTIES (OUTPUTS)

📂 Fichiers / Données en sortie

Type Format Description

Graphique Matplotlib Plot Fenêtre interactive affichant la grille 2D et les courbes de population en temps réel.

🧱 STRUCTURE DU SCRIPT

script_273cvmn_273.py

📌 IMPORTS : NumPy, Matplotlib (Pyplot & Animation).

📌 PARAMÈTRES : Constantes de simulation (énergies, tailles).

📌 CLASSES :

Creature (Base) : Logique de mouvement et survie.

Deer (Employé) : Logique de travail et recrutement.

Wolf (Stress) : Logique de prédation et propagation.

📌 MOTEUR DE SIMULATION : OpenSpaceSimulation (Gestion des tours).

📌 MAIN : run_simulation() (Initialisation et boucle d’animation).

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

move(size) size: int None Déplace l’agent aléatoirement sur la grille avec effet de tore (bouclage).

step() Aucun None Calcule une itération complète (mouvement, repas, chasse, reproduction).

get_grid() Aucun np.array Génère une matrice 2D représentant l’état actuel pour l’affichage.

update(frame) frame: int Artist Met à jour les données du graphique pour chaque image de l’animation.

🔄 LOGIQUE / ALGORITHME

Phase Employé (Cerf) :

Déplacement → Perte d’énergie.

Action de travail → Gain d’énergie.

Si énergie > 50% → Division (Recrutement d’un nouveau membre).

Phase Stress (Loup) :

Déplacement → Si collision avec un employé, l’employé est supprimé (Burnout).

Gain d’énergie suite à la « consommation » de l’employé.

Si énergie très élevée → Propagation du stress à une case voisine.

Phase Nettoyage :

Suppression des agents dont l’énergie est ≤0.

🚨 GESTION DES ERREURS

Dépopulation totale : Si le nombre de cerfs tombe à 0, le stress (loups) finit par s’éteindre faute de « nourriture ». La simulation continue de tourner à vide.

Instabilité numérique : Un recrutement trop rapide peut saturer la mémoire (non limité dans ce script, mais géré par le coût énergétique).

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : L’énergie est la ressource vitale. Un mouvement coûte -1.

Règle 2 : Un « Loup » gagne +5 d’énergie par employé éliminé.

Règle 3 : La grille est cyclique (un agent sortant à droite réapparaît à gauche).

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu

1 Équilibre Paramètres par défaut Oscillation naturelle des populations.

2 Stress Intense INITIAL_WOLF = 100 Extinction rapide des employés.

3 Bureau Vide INITIAL_DEER = 0 Disparition immédiate du stress.

📊 PERFORMANCES ATTENDUES

Temps d’exécution : ~200ms par « cycle de travail » pour une grille 50×50.

Consommation mémoire : Très faible (< 100 Mo). 📝 EXEMPLE D'UTILISATION ▶️ Lancement via terminal : Bash python script_273cvmn_273.py 📋 Sortie console/visuelle : Une fenêtre s'ouvre avec : À gauche : Des points jaunes (employés) et violets/verts (stress) s'agitant. À droite : Un graphique montrant les courbes de population qui se croisent.

Avis

Il n’y a pas encore d’avis.

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

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