Human Complex Systems – 110
ARTIFICIAL CULTURE:
Experiments in Synthetic Anthropology.  (5 units)

This course is all about simulations:
How they are used to describe, understand and explain human complexity.
It presents a critical overview informed by building and experimenting with simulations
that you, the participants, build yourselves.
(See some of the simulations we have built.)
Schedule of Classes
Social Sciences Computing - ClassWeb

Lecture, 2 hours;
Laboratory, 4 hours.

Nicholas Gessler, Ph.D.
gessler@ucla.edu

OFFICIAL CATALOG DESCRIPTION

Lecture, two hours; laboratory four hours.  A hands-on introduction to Artificial Culture, the philosophy and practice of constructing highly interactive computer simulations of human social worlds. An informed and critical look at the revolutionary new sciences of complexity: multiple agency, simultaneous causation and evolutionary emergence embodied in computational description, understanding and explanation of human complex systems.  Participants design their own populations of cultural agents, create the social and physical environments in which they live and study the consequences of counterfactual “what-if” scenarios.  No previous programming experience is required.  May be repeated for credit.  Letter grading.

CATALOG DESCRIPTION

Lecture, two hours; laboratory four hours.  A hands-on introduction to Artificial Culture, the philosophy and practice of constructing highly interactive computer simulations of human social worlds. An informed and critical look at the revolutionary new sciences of complexity: multiple agency and causation, simultaneous interaction, and evolutionary emergence embodied in computational description, understanding and explanation of human complex systems.  In a PC computer lab, participants will design their own populations of social and cultural agents, create the social and physical environments in which these agents live and study the consequences of counterfactual “what-if” scenarios.  Topics include scheduling parallel processes on a serial machine, representations of cognitive perceptions, beliefs and behaviors as well as space and time, and the graphical analysis of local individual processes as they produce, and are modified by, global group patterns of behavior.  No previous programming experience is required.  May be repeated for credit.  Letter grading.

EXTENDED DESCRIPTION

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 for them to "live in," and study the entailments of our "theoretical worlds" of interacting individuals by means of highly graphical quantitative visualizations on PCs. In other words, we will study the behaviors of various "what if" counterfactual scenarios which we will create as computer simulations.

Why call this "Artificial Culture?"  While we know that culture is, by definition, artificial, that is not the point we're making.  We are referring to the trajectory in advanced computation that arose from "Artificial Intelligence" leading to the field of "Artificial Life."  We are continuing that trajectory from "Artificial Life" to "Artificial Culture."  If you have seen the movies "Dark City" or "The Thirteenth Floor," or read Greg Egan's "Permutation City" or Stanislaw Lem's "Non-Serviam," you probably already have some insights into the philosophy behind "Artificial Culture."  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 assess its potential as a new way of describing, explaining and understanding the dynamics of culture. We will create these worlds.

What if you've never programmed before?  No problem.  You do have to pay a great deal of attention to detail in the beginning, but that should be nothing new to social scientists.  The content has been developed in four departments over the last six years.  Most of our participants began with no previous programming experience and yet everyone has succeeded in writing compelling simulations.  We have over 120 working simulations on the Web.  Many include source code and are a readily available resource.

We will be working in the de-facto universal object-oriented language C++, using Borland's "Rapid Application Development" system for Windows PCs.  Each participant will be working with his or her own machine.  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 if you have any questions or suggestions...

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.  You may purchase your own copy for about $60-100.

CULTURAL PROGRAMMING

Think of what we are about to do 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 the objects and processes of culture.  What do I mean by "culture?"  In the context of this course, "culture" includes both shared and unshared perceptions, beliefs, behaviors, wealth, power, technology, artifacts, architectures, food, disease or any other adaptation to a social and physical environment.  Constructing a simulation is a bit like being the writer, director and producer of a movie.  You must construct each character: give each one a personality and the ability to experience the surrounding world and act within it.  You must create the props, the sets, the social and the physical surroundings.  You must set the stage with a cultural situation.  Then, giving your actors the freedom to interact and improvise, you can stand back and watch what happens.   You also play the role of cinematographer and editor, deciding how to bring the story to the screen.  But, having drawn this analogy to movie making, don't expect us to come up with the high production values of "The Matrix" or commercial computer games.  Our simulations will be minimal worlds designed to give you the chance to investigate a variety of specific scenarios.  The point is for you to gain practice and confidence in thinking about human complex interactions in computational terms.

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 unraveling 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?

GRADING

Participants will be graded on a balance of both performance and progress.  There are many ways to do well in this course. There will be ample opportunities to do well whether or not you have any previous programming experience.

If you have specific simulation interests and projects in mind please discuss them with me early on.  There may be ways in which we can customize the assignments to better fit your specific needs.

Please hand in only complete assignments.  It is imperative that you keep up, so don't hesitate to ask for help in working out your ideas.  The course builds upon the topics and discussions in the order that they are introduced.  If you fall behind, the chances are that you will NOT be able to catch up.  Don't hesitate to ask questions as soon as anything seems unclear.

6 Simulation Challenges
(modify/program/experiment/critique)

25%

5 Postings on Readings & Projects
(informed critique and implications)

25%

