The 13th Floor

Dark City

Time, February 23, 1950

Artificial Life,

Culture & Evolution

Information Science & Information Studies Program.

Computer Science
Visual Studies
Simulations using Multiagent and Evolutionary Computation

Fall 2009

Lab: Tu/Th 10-12:50
Perkins LINK Classroom "6"

Nicholas Gessler

Computer Models of Cultural Evolution


what participants have said...

"It's not rocket science, but then, what is?"

Please come prepared to do some programming on the first day.
On Tuesday, we will jump right into coding in C++ for Windows!
Please bring 1 USB memory stick to each class.
12 writable CDs (and paper sleeves, no boxes) and 12 letter-size plastic sleeves.
Bring $25 for a collection of readings distributed periodically.

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."

SYLLABUS (subject to changes)

Artificial Life, Artificial Culture & Evolutionary Computation - Simulations using Multiagent and Evolutionary Computation

In many ways, computer languages and programs are better representations of reality than spoken and written words. Look at the complexity that surrounds us: The local properties of individual elements give rise to the global properties of chemicals, minerals and life itself. The local properties of cells give rise to the global behaviors of organisms. Local neurons interact to process information giving rise to the global consciousness of the individual. Individuals interact at the local level resulting in the vast complexities of societies and cultures. This is the phenomenon of emergence, the process by which individual actors, or agents, with limited knowledge of the whole, interact with one another simultaneously and in parallel to produce larger global patterns of behavior that may not be apparent to any single individual. This process is also described as "multiple causation" or "multiple agency." Close to the concept and phenomenon of emergence is the process of evolution, described a century ago by Charles Darwin and Alfred Russel Wallace. It is difficult to talk about these things in natural spoken language, because language is by nature a serial description, a narrative unfolding through time, usually told from a single individual's perspective. How do you describe a situation in which you have one dozen different personalities, each with a different background, each from a different culture, each pursuing different goals, located in various places and communicating along different networks? How do you do this in natural language? And once described in natural language, how will these individuals interact? What will this situation entail? This can be done in computer languages. The situation can be described with a minimum of ambiguity, and once that set of initial conditions is fixed, the researcher can press "run" to see what these individuals will do. Moreover, she can change the initial conditions at will, change the way those individuals sense and perceive the world, change their goals, and study the outcome. Computer simulations give us the opportunity to study the entailments of a variety of "what if" scenarios. Thy are like having a social science laboratory on your desktop. Whether we simulate the behavior of atoms or ants, quarks or quasars, individuals or cultures, the procedure is similar. They say, "the whole is greater than the sum of its parts," because it is the interaction of the parts that constitute the missing processes. We will wrestle with the philosophies of emergence and evolution through a critical hands-on engagement with artificial life, artificial culture, and evolutionary computation.

Most participants enter the course with no previous programming experience whatsoever, yet in the first week everyone creates an application from scratch which illustrates the surprising nature of algorithmic processes with colorful graphics and MIDI sounds. We work with Borland C++ which simplifies the Windows environment and describe the worlds we will create in C++. We write descriptions of interactive processes in detail and run them to explore the often counterintuitive and visually striking results. Among the canonical simulations we may enhance and explore are cellular automata, including Conway's Game of Life, Schelling's segregation model, models of assimilation, aggregation and dispersion, flocking, growth, networks and mapping. Using evolutionary computational techniques we may tweak the Traveling Salesman's Problem to optimize a concert tour, political canvassing, or the itinerary of a Ferenghi trader. We may create applications to evolve visual arts and/or musical compositions. We conclude the course with simulations which self-organize and learn in much the same way that cultural and biological systems do, through the mechanisms of evolution. Thus we end by including the creative force that gave rise to our intelligence in the simulations that we write. Participants are encouraged to work with problems from their own major and/or imagination.

Given my own background as an anthropologist, we may also apply simulation to study cultures, cultural change and cultural evolution. The argument for employing simulation to the social sciences might look like this: Empirically, culture comprises individuals, artifacts and groups embedded in social, technological and physical environments, all complexly interacting in simultaneous mutual causation. Although sharing many commonalities, each individual has a distinct identity and conception of the world, a specific repertoire of experiences, beliefs, perceptions, interpretations and behaviors. Each artifact similarly carries information in a distinct way. Describing, understanding and explaining culture thus necessitates representations which not only capture this complexity as a description, but also enact it as a process, thereby enabling the researcher to evaluate suites of theoretical experimental "what-if" scenarios. We may critically explore state-of-the-art multicausal multiagent simulations emphasizing dynamically materially intermediated cultural cognition. In other words, we think not just consciously and in words. We think unconsciously, and with our bodies, and with the material world around us. Where you work and how your work is arranged is also part of your cognition. Moreover, members of a given culture do not share a homogeneous cognitive structure. We form networks of friends and enemies. We will also look at examples of trust, secrecy and deception on international relations as well as at artifacts (material cognitive devices) from the evolution of computation, born from the weaver's loom and from the need for intelligence.

As we gain more confidence in writing code, we will connect our simulations and applications to real-world sensors and actuators, to make them aware of, and responsive to, their surroundings. We have a suite of robotic components to work with. Picture, for a moment, the slot machines in Las Vegas. Do the reels on those machines rotate at random? In fact they are driven by stepper motors, controlled by a computer that knows exactly where the wheel is and what icon is showing through the glass. They are no longer real reels, random by virtue of their mechanical construction, rather they are called "virtual reels," highly deterministic in their movements, made to simulate the reels of old. Finally, we will work with a number of rare and once classified cryptographic devices, machines which construct and deconstruct secret codes. These are early electromechanical computers. It was the attempt to decrypt the messages enciphered by these machines, specifically the NAZI German Enigma, that gave rise to the modern computer. From the Polish "Bombe," to the British and American "Bombes" and "Colossus" it was the intelligence community that paved the way for computation as we know it.

This course is a must for those who wish to understand the computational environment in which we live and the increasing role it plays overtly and covertly in our lives. Whether you go on to write simulations, supervise a team of programmers, or critically tease out the assumptions hidden behind arguments for policy decisions, we offer a look inside the social and technological processes embedded in our culture.


"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

is based on demonstrated
progress in the course

Borland Developer Studio 2006


Computers and software
required for this course
are available in Perkins LINK Classroom #6.

I will not return this material to you!

You are allowed three unexcused absences
without it negatively affecting your grade.
Three exams to be announced in advance.
10 Simulation Challenges & Critiques
(explore, experiment, enhance & enjoy)
10 Written Discussions of Assigned Readings
(informed critique and implications)
Class Participation
(class attendance, discussion, presentation, one-on-one consultations)
One Course Project