Category Archives: selfishness

Simulating Utopia: Computer Models and Ideology

Simulation models are always used to make predictions about weather and climate change. Most people know such models exist but relatively few have ever played with them.

Well. Not exactly. Every computer game on the market is a simulation model.

I’ve used simulation models to illustrate a few points over the years. The models themselves are simple enough to describe at an abstract level. What I found surprising was the way people responded to them. The responses gave me some insights into how people respond to logic and evidence in the context of their own emotional and ideological desires.

In this comment the NetLogo online simulation system can illustrate all the points we need to make.

http://ccl.northwestern.edu/netlogo/

Netlogo is made up of many simulation models which cover all aspects of the modelling world. It is written in “logo” which is easy to learn. Everything is open source so the actual code is always available for examination. There are two general categories of models. The first is written by the Netlogo team and the second is contributed by users in the Netlogo community. Netlogo can either be run online or downloaded and run offline.

Simulation models have four major levels or layers. The first is the mathematical or logical relationships of whatever is being simulated. Here is where we find the basic elements of the model as well as the mathematical or logical expressions which tell us how these elements relate to one-another. In “predator-prey” models, the elements are “predator” and “prey” and the relationships include how the prey survives in the environment and how the predator survives by killing and eating the prey. The words “predator” and “prey” are only labels and the mathematical relationships are also just “labelled” as “survival” or “death”.

The next level translates these concepts into computer code. In this case “logo” code.

The third level is the pattern of pixels on the computer screen which presents the user interface. Here the users (those who are going to play the game or run the simulation) are given two basic features. First is a set of sliders or buttons which will set up and run the simulation as well as allowing some of the computer code to be modified so as to change the initial conditions of the model.

The fourth level is the actual execution of the model. As it runs the screen display changes. We can watch what our modifications to the default initial conditions do to the patterns on the screen. This is also where the human operator’s emotions and assumptions are most interestingly revealed.

This example will be illustrated with the “altruism/selfishness” game.

To run it, go to “File->Model Library->Social Science->Altruism”. You should see this screen.

Altruism-Netlogo-Initial

After running for a few seconds this is the display you should see.

Altruism-Netlogo-Default

We see the entire population is now comprised of “selfish” individuals.

Now move the “cost of altruism” slider to 0.04, click “setup” again, and click “go” again.

You should have a screen like this:

Altruism-Netlogo-Threshold

Any setting above this level results in the total triumph of “selfishness”. This setting is the boundary which separates the emergence of an “altruistic” from a “selfish” society.

What is interesting is the reaction of the people watching it for the first time. When they see the default situation unfold there are expressions of dismay and dissatisfaction. As the slider (the only one we change at all) is moved closer and closer to the threshold the mood gets more gloomy. When the threshold is approached some oscillations occur which gives a roller-coaster ride for the emotions. Finally, when the “altruists” triumph, there are cheers.

At this point the fact the model itself only has a few hundred lines of code, the logical compromises made to convert the various relationships being modelled into digital relations, the arbitrariness involved in the creation of the ecosystem itself, and even the wisdom of the labels “selfish” and “altruism” are all forgotten.

Some even take this demonstration as proof of the possibility of a better world for people. Using such simulations will allow the engineering of some kind of utopia.

Others start to ask if tweaking the environmental factors so as to eliminate all of those labelled “selfish” is a form of “genocide”.

The fundamental reality of all this still remains the same. We are watching the way pixels change from green to pink or pink to green because of some underlying computer code.

Lost (until much later in the discussion) are the questions:

Do the constraints imposed by “Logo” faithfully represent the constraints in social reality?

Do the elements in the simulation faithfully represent elements in society?

Do the relationships as modelled in the simulation (their interactions and stability) faithfully represent the society we are trying to model?

Do the emotionally and morally charged terms “altriusm” and “selfishness” influence the way we respond to the ways in which the pixels switch from pink to green or green to pink?

Going further we can ask questions about the online gaming world itself. It is well known that some people become addicted to playing computer games. One person I know personally played “Warcraft” at least eight hours each day for six months. He quit before he wrecked his chances to graduate.

We take our fantasies, our computer games, and our utopian dreams very seriously.

We should ask ourselves about the social utopians in our midst, those who are going to use social engineering to “make the world a better place”, and ask ourselves if each of us is on the verge of becoming little more than a pixel in their imaginations.

Computer games don’t just allow us to appreciate the intricacies and complexities of complex systems. They don’t just allow us to see the world around us as a complex system in its own right.

Computer games also allow us to see how our wishes and fears can be used to shape what we see.