Automate cellulaire "My Neighbor is Rich"
L'automate cellulaire 2D librement inspiré de la "lutte des classes" que je décris ci-après me paraît intéressant.
- chaque cellule a sa richesse, nombre réel initialisé aléatoirement entre 0 et 1.
- l'évolution de chaque cellule (i, j) se fait comme suit :
- on compte le nombre p de voisins de (i, j) nettement plus pauvres que (i, j) (pour être considéré comme nettement plus pauvre, il faut que la différence des richesses dépasse un certain seuil D) ;
- si p dépasse un certain seuil P, alors ["REVOLUTION"] ces p voisins pauvres se révoltent et volent à (i, j) une proportion R de sa richesse ; ils se la partagent au prorata des différences de richesse relativement à (i, j) ;
- sinon, ["AGRAVATION DES INEGALITES"] (i, j) garde l'essentiel de sa richesse mais paye un impôt proportionnel à sa richesse (coefficient I) à chacun de ses voisins plus riches que lui.
Le tableau ci-dessous donne un aperçu du résultat pour quelques valeurs de paramètres :
- dimensions de la grille fixées à 128 x 128,
- D = 0.4 (si la différence de richesse dépasse 0.4, le voisin plus pauvre est mécontent)
- P varie de 0 (révolution permanente partout) à 9 (jamais de révolution nulle part, puisque personne n'a 9 voisins, a fortiori 9 voisins mécontents),
- I = 0.01 (1% d'impôt),
- R varie de 0.0 à 1.0 par pas de 0.05,
- même configuration "aléatoire" initiale pour toutes les cases (seed du générateur aléatoire de nombres fixée arbitrairement à 1)
- n = 5000 itérations
- couleur sombre = pauvre, rouge = classe moyenne, jaune = riche
|
P = 0 |
P = 1 |
P = 2 |
P = 3 |
P = 4 |
P = 5 |
P = 6 |
P = 7 |
P = 8 |
P = 9 |
| R = 0.0 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.05 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.1 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.15 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.2 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.25 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.3 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.35 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.4 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R = 0.45 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.5 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.55 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.60 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.65 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.70 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.75 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.80 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.85 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.90 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=0.95 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| R=1.0 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
Quelques évolutions macroscopiques remarquables
Formation de ghettos de riches en petits carrés
- D = 0.4
- P = 3
- I = 0.01
- R = 0.22
| n = 1000 |
n = 2000 |
n = 5000 |
n = 10000 |
n = 50000 |
n = 100000 |
n = 200000 |
 |
 |
 |
 |
 |
 |
 |
Formation de hachures (clignotantes)
- D = 0.4
- P = 1
- I = 0.01
- R = 0.80
| n = 1000 |
n = 2000 |
n = 5000 |
n = 10000 |
n = 50000 |
n = 100000 |
n = 200000 |
 |
 |
 |
 |
 |
 |
 |
Formation de ghettos de riches en larges bandes
- D = 0.4
- P = 0
- I = 0.01
- R = 0.20
| n = 1000 |
n = 2000 |
n = 5000 |
n = 10000 |
n = 50000 |
n = 100000 |
n = 200000 |
 |
 |
 |
 |
 |
 |
 |
Les bords comme refuge des riches
- D = 0.4
- P = 6
- I = 0.01
- R = 0.55
| n = 1000 |
n = 2000 |
n = 5000 |
n = 10000 |
n = 50000 |
n = 100000 |
n = 200000 |
 |
 |
 |
 |
 |
 |
 |
Programme sur GitHub
https://github.com/Loutcho/automate.git(MyNeighborIsRich).
LR, 08/05/2023.