Location: College of Computing Building, Room 53
Time: 1:05 - 1:55pm, MWF
Homework 2 (Flocking) - Due February 9, 2007.
Homework 3 (Reaction-Diffusion) - Due March 5, 2007.
Jan 15-19: Chapter 2 in Origins of Life.
Jan 19 (Fri): Craig Reynolds'
flocking of virtual creatures.
Jan 22-26: Chapter 3 in Origins of Life.
Jan 24 (Wed): Wolfgang Banzhaf's self-organization in
binary strings.
Jan 29-Feb 2: Chapter 4 in Origins of Life.
Jan 29 (Mon): Article on protein folding in parts
1
2
3.
Optional:
Cyrus Levinthal
on protein folding complexity.
Jan 31 (Wed): Classic DNA paper by
Watson and Crick.
Optional:
Stanley Miller's
bubbling flask to produce amino acids.
Feb 2 (Fri): Seeing if
genetic code is optimal.
Feb 5-Feb 9: Chapter 5 in Origins of Life.
Feb 9 (Fri):
Pattern formation by
reaction-diffusion.
Feb 14 (Wed): Simulation of lipid micelles.
Feb 19-Feb 23: Chapter 6 in Origins of Life.
Feb 23 (Fri):
The Genetic Algorithm.
Mar 12 (Mon):
Plant growth using
L-systems.
Mar 14 (Wed):
Creating branching patterns using
Laplacian growth.
Mar 16 (Fri):
Simulation of
leaf venation.
Mar 26-30: Chapter 9 in Origins of Life.
April 2-6: Chapter 10 in Origins of Life.
Apr 9 (Wed):
Evolution and manufacturing of
crawling robots.
April 16-20: Chapter 11 in Origins of Life.
April 23-27: Chapter 12 in Origins of Life.
Students will carry out several programming projects during the course.
Basic programming skills are recommended for students entering the course,
but no previous background in biology is necessary. There will be
three or four small programming projects during the first part of the
course. During the second half, students will propose and work on a
large project of their choice. Projects can be done individually or
in teams of two students.
"The Origins of Life: From the Birth of Life to the Origin of Language"
We will use the above book to ground our discussions on the biological
aspects of the course topics. It will be a point of departure to learn
about the different levels of complexity in biological systems (molecules,
cells, multi-cellular creatures, species, etc.) Reading material on
simulation techniques will be taken from research papers from a variety
of areas.
Apr 4 (Wed):
Evolving
virtual creatures
from Karl Sims.
Apr 6 (Fri):
Evolving
autonomous agents
from Frank Dellaert and Randall Beer.
Apr 11 (Fri):
Swimming creatures
from Tu and Terzopoulos.
Apr 16 (Mon):
Thomas Ray's
Tierra
system of evolving programs.
Apr 20 (Fri):
Robert Axelrod and the
Iterated Prisoner's
Dilemma.
Apr 23 (Mon):
Craig Reynolds on
Co-Evolution for game
of tag.
Course Description
This course covers a broad array of techniques for computer
simulation of biological systems. The course material will draw from
biology, artificial life, robotics, computer graphics and other research
areas. Some of the course topics include self-replication, artificial
chemistry, multi-cellular development, simulation of evolution, cellular
automata, mass-spring simulators, L-systems for plant development,
animal locomotion (walking, swimming, jumping), flocking and herding
behavior in groups, predator/prey systems, parasites, and foraging
behavior.
Books and Articles
Required textbook:
John Maynard Smith and Eors Szathmary
Course Topics
Self-Organization
Molecules
Membranes and Cells

Cell aggregation (courtesy of Kurt Fleischer)
Development

Plant growth (courtesy of Przemyslaw Prusinkiewicz)
Evolution
Locomotion

Walking simulation (courtesy of Karl Sims)
Physics Simulation Techniques

Tentacle motion (courtesy of Andrew Cantino)
Multi-Organism Interaction

Flocking with collision avoidance (courtesy of Craig Reynolds)
Related Web Links
Flocking resources, compiled by Craig Reynolds.
Mass-spring locomotion at sodaplay. (Be sure your browser can run Java!)
Evolved virtual creatures from Karl Sims (locomotion and competition).
Dr. Prusinkiewicz's research on plant development.
Tierra (digital creatures that execute code) from Thomas Ray.
Langton-style self-reproducing loops from Hiroki Sayama.Go to Greg Turk's Home Page.