CALENDAR
subject to change on
short notice

Artificial Culture
Simulation using Multiagent
& Evolutionary Computation

Human Complex Systems 110
Spring 2008

gessler@ucla.edu


 

And the signifieds butt heads with the signifiers,
and we all fall down slack-jawed to marvel at words!
While across the sky sheet the impossible birds,
In a steady, illiterate movement homewards.

Joanna Newsome,
"This Side of the Blue"
(2004 Drag City Records).

BOOKS

MOVIES

 

Please look at a previous Course Calendar for an idea of what we will cover.

The theme of this course is how to represent social realities in computer simulations.
How do we construct more reliable, robust and comprehensive representions of the world?
How do we describe, understand and explain cultural phenomena?
Think about the advantages and shortcomings of the following representational media:
Thoughts - Natural Language - Writing
Art, performance, graphics, diagrams, pictures, cinema.
Mechanical, hydraulic and analog computation.
Computation as today's desktops, laptops, gamestations, supercomputers.

Think about these different media of representation
as cognitive/technological adaptations
to our social and physical environments...

 
 
Tuesday
Thursday
Notes
 

Our course is over-enrolled.
Enrolled students have first dibs on the desktop machines.
Wait-listed students, please pick up laptops from the office.

We will jump right into the necessary details of programming (C++, the Windows API and the Borland IDE) on the first days. Many of these details are as important as the details that underlie interpersonal cultural interactions. Our course is about how small and seemingly unimportant local details interact to produce an emergent behaviorly complex global whole. This is the "new" concept of multiple agency (multiple causation) exemplified by the dictum, "the whole is greater than the sum of its parts." At the beginning, we will give you the computational foundation you will need to get into the fun stuff (the scientifically and epistemologically important material) which we will more fully explore during the rest of the course.

Social Learning Strategies Tournament €10,000 prize
 
Week 1 is foundational to the course. Don't miss it!
 
Color Code:
Notes on previous days.
Color Code:
Reasonably certain agenda.
Color Code:
Possible agenda.
Week 1

April 1

WELCOME - INTRODUCTIONS:
Nick Gessler, Instructor
Dave Neibuhr, Research Associate
You all...

What you need...
Our CLASSWEB pages.
Our PARTICIPANTS page.
Our INDEX pages...
Our SIMULATIONS pages...

What is AGENCY?
agency as causation...
agency as functionality...
agency as sense, think & act ("STA")
complexity as multiagency
multiagent & agent-based-modeling

Handout and Review of the Fundamentals:
Dos & Don'ts
Borland IDE (Integrated Development Environment)
Windows API (Application Programmers Interface)
Windows & C++ Programming Fundamentals.

Programming Challenge 0: Halfway There
Writing an application from scratch...

April 3

WESTEC Souvineers:
printing solids / Rapid Prototyping

Programming Challenge 0: Halfway There
continued...

Bring your USB memory and writable CDs.

A Step-by-Step Review of the Fundamentals:
Borland IDE, Windows API and C++.

We review what we have written and continue to enhance our first simulation using Borland Development Suite 2006 for Windows C++:

Remember: unplug your USB when using BORLAND
Pausing to probe the value(s) of a variable
Adding an Icon - IconEdit32

Some Tweaks:
Adding Color - the ColorRamp function
Pasting-in (stealing) code...

For Tuesday: Practice writing applications from scratch. There will be an in-class hands-on exam on Thursday: I will assign you a small programming task and will ask you to complete it and turn it in just as you would a regular programming challenge.

Starting from scratch, SaveProjectAs is clicked ONLY ONCE at the beginning of an application BEFORE you push the GREEN arrow. Click SaveAll repeatedly.

To resume working on a previously saved project Double-Click on Project1.bdsproj. This will open Borland along with your project.

DO NOT type in or delete event-handlers by yourself. Let Borland do it.

ALWAYS use Borland with your application on the WorkSpace. NEVER use it directly with your USB or CD-ROM. Transfer folders between the WorkSpace and your USB or CD-ROM only when Borland is CLOSED.

 

 

The Standing Assignment for All Programming Challenges
DETAILS

