Time, February 23, 1950


Human Complex Systems 110
Experiments in Synthetic Social Science
Winter 2006

Schedule of Classes
Social Sciences Computing - ClassWeb

Nicholas Gessler


Computer Models of Cultural Evolution

"In times of fear people turn to fundamentalist mindsets, and I don't mean that only in terms of religion. There's economic fundamentalism; there's political fundamentalism, and so forth. And that's really a reducing of the complexity to very clear black versus white, right versus wrong, issues. When that happens, it is very easy for people to take stark, and harshly polarized, points of view and simply lob bombs back and forth at one another verbally. I think there is no question that that is, to some extent, the nature of the discourse in this country right now. And I long to have us move to an understanding of the complex nature of these things."
Rushworth Kidder (President, Institute for Global Ethics).
Radio Interview, "The World," November 22, 2005

The 13th Floor

Dark City

Theory and Methods - 5 Units

Lecture, 2 hours;
Laboratory, 4 hours.

  • Lab: Tu/Th 10-12:45
  • CLICC PC Classroom "B"
  • Powell 320B

An Introduction to Complexity and
the Computational Social Sciences.

what participants have said...

If our goal as social scientists is to describe, understand and explain cultural complexity, then we should become fluent in representing cultural phenomena computationally. Unlike natural languages, in which you can express relationships in only vague ways, computational languages force you to express relationships more concretely. Moreover, unlike natural languages, in which we can only reason in a limited way about the complex relationship of relationships, computational languages enable us to precisely calculate the consequences of this complex reflexivity. Additionally, the richly growing field of evolutionary computation harnesses the creative power of natural evolution, exploring the space of possible pasts and possible futures for any given culture at any time. We model culture change as a dynamic complex system in constant adaptation to its social and physical environments.

The Use of Complexity Science
A Report of the U.S. Department of Education

"The challenges of the 21st century will require new ways of thinking about and understanding the complex, interconnected and rapidly changing world in which we live and work. And the new field of complexity science is providing the insights we need to push our thinking in new directions."

On Thursday, we will jump right into programming in CLICC! Why not? Please come with at least 10 floppies, 1 ZIP disk or USB keychain, a BOL account and a printer account. We will try to finish this first "challenge" (assignment) in class. Be prepared for details, details, details... Also bring $20 for a course reader.


As part of the new Human Complex Systems Program, we will take a critical look at the cutting-edge of theory-building in the social sciences informed by hands-on practice in the revolutionary "new sciences of complexity." We will construct our own social and cultural agents, as well as the physical and social environments in which they "live" and turn them loose to study their interactions. We will study the interaction of different individual behavioral "rules" in various physical and social "environments." In this way we can explore the entailments of various "what if" scenarios and conduct experiments on different hypothetical situations. We visualize the patterns of behavior in these "theoretical worlds" through highly graphical quantitative visualizations on PCs.

Why call this "Artificial Culture?" Yes, we know culture is artificial by definition, but that's not the point we're making. We are referring to the trajectory in advanced computation from "Artificial Intelligence" to the field of "Artificial Life." We are projecting that trajectory from "Artificial Life," to "Artificial Culture." If you have seen the movies "Dark City" or "The Thirteenth Floor," read Greg Egan's "Permutation City" or Stanislaw Lem's "Non-Serviam," you probably already have some insights into the philosophy of "Artificial Life." However, in contrast to this popular fiction, we will take a serious look at the science, practice and epistemology of evolutionary computation and multiagent modeling in order to evaluate its potential as a new way of describing, explaining and understanding the dynamics of culture.

What if you've never programmed before? It's not rocket science. Yes, you will have to pay a great deal of attention to detail, but that is nothing new to anthropologists. We try to minimize the nasty details of Windows programming so that you can get right into the systematic details of cultural programming. This course and its content have been developed in Anthropology and other departments over the last six years. All participants, most of whom began with no previous programming experience, have succeeded in writing interesting simulations. We have over 100 simulations, many including source code, available for download from the Web.

