Fall 2008
56.491 Special Topics
Schedule: T/TR 9:30-11:00 in CEH-219.
Professor:
Drue Coles
Email: dcoles@bloomu.edu
Office: 235 Ben Franklin Hall
Phone: 389-4626
Office Hours: M 10:00-11:00, Tu/Th 11:00-12:00, W/F 12:00-1:00
Prerequisites: 56.122 Graphical User Interfaces in Java.
Text: reading materials will be provided or are freely available on the web.
Artificial Life (ALife) is an area of computer science devoted to the study of living systems through the use of computers to simulate biological phenomena. It was initiated in the late 1940s by John von Neumann, one of the giants of 20th century science and mathematics, who worked out the logical form of a self-reproducing machine. One of the central ideas of ALife, and the focus of this course, is emergence. An emergent property of a system is a complex behavior that arises from the local interactions of autonomous components. This happens everywhere in nature: individual ants, for example, self-organize into highly sophisticated ant colonies without any external guidance or centralized control. Emergence is a common theme in biology, chemistry, ecology, economics, physics and other areas.
In this course, we will experiment with a number of open-source and scriptable ALife software tools for generating life-like behavior in populations of locally interacting components. These components may adapt, reproduce, or evolve over computer-simulated time. In particular, we will study the emergence of complex patterns and behaviors in Conway's Game of Life, the evolution of self-replicating computer programs, the fight for survival among three-dimensional mechanical structures evolving in a virtual ecosystem, and algorithms that find solutions to computational problems by mimicking the processes of natural selection. We will also survey ideas about ALife that philosophers have considered, such as the prospect of genuine life emerging from artificial systems. This course has a strong research component, which involves both reading and active experimentation, quite a bit of programming, and a substantial research project.
Home | Schedule | Reading | References