Explore - Thoroughly familiarize yourself with the application.
Enhance - Improve the visualization and modify the multiagent code.
Experiment - Document in color screen shots and text your new "what-if" scenarios.
Enjoy - Be creative! Some things will work; some won't.

 
 

April 8

Some selections fro SIGGRAPH and VPRO Amsterdam's ARTIFICIAL LIFE.

Halfway There - Review...
Correction: ramdomize() and Form/OnCreate.
Form/OnPaint and what it does.

Better Icons: from PhotoShop to IconEdit32
Screen Capture: Alt/PrtScr & PhotoShop

Some enhancements on our WebSite:
"Bent" and "Sonified."

From the Visual Component Library (VCL):
Allowing the user to import/export numbers:
xxxMouseDown, TTrackBar, TEdit...
Alowing the user to make choices:
xxxTComboBox, TRadioGroup...
To group controls:
xxxTPanel, TGroupBox

In-Class Individual Practice and Review...

8:00 a.m. review with Dave  
Week 2

April 10

The TLabel component, a demonstration...

EXAMINATION #0: must pass
Review of results...

Programming Challenge 0: Halfway There
DUE TODAY.
Participant demonstrations...

Cellular Automata in Nature (Books)
1d 2state CAs.
1d 3state CAs.
2d 2state CAs.

Programming Challenge 1: Conway's Game of Life (a 2-dimensional, 2-state cellular automata).
Explore - get to know it!
Experiment - describe & explain it's behavior!
Enhance - add new functionality!
Enjoy - play with it!

An introduction to cellular automata and their behaviors.

Conway's "Game of Life:"
Coloring cells by their age at death.
Coloring cells by their age at birth.
Tracking population changes.


http://www.alifexi.org/

Week 3

April 15

EXAMINATION #0 - Results:
Pass
No Pass
C/C++
5
3
8
None
6
11
17
11
14
25

How do we write a parallel application to run on a serial machine?
Using CAs as "trap-door" functions.

Handout: Gessler 2007, TIME 1950 & Ed Fredkin 2001. Discursive Challenge 0: Critique the implications of these ideas about the philosophy of simulation and computation for the human, social and cultural sciences? What does Fredkin's epistemology imply?

Mirek's Cellebration (we try again)
A generalized 2d 2state application. Try B1L3 with a single dot.

Programming Challenge 1: Conway's Game of Life (a 2-dimensional, 2-state cellular automata).
Working from a zipped project file. We look at the code and add some functionality.

Conway's Life Glossary

Using a bitmap (.bmp) image edited in PhotoShop to seed Conway's world with specific objects.
Using PaintBoxMouseDown to put creatures in the world.
Using Sleep() to slow things down.

 

 

April 17

We continue to work on Conways GOL...

Programming Challenge 1: Conway's Game of Life (a 2-dimensional, 2-state cellular automata).
Working from a zipped project file. We look at the code and add some functionality.

Conway's Life Glossary

Week 4

8:00 a.m. make-up Exam 0

April 24

File Save and File Open...

