© Copyright JASSS

  JASSS logo

Simulating Society - A Mathematica Toolkit for Modeling Socioeconomic Behavior

Richard J. Gaylord and Lou D'Andria
New York, NY: TELOS/Springer Verlag
Cloth: ISBN 0-387-98532-8

Reviewed by
Rainer Hegselmann
Institut für Philosophie, Universität Bayreuth, Postfach, D-95440, Bayreuth, Germany.

of the book Right at the beginning of the introductory chapter, the authors state that their book has a two-fold purpose:

  1. "To demonstrate the ability of computers to create simulations of the behavior of people in social and socioeconomic situations, to people interested in human behavior ..."
  2. "To provide people with computer-based tools that will allow them to carry out their own computer simulation studies of whatever socioeconomic phenomena interest them."

To an extent, the first purpose has already been successfully achieved by the enormous amount of simulation and modelling work done over the last decade. However, there are still strong reservations about modelling and simulation in almost all social sciences.

'Simulationists' will have to remove those reservations by making major contributions to the solution of central problems and striking puzzles in their disciplines. From that perspective at least, a lot of work is yet to be done.

As to the second purpose of the book, it is certainly true that there is a shortage of flexible tools which allow researchers to concentrate on the social science of their simulations (instead of working on memory management and problems with graphical output). The book under review contributes to a solution for that problem. It is, as the subtitle says, "a Mathematica tool kit". Consequently, the focus of the book is on how to do it with Mathematica. The models in the book are basically two dimensional cellular automata. What the book is about therefore is, how to do cellular automata based modelling of social dynamics with Mathematica. One of the two authors, R. J. Gaylord, has already published a book on this topic (Gaylord and Nishidate 1996).

The book has six chapters and three appendices. The latter contain a basic overview of working with Mathematica. Appendix A gives a short introduction to the general structure of Mathematica programming. Appendix B explains certain features of Mathematica (like lists and matrices) which are essential for modelling Cellular Automata. Appendix C is devoted to graphics and computational efficiency issues. Central graphic commands and functions are demonstrated. For built-in functions of Mathematica (like "nest" and "nestlist") alternatives are developed which economise on memory and allow for more flexibility. The three appendices thus allow the authors to concentrate on dealing with the social scientific core of their models in the main chapters.

Each chapter starts with a brief intuitive description of the process to be modelled. The main body of a chapter is a stepwise development of the Mathematica program. At the end of a chapter, the authors suggest some simulation projects for the reader. The common structure of almost all the models is that individuals move about on a checkerboard and interact when facing one another. Interaction may consist in influencing each others beliefs, attitudes and opinions or in playing games, especially Prisoner's Dilemma games, which have somehow become the E. coli of interaction studies for many social scientists.

Chapter 1 introduces the basics of the model. Individuals move about simultaneously on a two dimensional rectangular grid. Not all sites are occupied. Moving is local and permitted only to empty adjacent cells in the north, south, east or west. Since simultaneous moves may cause collisions, a set of rules is worked out which prevent individuals from moving onto the same site. Technically this is realised by assigning facing directions (north, south, east or west) to all individuals. These are used to identify impending collisions and then change randomly to avoid deadlocks. Each period involves two partial periods: the moving and interacting steps. Interaction is again local and takes place within a certain neighbourhood. Two types of local interactions are considered: bilateral interactions between those individuals facing one another at adjacent sites and multi-lateral interactions which take place with all surrounding individuals defined, for instance, in terms of a 3 x 3 Moore neighbourhood. The whole system evolves in discrete time steps.

While chapter 1 is basically devoted to modelling and programming individuals which move, chapter 2 equips these individuals with attributes which then change as a result of social interactions. The attributes considered are cultural memes, represented by a meme list, with each component having an integer value taken from a predefined interval. In a first variant of the model, individuals will adapt one of the different memes of a facing other. That will happen with a probability which is higher the more meme values the facing individuals already share. Who adapts to whom is a matter of chance. In further models, exchange of meme values depends on similarity of the values of randomly selected memes in the meme list or on social status which is added as a third feature of an individual in addition to facing direction and the meme list.

