Prev Section 11.7: Vision éco-systémique des anticipations : Irez-vous au Bar El Farol ce samedi soir? Up Chapitre 11: Evolution des anticipations et coordinationPartie V: Dynamiques économiques complexes Next
11.8
Application : Version simplifiée du problème d’El Farol
Nous allons partir de la description ci-dessus. A partir d’une liste histoire de memoire (*) nombres représentant l’histoire de memoire fréquentations passées, chaque stratégie est formée comme une liste de memoire coefficients correspondant aux poids mis par l’individu sur les différentes périodes passées.
A début de la simulation, le programme tire taillePopStrategies (*) stratégies aléatoires et donne à chaque individu k (*) stratégies différentes, aléatoirement choisies dans cet ensemble.
Chacun des N (*) individus possède donc une liste de stratégies contenues dans sa liste strategies.
Prédiction de la fréquentation
Nous devons alors mettre en place un reporterprediction qui prend histoire et une stratégie en paramètres et retourne la prédiction qui résulte de cette stratégie. Cette prédiction est simplement formée en multipliant les coefficients pour les différentes périodes dans la stratégie avec les valeurs de l’histoire, allant de la plus récente (histoire[0]) vers la plus ancienne (histoire[memoire-1]) :
A la fin chaque période, l’individu interroge prediction avec les valeurs de histoire, sauf la plus récente pour obtenir une prédiction avec laquelle calculer l’erreur d’anticipation qu’il aurait eu avec chaque stratégie dans sa population de stratégies. Pour calculer cette erreur, il confronte la prédiction résultant de chaque stratégie avec la valeur de la fréquentation réellement observée à cette dernière période.
Décision d’aller au bar ou pas
L’individu détermine la stratégie à utiliser la période suivante (celle qui a l’erreur la plus faible). Il calcule alors la prédiction proposée par cette stratégie pour la période suivante, et décide d’aller au bar si prediction seuil-encombrement(*). Ce dernier est égal à dans la version d’Arthur.
Exemples de stratégies et de décisions
Soit ,
Stratégie : Décision : Aller au bar
Stratégie : Décision : Rester à la maison
Représentation dans NetLogo
Blocs du programme
L’interface graphique;
Autres variables globales;
Procédure setup;
Procédure go;
Procédures complémentaires (si nécessaire).
Interface graphique
L’interface graphique qui contient certaines variables globales (paramètres) du modèle, ainsi que des sorties pour les résultats (graphiques, indicateurs) :
Nombre d’individus (variable nombre-individus);
Nombre de stratégies dans le répertoire de chaque agent (nombre-stratégies);
La variable qui contrôle le nombre total de stratégies à générer dans la population de stratégies à distribuer aux agents (taillePopStrategies) :
Un graphique qui montre l’évolution de la fréquentation du bar.
Variables globales
Les variables globales déclarées au début du code : frequentation, histoire, encombrement.
Nous n’allons pas créer d’espèce particulier cette fois-ci et utiliser l’espèce tortues qui est disponible par défaut pour les agents. On s’adresse aux agents avec turtles au pluriel et turtle en singulier.
Les variables spécifiques à chaque individu : strategies, meilleure-stra tegie, aller?, prediction.
Rappel : nous n’avons pas besoin de déclarer une variable couleur car chaque tortue possède automatiquement la variable color.
Procédure setup
Initialisation de l’environnement de simulation: clear-all.
Déterminer le nombre de stratégies à créer dans la population globale de stratégies et créer ces stratégies (pour cela nous allons faire appel à un reporteur : strategie-aleatoire.
Création de nos individus en utilisant la variable globale nombre-Individus (on utilisera les patchs pour faire pousser –sprout – les individus sur eux).
Donner la couleur blanche à ces individus.
Leur donner un sous-ensemble de stratégies tirées de la population globale de stratégies.
On leur demande d’adopter leur première stratégie en préparation de la première période qui va venir.
Création d’une histoire factice initiale de taille(taille-memoire + 1) pour permettre aux agents d’utiliser leurs stratégies le temps d’accumuler suffisamment d’observations réelles.
Cette liste contient des entiers aléatoires tirés entre et .
Préparer les périodes en exécutant reset-ticks.
Procédure go
On demande à chaque individu de formuler son anticipation, étant donnée cette historie initiale. On va faire appel à un reporteur qui utilise la meilleure stratégie actuelle de l’agent et l’histoire actuelle pour formuler une prédiction.
En fonction de cette anticipation et du seuil-encombrement, chaque agent décide d’aller (aller? = true) ou non (aller? = false) au bar
On calcule alors la fréquentation qui va se réaliser ce soir et on détermine si le bar est bondé ou pas.
On actualise l’histoire en éliminant l’observation la plus ancienne et en ajoutant celle qu’on vient de faire.
On demande alors aux individus de recalculer la précision des différentes stratégies dont ils disposent en utilisant l’erreur potentielle de chacune dans l’anticipation de la fréquentation qui vient de se réaliser. L’individu utilisera celle qui correspond à la précision la plus élevée pour former ses anticipations samedi soir suivant.
Pour cela, nous ferons appel à une procédure complémentaire :
actualise-strategies.
On donne la couleur rouge aux agents qui se sont présentés au bar un soir où il était bondé et la couleur blanche aux autres.
On augmente le compteur de période d’une unité (tick)
Procédures complémentaires
Le reporteur strategie-aleatoire retourne une liste de taille-memoire nombres aléatoires réels compris dans
Le reporteur predire-frequentation prend une stratégie et une liste contenant une histoire en argument, pour retourner l’anticipation correspondant à cette stratégie et à cette histoire.
La procédure actualise-strategies utilise predire-frequentation pour calculer l’erreur qu’aurait commise chacune des stratégies dont dispose l’individu, confrontée à l’histoire qui contient toutes les observations sauf la dernière et pour choisir la stratégie la meilleure qu’il faut utiliser pour faire la prochaine anticipation.
Expériences
Fixez (le cas considéré par Arthur)
Fixez et exécutez le modèle. Observez la dynamique de fréquentation qui en résulte. Qu’observez-vous? Observez-vous des caractéristiques qui reviennent?
Même question pour et . Que pouvez-vous en déduire sur le rôle de cette variable. Faites varier entre ces deux valeurs extrêmes pour étudier son effet sur la dynamique.
Mêmes questions pour , mais en faisant varier . Quel rôle semble jouer cette variable?
Mêmes questions pour et . Est-ce que les résultats sont différents de ceux que vous venez d’observer avec ?
Etudiez les dynamiques en réduisant la vitesse d’actualisation des graphiques.
Discutez ces résultats du point de vue de la coordination des anticipations.
La suite de cet ouvrage sera dédiée à la discussion des apports de l’approche que nous proposons ici dans la littérature consacrée à des questions sur les dynamiques économiques de différents niveaux : dynamique des organisations, dynamiques industrielles et dynamiques macroéconomiques.
Prev Section 11.7: Vision éco-systémique des anticipations : Irez-vous au Bar El Farol ce samedi soir? Up Chapitre 11: Evolution des anticipations et coordinationPartie V: Dynamiques économiques complexes Next