Sluis Data (change the extention from ".exe" to ".txt).

Space: Raster (cellular, bitmapped) vs. Vector.
Time: Different "Polling" regimes: Cinematic, Random and Sequential.

Programming Challenge 2: Segregation and/or Assimilation. (continued)
We use the new "Version 13."
Writing rules with logical operators...

 

April 22

Demos of Conway's Game of Life:
Debugging what we did last week: double double loops in reset...

Participant Demos...

Discursive Challenge 0: Ed Fredkin and the Universal Cellular Automata Computer. DUE TODAY.

Programming Challenge 1: Cellular Automata; Conway's "Game of Life" DUE TODAY.
Incorporate the changes that we made in class, e.g. #define, etc.
Enhance the application with several buttons which introduce new (seed) patterns on the screen.
Experiment and Explore the GOL and document your ethnography of that world in detail.
FORMAT: As usual: Cover Sheet with screen shot and executive summary. Your ethnographic description of the GOL. A printout of the source code. And the entire project folder on CD-ROM.

Programming Challenge 2: Segregation and/or Assimilation.
Study and document several given rule sets and the effect of changing rule sets over time with respect to the final demographic patterns they produce.
Create several new rule sets on your own and study and document their behaviors over time.
Remember that final demongraphic patterns are the result not only of specific rules, but historical changes in the rules over time.

Week 5

April 29

Bits, Bytes and ASCII Code.
ASCII in Binary, HexaDecimal & Decimal symbols.
SynEdit and Hex Editor - a look at .bmp, .txt and .doc files.

Using a bitmap (.bmp) drawn in PhotoShop to specify geographic information which the agents can sense and respond to.

Programming Challenge 2: Segregation and/or Assimilation.
We use the new "Version 14."
Bugs fixed: Counter zeroizers: remove the "if", loop to 6 not 4. Rule 16 radio group reset.

Modifications that could be made:
S = Sense: larger neighborhoods, memory
T = Think: more complex rule sets
A = Act: move, don't move, freeze

Writing rules with logical operators... (continued)

Visualizations: maximizing our own capacity to detect patterns.
Pattern Recognizers: facilitating our often limited capacity to detect regularities.

May 1

Programming Challenge 2: Segregation and/or Assimilation. DUE TODAY.
Participant Demonstrations...

BORLAND HELP, which provides information on C and C++ language elements as well as some MicroSoft API elements is located by opening:
My Computer, Social Sciences Drives, Classes, Gessler, Help and then double clicking on "bcb6.hlp".

Sonifications: Marking significant events with sounds which identify what is happening:
Beep(frequency, milliseconds)
#include <mmsystem.h> for these two:
PlaySound("filename", "", SND_ASYNC)
midiOutShortMsg(device, message.word);

VPRO Amsterdam / Artificial Life.
Discursive Challenge 1:
Compare and contrast the philosophies, theories and practices with which each of these research scientists identify. In what ways do their ideas build upon the ideas presented in 1950?
Due Tuesday.

Week 6

May 6

Langton's Ant - Dave Niebuhr's implementation...

Discursive Challenge 1:
Due Today.

EVOLUTIONARY COMPUTATION

Programming Challenge 3: Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem). INTRODUCTION
An Evolutionary Programming example,

May 8

EVOLUTIONARY COMPUTATION
Natural & Artificial Selection.
The "Fitness Landscape," (or is it a "Seascape.")
Hill Climbing, Local and Global Optima.
Static & Dynamic Fitness Allocation.
Co-Evolutionary Approaches:
VIDEO: Karl Sims Compilation and Newer Works.

Programming Challenge 3: Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem). REVISITED. Construct a HARD problem for evolution to solve* (it will probably involve a penalty for crossing a border). Why is it HARD? What novel solutions did it find? How do they compare with human solutions? Characterize the local and global optima on the fitness landscape. Why did it get stuck on the local optima?

*If it's really hard, evolution will not find the global optimum very frequently.

HANDOUT: "Evoutionary Design by Computers," by Peter Bentley.

DISCURSIVE CHALLENGE 2: Given your knowledge of the four (4) different approaches to Evolutionary Computation (i.e. GAs, EP, GP and ES) and your own, or someone elses theories of social and/or cultural interaction, sketch out (in pseudocode) how you would write an evolutionary simulation embodying those theories in two (2) of the four (4) approaches.

Evolution On the Web

Alife Fusebox
Dawkin's Biomorphs
Rob Saunder's
GenArt Evol

John Mount's
Genetic Art IV

Week 7

May 13