In chapter 3, the moving individuals encounter Prisoner's Dilemmas (PD). In addition to the standard strategies of co-operation and defection, they also have the option to refuse to interact (Stanley et al. 1993). In a first variant, the individuals are given memories so they know who has turned out to be a defector in the past. If facing an identified defector, they refuse to interact. Opting out is the only sanction which exists in the system and it is not costless. When they are not refusing to interact, 'good' agents will always co-operate while 'bad' ones always defect. In a second variant, good agents will not only co-operate but, when facing one another, exchange their lists of bad agents. In a third variant, individuals do not have memories but they have a limited capability to detect the dispositions of other players by the unintended signals they emit: cunning looks, facial expressions, and body language in general.

In chapter 4, mobile individuals again face the Prisoner's Dilemma. Besides the strategies of invariable defection and co-operation, two conditional strategies are introduced: tit-for-tat and mean-tit-for-tat. The latter starts with a defection (rather than the co-operation in the standard tit-for-tat) but is otherwise identical in responding with the same strategy which the other player used in the previous encounter. Though moving about, individuals are again able to identify each other and record past experiences of interaction. In a second variant, individuals keep co-operating or defecting as long as their payoffs meet a certain aspiration level. In each period, there is a certain probability that the attainment of this aspiration level will be monitored. If the aspiration level is not met, individuals will change their strategies.

Chapter 5 develops a model along the lines of Schelling's (1971) simulations of segregation. Individuals have a certain number of attributes which are represented by integer values. If an individual's neighbourhood is not similar enough in terms of attributes, then that individual will migrate. Moving works in the same way as in previous chapters: agents attempt to follow a randomly chosen facing direction, subject to the restriction that collisions are prevented and agents can only move to empty sites. In a second variant, the individuals do not look for similarity but become more similar by 'moving towards' the average attribute values in their neighbourhoods.

Chapter 6 gives up locality of both interaction and movement. Instead, individuals interact with their friends who can live anywhere on the grid. (Friendship is assumed to be a symmetric relation.) In the same way as described in chapter 2 and the second variant in chapter 5, cultural adaptation takes place. In a further variant of the model, individuals differ in social status. In this case, the memes of friends with the highest status are taken over. With respect to non local migration (moving to distant rather than adjacent sites), a Schelling like model is presented in which two different types of individuals move to locations where they have at least 50% of neighbours of the same type.

This book is extremely valuable for anybody who wants to develop cellular automata based models of social dynamics using Mathematica. The reader will find carefully worked out, transparent and well explained procedures for moving, pairing neighbours in bilateral interaction and evaluating neighbourhoods. (All these procedures are indispensable to modelling of this kind so considerable labour is saved.) The style of the book is quite comfortable and reader friendly and all the code is also found on the CDROM which accompanies the book. The reader will also find lots of ideas about how to bypass typical stumbling blocks in (though not only in) cellular automata based modelling, for example, how to represent the abstract structure of individuals and keep track of their actual location on the grid. In short, this book provides an excellent introduction to using Mathematica in cellular automata based modelling of social dynamics.

At this point someone might argue: "OK, the book demonstrates that one could do cellular automata simulations with Mathematica but why should one?" Indeed, up till now Mathematica has not been particularly widespread in the social and behavioural sciences. The situation is somewhat better in economics where useful coverage is provided by Varian (1993). However, the fact that Mathematica is not that well known and used among social scientist is not an argument against the book under review, rather it suggests that social scientists should change in their own interest. Mathematica is much more than a programming language (compared with other languages like C++ or Delphi) which allows us to develop and run cellular automata models. Mathematica is probably a more revolutionary change in doing (and especially applying) mathematics than the slide rule or any similar instrument in the mathematical tool that has been developed so far. With its built-in functions, Mathematica provides all of us with the capabilities for applying mathematics and solving mathematical problems which would otherwise require us to have the skills of someone like John von Neumann! Anyone who is interested in understanding and analysing our world using mathematics would be well advised to take the time to learning Mathematica. This learning will pay off, though it will take more time than advertisers promise. For social and behavioural scientists, the book under review could be a fairly good starting point.

