© Copyright JASSS
Shai Ophir (1998)
Journal of Artificial Societies and Social Simulation vol. 1, no. 4, <http://jasss.soc.surrey.ac.uk/1/4/5.html>
To cite articles published in the Journal of Artificial Societies and Social Simulation, please reference the above information and include paragraph numbers if necessary
Received: 10-Aug-98 Published: 15-Oct-98
Forum Editor's note: We publish the following as interesting work in progress. Comments may be made directly to the author by email. At the end of the article is a link to the program code (in C) used to generate the results.
This paper describes a very simple simulation program which provides some surprising results. Four different ideologies are represented by agents: Socialism, Marxism, Altruism and Capitalism. The agents interact along generations, through an evolutionary process and the fittest survive. The simulation does not pretend to model the complexity found in real life. Even the above set of the four ideologies does not reflect the situation in our western society, where most of the population believes in strong or weak Capitalism. The simulation does also not pretend to state which is the "best ideology". However the results may shed some light on evolutionary processes in the human society.
Artificial Life, Artificial Societies, Survival Strategies
Setting the Simulation Model
- The simulation creates an economic society in an equilibrium state. In phase 1 of the experiment there are no rival strategies, and the goal was to create a stable environment with a normal distribution of the population according to their resources.
- The model begins with 1000 creatures. Each creature is equipped with a random sum of money (between 0 and 100) and a random talent (between -100 and 100). The age of each creature is also randomly set (30-100) -- children will be generated later on. (Note: all constants in the program, such as the initial number of agents, the initial resources etc., are user-defined).
- The simulation is run through the generations. Every year the following events take place:
- Marriage and birth:
If the creature becomes 30 years old, it looks for a mate, randomly. If there is a match, based on property and talent (the gap shouldn't be too large) then a marriage takes place, and the couple share their accumulated property equally. At this point, their children arrive (they will have between 0 and 5). The children immediately receive half of the family property.
If the creature has reached its death age (randomly set between 60 and 100) it passes away. Its property is inherited by the family: half for the spouse, half for the children.
- Annual update of resources:
Every year, the amount of property of every creature increases or decreases. The rate of change is calculated according to its talent. The formula is:
annual profit = talent in the power of 2 / constant * the sign of the talent (+ or -)
The sign ensures that in case of a negative talent, the profit will be negative too. The constant value was 10. For example, if the talent is -20, the annual change is (-20)*(-20)/10*(-1) = -40.
- The simulation is run 20 times. Each run lasts for 250 years. In all runs the result was similar: after about 100 years stability reached. I took the highest and the lowest property of a single creature, and divide the range into 20 classes. After about 100 years the creatures populated the classes according to an approximately normal distribution, and this situation remained stable until the simulation ended.
- The following graph shows the average of the results of the 20 sessions:
Adding Ideology Strategies
- After achieving a stable economic platform, the ideological experiment was started. The creatures were divided into four categories: Capitalism, Socialism, Altruism and Marxism. Each category was divided into three sub-categories, representing slight variants of the ideology. The number of creatures in each category was identical.
- In order to implement the evolutionary mechanism, the following rule was applied: the creature passes away when it has no more resources.
- The four ideologies and their sub-ideologies differ in the actions their creatures perform every year. Some of the actions involve a transaction of a sum of money between agents. The amount of this sum was 5 in this experiment.
|Capitalist1||no additional action (let the strong survive)|
|Capitalist2||find a creature with less talent & property and take some money (5) from it|
|Capitalist3||find a creature with more talent & property and take some money (5) from it|
|Socialist1|| in the case of an annual loss, find another socialist and obtain some help (5)from it|
|Socialist2|| same as Socialist1, with a double sum of money (10)|
|Socialist3|| same as Socialist1, but the help will come from any non-capitalist creature|
|Altruist1|| in case of annual profit, find a creature which needs help and give it money (5)|
|Altruist2|| same as Altruist1, but give it a half of the annual profit|
|Altruist3|| same as Altruist1, but give it all your annual profit|
|Marxist1|| find another Marxist and share the annual lost/profit with it|
|Marxist2|| same as Marxist1, but a 1/3 of the profit will be contributed to the public|
|Marxist3|| same as Marxist2, but with any random creature (enforcing marxism...)|
- The simulation was run 20 times, and each run lasted 250 years. Every run took one night to run: the machine becomes very loaded after about year 150.
- For each experiment, for each one of the 12 strategies, the ratio of surviving creatures was calculated. The ratio is the percentage of surviving creatures to the total number of creatures created for the specific ideology. The initial number of creatures was identical for all strategies in the same experiment, but differed from one experiment to another due to several environmental factors.
- Finally, the average ratio was calculated for the 12 strategies, and following are the results:
The results clearly show that capitalists survive the worst, while altruists survive the best.
|Score||Ideology||Percentage of surviving creatures|
| 1||Altruist3|| 24.45%|
| 2||Marxist2|| 23.81%|
| 3||Altruist2|| 23.69%|
| 4||Marxist3|| 23.64%|
| 5||Marxist1|| 23.36%|
| 6||Altruist1|| 23.29%|
| 7||Socialist1|| 22.28%|
| 8||Socialist3|| 21.81%|
| 9||Socialist2|| 21.70%|
|10 || Capitalist2||21.52%|
|11 || Capitalist3||21.41%|
|12 || Capitalist1||21.07% |
- If we sum up the results for each one of the four ideologies and calculate the average we obtain the following:
|1|| Altruism|| 23.81%|
|2|| Marxism|| 23.60%|
|3|| Socialism|| 21.93%|
|4|| Capitalism|| 21.33%|
- Another set of experiments was undertaken in order to examine the time-dependent distribution of the different ideologies. The simulator was modified in order to provide snapshots of intermediate results. The simulator ran for 20 sessions, each of 200 years. The data was analyzed in the same way as described in the previous section.
The following table shows the simulation results at five different points of time. (Cap = Capitalist, Soc = Socialist, Alt = Altruist, Mar= Marxist)
|Score||After 40 years ||After 80 years ||After 120 years ||After 160 years ||After 200 years|
| 1||Soc2 96.96%||Mar3 67.59%||Cap2 46.34%||Alt1 35.77%||Soc1 29.95% |
| 2||Alt2 96.96%||Soc1 67.52%||Soc1 42.72%||Soc3 34.21%|| Mar3 28.72%|
| 3||Soc3 90.90%||Cap3 67.52%||Soc3 38.40%||Mar1 34.19%||Alt1 28.31%|
| 4||Soc1 90.72%||Mar2 57.87%||Alt1 38.37%||Alt2 33.66%||Alt2 26.67%|
| 5||Cap3 88.88%||Cap2 57.87%||Mar2 38.37%||Soc2 32.08%||Cap3 25.85%|
| 6||Mar3 84.84%||Cap1 56.80%||Mar3 36.95%||Cap1 31.56%||Alt3 25.85%|
| 7||Mar1 84.67%||Alt3 55.79%||Alt3 35.50%||Soc1 31.03%||Soc3 24.62%|
| 8||Alt1 84.67%||Soc2 55.73%||Mar1 35.48%||Mar3 30.52%||Mar1 23.38%|
| 9||Cap1 76.61%||Soc3 50.42%||Cap3 34.78%||Cap3 29.27%||Cap1 22.96%|
| 10||Alt3 74.74%||Alt2 48.23%||Alt2 34.75%||Cap2 28.93%||Cap2 22.56%|
| 11||Mar2 72.72%||Alt1 48.23%|| Soc2 34.03%||Alt3 25.26%||Mar2 22.15%|
| 12||Cap2 72.58%||Mar1 40.72%||Cap1 33.30%||Mar2 24.19%||Soc2 21.33%|
A clearer view of the results is given by calculating the average of the sub-ideologies for each major ideology:
|Score||After 40 years ||After 80 years ||After 120 years ||After 160 years ||After 200 years|
| 1||Soc 92.86%|| Cap 60.73%||Soc 38.38%|| Soc 32.44%||Alt 26.94% |
| 2||Alt 85.45%|| Soc 57.89%||Cap 38.14%||Alt 31.56%||Soc 25.30%|
| 3||Mar 80.74%||Mar 55.39%|| Mar 36.93%||Mar 29.63%||Mar 24.75%|
| 4||Cap 79.35%||Alt 50.75%||Alt 36.20%||Cap 29.27%||Cap 23.79%|
- The results show that Altruism survives much better than Capitalism after 200 years, . This conclusion is consistent with the results of the first session of experiments. Examining the time-dependent evolution of strategies, we see that Capitalism is doing much better than Altruism after 80 years. Then its performance declines, and after 160 and 200 years it becomes the worst. Altruism is located in the worst place after 80 and 120 years, but then it reaches the second place after 160 years and the first place after 200 years!
- As for Socialism and Marxism, they keep a certain level of stability. Socialism is always located in places 1 or 2 and Marxism in place 3. Is this an indication of the better equilibrium in human society that can be achieved under a Socialist policy?
- I did not refer to the situation after 40 years since the high percentage surviving show that evolution did not play a major role in the first 40 years, and most cases of death were natural. The percentage surviving depends on time. After 40 years the figures are around 80-90% while after 200 years they are around 25%. The rate of decrease shows a convergence toward 15-20%. However this is irrelevant to my conclusions since the relative position of ideologies within each time slice is the important fact.
- Does this mean that evolution will finally lead us in a less capitalist direction? At this point it is hard to evaluate the contribution of social simulation to our knowledge. I believe it will drastically change the way social scientist work, turning social science into an empirical science, where hypotheses can be tested using experiments, just like in Physics.
- The simulator can be enhanced and developed to reflect more complicated situations and relations between creatures. Here are few examples:
- Calculate annual lost/profit based on current property (money goes to money).
- Update the talent of creatures along the years (through an evolutionary mechanism).
- Exchange relations between the creatures, loans etc.
- An interesting experiment would be to increase or decrease the initial number of creatures for a specific ideology, and test the effect it may have for other groups and for the system in general. However such an experiment requires a more detailed analysis of the status of the system and the creatures, beyond an indication of whether the creature is dead or alive.
Simulator Source Code
- The simulation program is very simple in comparison with large software packages, such as SWARM (described in the Forum section of JASSS Vol 1, no 2). However the gap between these two simulators is much smaller than the gap between SWARM and the complexity found in a real life system. I believe that "home-made simulators" can also contribute to a new science of empirical sociology.
- The program is written in C, running on a VAX/VMS V5.2 system. With slight modifications it can run on either computers with the Unix operating system or on PCs with a C compiler installed.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 1998