Programming Challenge 3: Evolutionary Concert Tour (a.k.a. Travelling Salesman's Problem). DUE TODAY.

Introduction to Vector Space and more complex Agent representations:
Flocking (schooling, herding, crowding, traffic-flow) simulations.

Programming Challenge 4: Flocking simulations.
(schooling, herding, crowding & traffic-flow).
INTRODUCTION

May 15

CUBAN NUMBERS STATION: We will try to tune in an elusive numbers station which broadcasts beginning promptly at 9:00 a.m. for about half-an-hour. (It was on the air on Wednesday.) If we are successful, we will pick up on this topic next week.

DISCURSIVE CHALLENGE 2: DUE TODAY. (See May 8.) Discussion...

VIDEOS: (Evolution and Flocking)
Karl Sims, "Evolved Virtual Creatures."
Craig Reynolds, "Boids."
Demetri Terzopoulos, "Cousto, Go Fish."
"Batman" and the evil penguins.

Programming Challenge 4: Flocking simulations, (continued)... What's behind the user interface:
Known bugs: Rules 9 & 10 drift to the right. Neighborhoods are not correctly calculated in wrapped (toroidal) worlds.
Enhancements: Using the bitmap for environmental variables. Importing other images to represent other agent types. Switching the Picture property of Images on the fly.
Your ideas for enhancements...

 
Week 8

May 20

Revision #12 of the Flocking simulation. True neighborhood distances in the wrapped world. PlaySound() implementation. Up to 100 agents.

Participant Pre-Presentations on Course Projects. Come prepared to talk about your course project plans. Remember, you need to do a significant amount of both coding and experimentation. Start early!

DISCURSIVE CHALLENGE 3, readings:
xxxxxCryptanalysis for Peacetime...
xxxxx
Psychological Warfare Casebook...

In what ways does the "black world" contribute to cultural complexity? (Does it make the world safer or more dangerous? How?)

Networks of trust, secrecy and deception: Espionage, Cryptology and Propaganda. The ultimate human complex systems? "

DISCURSIVE CHALLENGE 3, readings:
xxxxxCryptanalysis for Peacetime...
xxxxxPsychological Warfare Casebook...
One often hears that the operation of the "black world" in the larger complex global world actually makes the world a safer place. In light of the film and these readings, how might that be true?

Show and Tell:
"Numbers Stations"
-The Conet Project" CD-ROM.
Some real one-time-pads (silks) and tables.
Video: "The National Security Agency."

Work on course projects.

May 22

How to navigate the maze to Borland HELP!
Link on our SIMULATIONS page, or here...
Also, a sampler for angles measured in radians...

Programming Challenge 4: Flocking simulations,
DUE TODAY.
Participant demonstrations...

DISCURSIVE CHALLENGE 4, readings:
xxxxxStanislaw Lem, "Non Serviam."
xxxxxGreg Egan, "Permutation City."
xxxxxMarvin Minsky, "Most Important Thing."
Film (next Tuesday), "The Thirteenth Floor." (Discuss and answer the questions about Doug & Jane's first encounter.)
And, In what ways might the visions for the future of "artificial culture," which will be presented in the movie (Tuesday) and the three readings above, be accomplished?

Evolutionary Computation (revisited):
Brian Allen's "Laetoli Walkers."

Intermediation: Representation and Maps - Another form of Simulation:

Show and Tell:
Cryptographic Machines... D
escendants of the German ENIGMA:

Work on course projects.

Week 9

May 27

DISCURSIVE CHALLENGE 3: DUE TODAY. (See May 20)

Flocking - Versions 13 & 14: Couples' interactions are now reciprocal. Everyone now remembers each of their encounters with all the other agents. MouseMove will display all encounters of an individual agent. A new button provides a visualization of everyone's encounters with everyone else. Five agent types are instantiated. You can zeroize all agents' directions and velocities for experiments.

Film: The Thirteenth Floor.

Work on course projects.

May 29

DISCURSIVE CHALLENGE 4: DUE TODAY. (See May 20)

A little "physical computing:" Las Vegas slot machines and the "virtual real." Entertainment or deception?

Work on course projects.

 
Week 10

June 3

Flocking 15 replaces the atan(y/x) function with the better atan2(y, x) function, thus eliminating many of the directional biases. A behavior #5 has been added to test the new seeking variable.

Institute for Creative Technologies - Mission Rehearsal Exercise - DVD

Simulation in the Field: Multiple Integrated Laser Engagement System (MILES2000): Overview - Helmet

Course evaluations...

Bragin Prize guidelines. Must be vetted by me or Dario Nardi in advance.
Deadline: Thursday, June 12th at the Anthropology Office front desk before closing.

Work on course projects.

June 5

Project Presentations - Coffee & Cookies

 
No Final

No Final

No Final