So far, we have considered what the book is about and what it is good for. However, there are some expectations which it will disappoint. For example, there is no in depth analysis of the models which are developed. But, since it is a Mathematica tool kit, the book understandably does not intend to do so. It is less understandable that the authors do not explicitly introduce the concept of cellular automata as was done in Gaylord and Nishidate (1996). Making it clear that CA based modelling in the social sciences is a partial answer to same type of problem (understanding the dynamics of large numbers of particles with repeated local interaction) that made it attractive for natural scientists would have been helpful. Social scientists would then suspect that they could probably learn from was has already been done in the natural sciences. As the book stands, one sometimes has to know what CA are already, in order to understand what the authors mean. Differences of updating procedures are not discussed, though for effective CA based modelling it is important to know about these. The same is true for the discussion of different boundary conditions. One dimensional cellular worlds should have been considered as well. A discussion of three dimensional cellular worlds would also have allowed at least a brief discussion of what might be meant in a given context by the application of the KISS ("Keep it simple, stupid") Principle. As it is, readers are introduced to this important principle by a parenthesis. The authors link their project (with no more than few remarks) to the research program characterised by key words like "agent-based" or "bottom-up". In their introductory remarks, they imply that agent based or bottom up modelling is confined to interactions without central authority. This is misleading since one could (and should) try to build bottom-up models for the emergence of authorities or hierarchies. Doing this might even be considered one of the major tasks of the approach (Glance and Huberman 1994). More generally, the authors did not put their book into the perspective and tradition to which it belongs, that of CA based modelling. Consequently, there are almost no references to the rich body of literature applying these techniques in the natural and social sciences.

It should be noted that my critical remarks do not diminish the books considerable value as an introduction to the use of Mathematica for CA based modelling of social dynamics. That the authors were able to write a book which so excellently performs that task may owe something to their disciplinary background in the natural sciences. The whole book should be taken as one of the first steps in a joint venture in which natural and social scientists work together to develop a mutual understanding of social dynamics. I conclude with a speculation about why it has become more and more common that physicists (in particular) should turn to social sciences. At the end of this century, physicists have find themselves in possession of extremely high developed methods, but their problems have become a bit boring. Social scientist have much more interesting problems, but their methods have not reached a comparable stage of development. Even if only a few of the methods which have proven so successful in understanding nature turned out to be useful in understanding society, 'cross cultural' co-operation would be well worth a try.


GAYLORD R. J. and K. Nishidate 1994. Modeling Nature - Cellular Automata Simulations with Mathematica. New York, NY, Springer Verlag.

GLANCE N. S. and B. Huberman 1994. Organisational Fluidity and Sustainable Cooperation. In K. M. Carley and M. J. Prietula, editors, Computational Organization Theory. Lawrence Erlbaum Associates, Hillsdale, NJ.

SCHELLING T. C. 1971. Dynamic Models of Segregation. Journal of Mathematical Sociology, 1:143-186.

STANLEY E. A., D. Ashlock and L. Tesfatsion 1993. Iterated Prisoner's Dilemma with Choice and Refusal of Partners. In C. G. Langton, editor, Artificial Life III: Proceedings of the Workshop on Artificial Life, Santa Fe, New Mexico, June 1992. Addison-Wesley, Redwood City, CA.

VARIAN H., editor, 1993. Economic and Financial Modeling with Mathematica. New York, NY, Springer Verlag.

ButtonReturn to Contents of this issue

© Copyright Journal of Artificial Societies and Social Simulation, 1998