Class Participation
(class attendance, discussion, office hours)

25%

Course Project
(simulation/analysis/critique)

25%

TOTAL

100%

Letter grading.
No midterm.  No final.

SAMPLE CALENDAR
(Subject to change each quarter depending on advances in the field, current events, local resources and participants' interests.)

Week 1:

Jumping right in: A small simulation of Conway’s Game of Life and variations.
Visit to the Visualization Portal:  Our hosts are John Pederson, Pieter Lechner, Harold Wong. Examples: 3d scatterplot of Fisher's Iris', 3d tornado simulation in VIZ-5D, Bernie Frischer's Cultural VR: Colosseum, Campostello, Forum and 3d Santa Maria, Bill Jepson's UCLA and ATSAC link.
Readings: Borland C++ Basics: files 1 – 5, Windows C++ Basics: files 2 - 6.

Week 2:

Challenge #1 due:  Conway’s Game of Life.
The ICT - Institute for Creative Technology (DVD): The Holodeck and the Mission Rehearsal Exercise
Shelling's Segregation Model Revisited: Review of Borland and C++
Coding More Complex Behaviors
We finish the basic segregation model: Screen Capture, Other Preferences, Adding a Trackbar and EditBox, Finishing the Basic Code
Reminder for all challenges (assignments):  Build - Write, cut-and-paste, copy and assemble the working simulation.  Experiment - Explore the variable space of the simulation. "What if x, y, z?"  Critique - An informed evaluation of the emergence of global from local behavior.  Enhance - Modify the existing simulation to create some new functionality. Write new working code, outline your new algorithm in pseudocode or sketch it diagramatically.  Repeat - as necessary...

Week 3:

Challenge #2 due:  Shelling's Segregation Model.
Readings and Postings Set #1
Time 1950 - Can Man Create a Superman?
Minsky 1996 - Public Lecture, Alife V, Nara, Japan
Computational Complexity: Space, Time & Agency; Cellular Automata
Digital Narrative Conference: Hammer Museum, First Floor
Self-Organizing Systems: rEvolutionary Art, Science and Literature
Color Graphics Language: Color Spaces
Some "tweaks" to Conway's Game of Life. Including buttons to introduce "creatures."
Pattern Catalog -
Mirek's Cellebration (Margolis Sand)

Week 4:

Challenge #3 due: Ethology of Planet Wator: Propose the local rules from the global behavior. What is the architecture of space, time and agency? Describe the rules in pseudocode (if... then... statements).
Agents and Emergence
Readings and Postings Set #2:
Video by VPRO Amsterdam 1995 featuring interviews with: Chris Langton, Santa Fe Institute; John Holland, University of Michigan; Doyne Famer, Prediction Inc.; Rodney Brooks, MIT; Stuart Kauffman, Santa Fe Institute; Tom Ray, ATR Kyoto;
Karl Sims, Thinking Machines Inc. This film is available for viewing at the Instructional Media Lab

Week 5:

Challenge #4 due:  Growth and Diffusion Algorithms.
Representation:  Lewis Carroll cf. Rodney Brooks.  Mechanical Computing: Cam memory.
Videos:  Simple Rules, Complex Behaviors. The Santa Fe Institute, 1992.  Artificial Life II, Video Proceedings, 1992. John Koza on the Genetic Programming Paradigm.  Nightline: Brave New World, 1999. Robert Krolwich, Danny Hillis, Andrea Loche & Paul Ashtown on Batman Returns 30:30.
Readings and Postings Set #3: Forrester 1971 - Counterintuitive Behavior of Social Systems.
Thinking about your Class Projects: Individual (1) and Team (>=3) Projects OK
For some ideas look at: Journal of Artificial Societies and Social Simulation
Note the "Previous Issues" link.
For some critiques of simulation look at: M2M: Model to Model Analysis: Special Issue of JASSS, ESSA Conference in Valladolid.

Week 6:

Challenge #5 due: Iterated Prisoner’s Dilemma.
Images & Sounds: how to do it.
D.J. Simons, Studies of Visual Awareness: DVD: White Team Passes and WEB: Door 1 and Door 2.

Week 7:

Robotics Implementations: Robofest Osaka, 2001 (15m).  Mark Tilden RoboSapiens: Intro Geometry Showroom, Remote Skate.  RoboSapiens Website Robot Pet Forum.
A Traffic Simulation Framework.

Week 8:

Challenge #6 due:  Evolutionary Concert Tour (a.k.a. Travelling Salesman’s Problems)
Progress and work in class on Class Projects...
Social Robotics a la Luc Steels, Vrije Universiteit, Brussel
MIT Leg Lab: Locomotion, Simulation, Bloopers
Programming Help Newsgroups.
Three New Programming Samplers: Visualizing Agents with Class Canvas Methods and Space; Graph Types and a Second Window; Run, Step, Stop Program Flow and Canvas Persistence.

Week 9:

Clips from Tom Stoppard's ENIGMA: Loosely based on Alan Turing.  Chapter 4: The Enigma Machine.  Chapter 11: The Secret Inside the Secret.
Examples of text processing for content analysis and cryptology.
Work in class on class projects.

Week 10:

Course Project Presentations
Coffee & Muffins