Le but de ce travail est de permettre à nos concitoyens de mieux appréhender certains concepts de la science économique (qui n'est pas une science exacte mais une science de l'homme) par le calcul de modèles simplistes présentés sous forme de jeux. En effet, le jeu et l'expérimentation exacte, en plus de constituer une excellente pédagogie, constituent un vecteur de propagande efficace via l'Internet.
L'expérimentation est exacte. L'interprétation que l'on en fait sur le monde réel ne l'est pas. Les modèles sont décrits dans un langage formel facilement compréhensible. Les modèles se perfectionnent pour introduire de nouveaux indicateurs, de nouveaux objets, de nouveaux concepts économiques. L'utilisateur fixe des paramètres puis lance le modèle, procédant ainsi à une expérimentation exacte.
La physique statistique a pour but de déterminer les lois macroscopiques d'un système composé d'un grand nombre de particules, à partir des lois microscopiques régissants les interactions entre ces particules. Elle démontre les propriétés macroscopiques du système à partir de la statistique sur les propriétés microscopiques. Elle constitue maintenant la base théorique de la thermodynamique, et peut s'appliquer à beaucoup d'autres domaines. On l'applique ici pour étudier nos modèles dans lequel le rôle de la particule est remplacé par celui de l'entité libérale consommatrice et productrice.
Le modèle décrit de façon simpliste l'évolution économique d'une société. Les modèles vont mettre en avant certains indicateurs, et il y aura toujours plusieurs critères concurrents à optimiser, tel que ceux garantissant la fortune à tous, et à toutes les époques de la vie. Le modèle tourne avec le navigateur Mozilla Firefox :
Puis au delà du jeu, une résolution par tâtonnement en appliquant la méthode vectorielle de Newton est envissageable, et pourra donner des solutions pour chaque ensemble choisi de critères à optimiser. Ce projet informatique fait suite d'une première discution sur l'économie libérale, auquel on peut ajouter les contributions du groupe d'étude sur les monnaies.
Commençons par le simplifier en supprimant le travail (un modèle sans travailleur), l'écologie (sans contrainte écologique ni limitation des ressources), l'espace (pas de transport nécessaire), en usant d'une monnaie, en unifiant le bien (une seule sorte de bien) en unifiant l'outils de production (une seule sorte d'usine), en unifiant l'unité de temps (un bien périssable en une unité de temps, une usine périssable en 800 unités de temps), en supprimant les delais de construction d'usine (la construction d'usine demande seulement une quantité de biens et non de temps, mais elle peut accumuler dans le temps les biens nécessaires sachant que l'obsolescence programmée de l'usine commence dès le premier bien mis à sa construction), en unifiant la personne et le foyer en une entité consommatrice et propriétaire d'usines et de monnaie, en donnant la liberté de fixer le prix de vente, en instaurant un seul marché et une règle de mise en concurrence simple.
Le modèle se définit en deux chapitres de nature bien différente. Un premier chapitre matérielle qui définit les règles régissant les flux et transformations des biens et des usines ainsi que les règles du marché. Puis un second chapitre qui définit le comportement plus ou moins irrationnel des entités, qui dans le modèle le plus simple est au hasard.
Le modèle met en place un revenu universel pour permettre aux entitées non-productrice de subvenir à leur besoin. Mais cela ne suffit pas pour rendre cohérent le système, car les aléats du marché peuvent ne pas satisfaire les besoins minimums de certaines entitées. Il y a alors deux façon de procéder. Soit on agit avant le marché ou après le marché. Si on agit après le marché, on recourt au "Restau du coeur", c'est à dire que l'on pioche dans les invendus pour satisfaire les démunis. faut-il encore qu'il y ait assez d'invendus et de façon assez diversifiée, sinon c'est "Game over". Néanmoins cette solution n'est pas vraiment cohérente ni respectueuse en laissant les démunis se servir dans les poubelles. Dans l'histoire de l'économie française, les biens nécessaires par principe sont préalablement préemptés par le pouvoir régalien. On agit avant le marché. On met en oeuvre un second fonctionnement économique, pour satisfaire les démunis, en procédant par une préemption c'est à dire un achat par l'Etat avant tous le monde. Les acheteurs n'étant pas mis en concurrence, cette préemption peut être définit sans fausser le modèle économique libérale. Elle est mise en oeuvre en vue de satisfaire les besoins des entitées démunis, et si elle échoue c'est "Game over".
On developpe un langage de modèle, en même temps que l'on définit notre premier modèle et qui doit être le plus simple de tous. On utilise JavaScript et le framework jQuery. On utilise une programmation orienté objet. Toutes les variables et paramamètres qui définissent l'état du modèle à un instant et qui permettent de calculer son état à l'instant suivant, sont contenues dans un unique objet M qui représente le modèle à un instant donné.
La chose la plus importante et qu'il faut faire en premier dans la conception d'un programme informatique, est de bien nommer les variables selon une nomenclature pertinente. Il y a 5 catégories de variables :
L'interface web du jeu se présente sous la forme d'un tableau de bord composée de 6 zones :
Puis le perfectionnement du modèle se fera en ajoutant au noyau, une couche périphérique appelé extension du noyau, introduisant des règles d'évolutions de certains paramètres. Le noyaux possède un numéro de version sur deux chiffres. Pour une même version du noyau, il pourra exister plusieurs versions d'initialisateurs calculant l'état initiale du modèle, plusieurs versions de visualisateur proposant différentes statistiques et indicateurs de suivi, plusieurs version d'extensions du noyau, ainsi que plusieurs sous-version du noyau. On adopte la terminologie des noms de fichier suivantes :
mod-economie-liberale.00.html Présent texte mod-economie-liberale.00.htm Jeu mod-economie-liberale.00.N0.js Noyau mod-economie-liberale.00.E0.js Extension mod-economie-liberale.00.I0.js Initialisateur mod-economie-liberale.00.V0.js Visualisateur
Toutes les variables du noyaux ainsi que les paramètres sont regroupés dans une arborescence d'objets de racine M. La première variable à considérer est le temps T qui est un entier. Par soucis de simplicité, on nomme l'unité de temps, le jour, qui correspondra à un centième d'années réel c'est à dire à environ une demi-semaine dans le monde réel. On débute à 10 ans, pour bien rappeler que l'initialisation du modèle doit intégrer 10 ans d'histoire. On utilise l'opérateur "." pour définir les attributs d'une classe :
M.T=1000 // Temps exprimé en jours.
Une usine est caractérisée uniquement par sa date de début de construction exprimée en nombre de jours. Et toutes les usines possèdent les mêmes paramètres de durée de vie, de puissance de production de biens, et possède un coût de construction en nombre de biens. On regroupe les paramètres globaux des Usines dans l'object Usine :
M.Usine.V = 800 // Durée de vie en jours. M.Usine.W = 30 // Puissance de production en nombre de biens par jour. M.Usine.C = 2000 // Coût de construction en nombre de biens.
Une entité représente une personne ou un foyer. Chaque entité possède de la monnaie et plusieurs usines caractérisées uniquement par leur date de début de construction. Les comptes n'étant rarement entier, l'entité possède en plus une usine en cours de construction, caractérisée par la date de début de construction et le nombre de biens déjà utilisés pour sa construction.
Entite.F = 0 // Nombre de Franc que possède l'entité. Entite.U = [ ] // Liste des usines que possède l'entité. Entite.D = 0 // Usine en cours de construction, c'est sa date de début de construction. Entite.E = 0 // Nombre de biens déjà utilisé pour la construction de l'usine.
L'entité ne peut pas utiliser ses propres biens qu'elle produit. Elle doit les acquérir sur le marché, traduisant la diversité nécessaire des biens prévus pour la consommation domestique et pour la construction d'usine. L'entité vend au marché sa production, et les invendus étant périssables sont détruits. Et elle achète des biens sur le marché.
Entité.V = 0 // Nombre de biens mis à la vente. Entité.B = 0 // Nombre de biens achetés.
On regroupe les entités en une liste L comme suit que l'on rattache à notre modèle comme attribut, de tel sorte que le nom Entité, n'est plus utilisé. Ainsi M.L[i] désigne l'entité n°i :
M.L = [] // Liste des entités.
Un paramètre d'initialisation sera le nombre d'entités :
Init.N = 200
// Nombre d'entités. Init.U = 200 // Nombre d'usines
Au cours du jour précédent, on établit le prix moyen des biens qui ont été échangés (prix moyen d'achat). Cet indicateur correspond au cours de la vie. Il correspond à l'inflation d'un jour à l'autre.
M.Bm = 2.00 // prix moyen d'un bien le jour d'avant.
L'Etat détruisant et créant la monnaie à volonté, la masse monétaire en circulation n'est pas une variable du noyaux, c'est une donnée de la vue, et il faut considérer aussi celle initiale qui va servir à définir la distribution initiale de la monnaie entre les entitées :
Vue.F = 0 // Masse monétaire en circulation. Init.F = 0 // Masse monétaire initiale.
Il y a 4 formes d'imposition posées à taux fixes :
Au premier stade on ne propose que la TVA :
M.Tv = 0.2 // Taxe à la vente.
Il y a un nombre de biens journalier nécessaires pour assurer la vie des entités.
M.Min = 5 // Nombre de biens par jour nécessaires pour la vie des entités.
Le train de vie minimum est assuré par un revenu universel.
M.R = 8 // Revenu universel.
On applique les taxes et revenu universelle chaque jour. Et on applique une règle de gestion, à savoir, " Indexer le revenu universel sur l'inflation ", de telle sorte que le rapport entre le revenu universel et le prix moyen du bien le jour d'avant est constant et correspond au facteur d'aisance M.a. Ainsi le revenu minimum M.R est calculer à partir de ce facteur d'aisance, il est égale au produit M.R = M.a*M.Bm*M.Min.
M.a = 1.5 // Facteur d'aissance.
Chaque bien mis sur le marché qui n'est pas vendu est détruit car périmé. Ce surplus invendu le jour d'avant est comptabilisé dans la variable Vue.I. Les aléas du marché fonts que certaines entités même munis d'un revenu minimum peuvent de pas subvenir à leur besoin, le nombre de biens donnés pour subvenir à ces entitées est comptabilisé dans la variable M.Rc. Le premier modèle s'en tient à ce mécanisme appelé "Restau du coeur".
Vue.I = 0 // Nombre de biens invendus. M.Rc = 20 // Nombre de biens nécessaires aux démunis.
A ce stade, il n'y a pas d'activité banquaire autre que la politique monétaire de l'Etat, qui crée et détruit la monnaie à volonté.
On définit le comportement journalier au hasard des entités. Chaque entité dépense une partie de sa trésorerie, un pourcentage au hasard, pour l'achat de biens, et après avoir acquis les biens, en utilise une partie aléatoire mais au minimum M.Min biens pour son train de vie, le reste étant consacré à la construction d'usines. Puis elle fixe le prix du bien produits par ses usines. Elle choisit un prix au hasard compris entre 1/2 et 2 fois le prix moyen du bien le jour d'avant. Noter que le seul hasard ainsi défini ne modifira pas le prix moyen d'un jour à l'autre.
Entite.A = 0 // Nombre de francs engagés pour l'achat de bien. Entite.C = 0 // Nombre de biens utilisés pour la construction d'usines. Entite.P = 0 // Prix de vente des biens qu'il produit.
A ce stade, le prix moyen du bien est de tendance constante en toute circonstance.
Néanmoins dans ce premier modèle un perfectionnement est encore nécessaire. Il convient de redresser les entités productrices hors jeu, c'est à dire ayant recours au "restau du coeur". Cela se produit lorsque l'entité propose un prix de mise en vente vraiment trops faible, ou bien un prix de mise en vente vraiment trop fort entrainant trops d'invendus. La règle de gestion est alors la suivante : L'entité demunis est redressé en lui imposant un prix de mise en vente égale au prix moyen d'achat.
L'entité ne peut pas utiliser ses propres biens qu'elle produit. Elle doit les acquérir sur le marché, traduisant la diversité nécessaire des biens prévus pour la consommation domestique et pour la construction d'usine. L'entité vend au marché sa production, et les invendus étant périssables sont détruits. Et elle achète des biens sur le marché.
L'entité décide d'une somme d'argent prévue pour l'achat de biens sur le marché, et elle achète les biens un par un jusqu'à épuisement de son budjet prévisionnel, et plus précisément jusqu'à rencontrer un échec dans lequel faute de budjet l'entité na pu acheter aucun bien. Chaque achat se fait en choisissant parmis 3 offres au hasard, la moins chère. Ce facteur que l'on nomme Concurrence fait partie de l'aspect comportemental de l'entité :
M.Concurrence = 3 // Nombre d'offres mis en concurrence.
Cet achat un par un des biens traduit la nécessité de diversité des biens achetés pour la consomation ou la construction d'usine. Néanmoins le processus capitaliste entrainant une croissance exponentielle, on va vite arriver à de grande quantité de biens et donc à une saturation du calcul, qui de surcroit n'est pas justifié par la théorie. On part du principe simple que la nécessité de diversité des biens ne change pas globalement. Ainsi la règle d'achat d'un bien par un bien reste valable si la quantité prévisionnelle de biens achetés par l'entité, qui vaut A/Bm, ne dépasse pas un plafond de 10 biens, où ce nombre 10, traduit la nécessité de passer par le marché pour acquérire une variété de biens de 10 natures différentes. Et si la quantité de biens prévisionnelle est plus grande, il faut alors considérer les achat par lots de A/(10*Bm) biens. Ce facteur fait partie de l'aspect matériel de l'économie :
M.Diversite = 10 // Diversité des biens imposée.
Ainsi, même si le nombres de biens crois exponentiellement, cela n'augmentera pas la charge de calcul, et cela respectera le principe d'une demande d'une grande variété de bien précisé par le facteur Diversite, nécessitant le passage obligé par le marché.
Chaque objet possède un ensemble d'attributs formant un espace de noms :
|
|
L'initialisation doit se rapprocher à ce qu'aurait produit une évolution du modèle pendant une dixaine d'années. On le fait aproximativement en respectant certaine règles :
L'itération, c'est à dire le calcul de l'état du modèle à l'instant suivant, se fait en 6 phases :
1- Capture des paramètres.
2- Pour chaque entité :
3- Tant qu'aucune des deux listes n'est vides
4- Vérifier que les invendus et que leur diversités suffisent à satisafaire les démunis, sinon "Game over".
5- Fixation de la quantité de biens prévus pour la construction d'usine.
6- Construction d'usine.
Ce premier modèle n'est pas capitaliste dans le sens où les entités ne se comportent pas dans le but d'accroitre leur capital, mais de façon irrationnelle au hasard. Pour le rendre capitaliste, on introduit une logique de recherche de profit maximum. L'entité décide du prix de vente selon un critère d'optimisation des gains, qui peut s'établir de manière empirique comme suit : Il calcule sur les derniers jours le rapport entre le prix donné et le gain, pondéré par le nombre de bien mise à la vente, et calcul l'optimum par prolongation selon la méthode des différences finies. L'introduction de ce comportement parmi les entités va modifier l'évolution du modèle, et va déterminer une tendance du prix moyen du bien dépendant de la situation économique, il va donc changer le sens des notions économiques, passant du mode comportemental non-capitaliste au mode comportemental capitaliste. Et il va ainsi leur donner un sens plus proche de la réalité.