We will be working in the de-facto universal object-oriented language C++, using Borland's "Rapid Application Development" system for Windows PCs. Please join us in this introduction to a practice that is changing the way we look at the world. We will be meeting in the CLICC PC computer lab in Powell. Enrollment is limited, so please register early. Email me if you have any questions or suggestions...

The Software:

Borland C++ Builder 6.0 Professional is available in ALL the CLICC labs for free. It is NOT presently available in the SSC labs. A time-limited trial version is available on CD-ROM. I have two copies of the CD-ROM to loan out, or as I understand it, you can order your own CD-ROM trial for $10. It is also available for free from the Web although folks have had difficulty downloading it. For those of you who would like to purchase your own copies for your own PCs, here is what the UCLA Computer Store had to say: (We'll get an update soon.)

From: UCLA Computer Store
To: gessler@ucla.edu
Subject: Information about your UCLA Computer Store Price Quote
Date: Mon, 1 Mar 2004 14:46:31 -0800

Nickolas Gessler,

You requested information regarding Borland C++ Builder 6 versions Standard and Professional on March 1, 2004.

We are able to purchase both of these products for the following prices:
Standard: $79
Professional: $109

If you would like to order either of these products please call us at 310 825 6952 and tell any sales associate that you have a price quote in your name and they will able to find the information to assist you.

Thank you for your business,
The UCLA Computer Store

Longer Description:

As part of the Human Complex Systems Program, this course is an introduction to Artificial Culture: the theory and methods of constructing computational human social worlds. We take a critical look at the cutting-edge of theory-building in the computational social sciences informed by hands-on practice in the revolutionary new sciences of complexity. We will design and create our own highly visual computer simulations of "what-if" scenarios on PCs. Movies have examined some of the epistomological issues. If you have seen the film Dark City, or the Thirteenth Floor (Simulacron 3), read the novel Permutation City, read Stanislaw Lem's short story Non-Serviam, or played console simulaton games, then you probably already have some good ideas and questions about how the technologies of artificial worlds can be applied to serious social science research questions. We will investigate the challenges and provide some answers. Participants will create their own social and cultural agents (a multiagent multitude of them), as well as the physical and social environments for them to "live" in. Then we will each study the consequences of our simulated agents' interactions as colorful quantitative graphical visualizations. We will gain an understanding of the new philosophies and technologies of artificial worlds and what computation and evolution may offer us as new ways of describing, explaining and understanding the dynamics of culture. You will read and see examples of some of the best work in being shown in international conferences and you will evaluate the social and scientific implications of these interactive techniques for cultural policy and research. Most importantly, you will learn how to build these worlds from the bottom-up and how to modify existing simulations, in order to analyze the results of different "what-if" counterfactual situations. We will work in the de-facto universal object-oriented language C++, using Borland's Rapid Application Development system for Windows on PCs. We have uploaded over 100 simulations and countless topics to the Web, resources that we have developed for related courses. Contrary to many expectations, you DO NOT need any previous programming experience. However, you do need a curiosity for figuring out how culture works in detail and an appetite for discovering how actions taken by individuals (based upon their own limited local knowledge of the larger world around them) result in complex global patterns of group behavior that no single individual may fully understand. This course is intended to "get you started" in this counterintuitive and empowering new field and to introduce you to several resources in the field of simulation that you can continue to rely upon throughout your professional life.

Everyone has an equal opportunity to excel : Similar courses have attracted a equal numbers of females and males, freshmen, juniors, sophomores and seniors, as well as a few graduates, north and south campus humanities and sciences majors, experienced and new computer users. Participants from all these backgrounds have done equally well in these courses.

Topics will include:

  1. The new philosophies of representation and reality. The evolution of different modes of representation - the advantages and disadvantages of each. Thinking and reasoning with representations - performance, graphics, discourse, mathematics and simulation. Simulation as the convergence of computational and evolutionary epistemology and how they change what it means to describe, explain and understand the world around us. (For critiques of some interesting movies unravelling multiple realities, please see my co-authored article "The Slipstream of Mixed Realities...")
  2. Examples of cellular automata, evolutionary computation, artificial life, artificial societies and artificial culture.
  3. Examples relevant to anthropology, communications, economics, geography, management, political science and sociology.
  4. The evolution of techno/cultural things-that-think. How we have come "full circle" from defining computers as people, through defining computers as artifacts, to present speculations defining people as computers.
  5. How to represent space, time and a population of human individuals inside a computer: how to model social and physical environments inside a simulation and how these different representational choices will change the outcomes.
  6. How to build an agent with senses, thoughts and actions. How to build a population at different levels of complexity: from agents as modules of the mind, through agents as individual persons, to agents as groups and collectivities.
  7. How to schedule multiagent interactivity: who and what interacts with what and whom, how and when?
  8. How to experiment with "what-if" scenarios: changing the parameters of a simulation by hand or under program control. How to explore the full range of possibilities and express the results in graphical visualizations.
  9. How to build learning and evolution into a simulation. How to build a world that makes its own choices, not just one that follows your directions.
  10. What do artificial life, artificial societies and artificial culture tell us about real life, society and culture? Are they insightful? What can they tell us about traditional modes of describing, explaining, understanding, predicting and managing human affairs? How do they challenge contemporary social science?

Shorter Description:

An introduction to Artificial Culture: theory and methods of constructing human social worlds. A critical look at the cutting-edge of theory-building in the social sciences informed by the revolutionary new sciences of complexity and illustrated by experimental computer simulations of "what-if" scenarios. Design your own population of social and cultural agents, create your own physical and social environments for them to "live" in, and study the consequences through colorful graphical visualizations on PCs. The philosophies and technologies of computation and evolution empower us with new ways of describing, explaining and understanding the dynamics of interpersonal relationships. We will evaluate their social and scientific implications for policy and prediction. We will learn to build these worlds from the bottom-up and analyze the results of alternative counterfactual situations. We will write in the de-facto universal language of C++ for Windows on PCs using over 100 online simulations and other materials as resources. This course will prepare you for the counterintuitive new research opportunities in emergent complexity by introducing you to resources you can rely upon throughout your life. No previous programming experience is required.

Why Learn to Program?

Programming a simulation is a bit like being the writer, director and producer of a movie. You have to create each character, give each one a personality and the ability to experience the surrounding world and act within it. You create the props, the sets and the physical surroundings. You set the stage with a cultural situation and then give your actors the freedom to interact and improvise. Moreover, you also assume the role of cinematographer, editor and the myriad other tasks that bring a production to the screen. But having drawn an analogy to movie making, don't for a minute think we will come up with production values anywhere near "Matrix" or most commercial computer games. Our simulations will be quite minimal worlds designed to investigate specific scenarios. The point is simply this: you need to think about building a cultural simulation in great detail from the bottom-up. Think of it as "cultural programming" rather than "computer programming." We will be programming computers, but we will be using a subset of computer languages and graphics that makes sense in describing elements of culture. What do I mean by "culture?" In the context of this course, "culture" comprises both shared and unshared perceptions, beliefs, behaviors, wealth, power, technology, food, disease or any other adaptation to a "social and physical environment." In multagent simulation we bridge the gap between the "individudal" and the "group."


There are many ways to do well in this course.
There will be ample opportunities for success regardless of your programming skills.

If you have a specific cultural simulation projects in mind please discuss it with me early on.
There may be ways in which we can modify the challenges to fit your specific needs.

Please only hand in completed assignments.
Don't hesitate to ask for help in working out your ideas.
The course builds upon the topics and discussions as they are introduced.
If you fall behind, chances are you CANNOT catch up.
So don't hesitate to ask as soon as anything appears unclear.

It is imperative that you keep up.

6 Simulation Challenges
5 Postings on Assigned Readings
(informed critique and implications)
Class Participation
(class attendance, discussion, office hours)
Course Project