Simulation of Biological Systems

CS 8803 SBS, Biol 8803 D
Instructor: Greg Turk
Semester: Spring 2007

Location: College of Computing Building, Room 53
Time: 1:05 - 1:55pm, MWF

Final Projects

The Class Projects

Homework

Homework 1 (Life Cellular Automata) - This first homework is due at the end of the FIRST WEEK of class.

Homework 2 (Flocking) - Due February 9, 2007.

Homework 3 (Reaction-Diffusion) - Due March 5, 2007.


Reading

Jan 8-12: Chapter 1 in Origins of Life.
Jan 10 (Wed): Christopher Langton's Self-Reproducing Loops.
Jan 12 (Fri): Stephen Wolfram's Cellular Automata Classes. Optional: Christopher Langton's Edge of Chaos.

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 5-9: Chapter 7 and 8 in Origins of Life.
Mar 7 (Wed): Simulation of
Sympatric Speciation.
Mar 9 (Fri): Plant growth simulation with voxel space automata.

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 4 (Wed): Evolving
virtual creatures from Karl Sims.
Apr 6 (Fri): Evolving autonomous agents from Frank Dellaert and Randall Beer.

Apr 9 (Wed): Evolution and manufacturing of crawling robots.
Apr 11 (Fri): Swimming creatures from Tu and Terzopoulos.

April 16-20: Chapter 11 in Origins of Life.
Apr 16 (Mon): Thomas Ray's
Tierra system of evolving programs.
Apr 20 (Fri): Robert Axelrod and the Iterated Prisoner's Dilemma.

April 23-27: Chapter 12 in Origins of Life.
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.

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.

Books and Articles

Required textbook:

"The Origins of Life: From the Birth of Life to the Origin of Language"
John Maynard Smith and Eors Szathmary

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.


Course Topics

Self-Organization

self-replication (von Neumann, Christopher Langdon, others)
complexity at edge of chaos

Molecules

artificial chemistry
metabolism
molecular hypercycles
RNA folding
DNA codon optimality

Membranes and Cells

membrane formation
cell models
cell cytoskeletons
immune systems


Cell aggregation (courtesy of Kurt Fleischer)

Development

multicellular development
slime mold aggregation
pattern formation
gene cascades/networks
cell simulation of development (Fleischer and Barr)
L-systems for plant development


Plant growth (courtesy of Przemyslaw Prusinkiewicz)

Evolution

evolution
speciation
Dawkins on major events in evolution
genetic algorithms
blind watchmaker
co-evolution (Karl Sims, Craig Reynolds, Danny Hillis)
sexual selection

Locomotion

modes of locomotion
Braitenberg vehicles
evolution of walking and hopping motion (Karl Sims)
swimming (Terzopoulos)


Walking simulation (courtesy of Karl Sims)

Physics Simulation Techniques

partial differential equations (PDE's)
reaction-diffusion
cellular automata (life, spiral waves, etc.)
mass-spring systems


Tentacle motion (courtesy of Andrew Cantino)

Multi-Organism Interaction

communication
Prisoner's dilemma, tit-for-tat
predator/prey
flocks, schools, swarms
ant foraging
parasites
digital creatures (Thomas Ray)


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.

Artificial life links.


Go to Greg Turk's Home Page.