CS 420/594: Advanced Topics in Machine Intelligence
Fall 2004: Complex Systems and Self-Organization
Office: 217 Claxton Complex
Hours: 2:00-3:30 MW, or make an
Office: 124 Claxton Complex
Hours: 5:00-6:00 W, or
make an appointment
Classes: 3:40-4:55 MW in Cl 205
of Handouts, Labs, etc.
Class listserv (cs594compsys) archives.
Directory of Software, including Unix programs from CBN
This page: http://www.cs.utk.edu/~mclennan/Classes/420
CS 420 covers advanced topics in machine intelligence with an emphasis
on faculty research; CS 594 is similarly focused on faculty research. In
the Fall semester of 2004 the topic for my CS 420/594 will be complex
systems and self-organization.
Fundamental to the theory and implementation of massively parallel,
distributed computation systems is an understanding of the behavior and
self-organization of complex systems: systems in which the
interaction of the components is not simply reducible to the properties
of the components. How should systems of millions of independent
computational (or robotic) agents cooperate in order to process
information and achieve their goals, in a way that is efficient,
self-optimizing, adaptive, and robust in the face of damage or
Fortunately, nature provides many models from which we can learn.
In this course we will discuss natural systems that solve some of the
same problems that we want to solve, including adaptive path
minimization by ants, wasp and termite nest building, army ant raiding,
fish schooling and bird flocking, pattern formation in animal coats,
coordinated cooperation in slime molds, synchronized firefly flashing,
soft constraint satisfaction in spin glasses, evolution by natural
selection, game theory and the evolution of cooperation, computation at
the edge of chaos, and information processing in the brain.
We will also investigate specific computational applications of these
ideas, including artificial neural networks, simulated annealing,
cellular automata, ant colony optimization, artificial immune systems,
particle swarm optimization, and genetic algorithms and other
evolutionary computation systems.
This is a project-oriented course and the lectures make extensive use of simulations and other computer demonstrations.
This is a project-oriented course and therefore all students will be expected to have basic programming skills.
Students taking the couse for graduate credit should have basic calculus through differential equations (e.g. Mat 231,
241), linear algebra (e.g. Mat 251), probability and statistics (e.g.
Mat 323). Note! Take these prerequisites seriously! You will need
these skills to understand the material, to do the homework and to do
Your grade will be based
on a series of projects, in which you will conduct and
write up experiments using the software associated with Flake's
book, as well as conducting experiments with software that you program yourself.
Students taking CS 594 (i.e. the course for graduate credit) will be
expected to do specified additional work, including some mathematical analysis.
Subject to change!
CS 420 & 594: Flake, Gary William. The Computational Beauty of Nature. MIT Press, 1998. See also the book's online webpage (including software).
CS 594: Bar-Yam, Yaneer. Dynamics of Complex Systems.
Perseus, 1997. This book is available online in
Tentative List of Topics
(Chapter numbers refer to Flake unless otherwise specified. Slides from the Fall 2003 version of the course
are still available on its website. Note: An "*" after the
lecture number indicates that the slides were revised after class.)
We will do about one topic every week or so.
- Overview: course description, the complex systems field, complex
systems, emergence, complexity, methods
Lectures: 1*, 2*.
- Cellular Automata: Wolfram's classification, Langton's lambda, CA models in nature, excitable media (ch. 15)
Lectures: 3*, 4*, 5, 6, 7*.
- Autonomous Agents and Self-Organization: termites, ants, flocks, herds, and schools (ch. 16)
Lectures: 8*, 9*, 10*, 11*, 12, 13, 14, 15*, 16.
Some links on synchronized fireflies in the Smoky Mountains:
Links on flocking & schooling behavior:
and Cooperation: zero- and nonzero-sum games, iterated prisoner's
dilemma, stable strategies, ecological & spatial models (ch. 17)
Lectures: 17*, 18*, 19*.
Some useful links:
- Natural and Analog Computation: artificial neural nets, associative memory, Hebbian learning, Hopfield networks (ch. 18)
Lectures: 20 [1.4 MB], 21* [1 MB], 22*, 23* [1.5 MB], 24*, 25.
A useful link:
- Complex Systems & Phase Transitions: summary (ch. 19)
- Genetics and Evolution: biological adaptation & evolution, genetic algorithms, schema theorem (ch. 20)
Lectures: 26, 27.
- Neural Networks and Learning: pattern classification & linear
separability, single- and multilayer perceptrons, backpropagation,
internal representation (ch. 22)
Lectures: 28, 29*.
- Adaptation: summary (ch. 23)
As time permits:
- Nonlinear Dynamics in Simple Maps (ch. 10)
- Strange Attractors (ch. 11)
- Producer-Consumer Dynamics (ch. 12)
- Controlling Chaos (ch. 13)
- Chaos, Randomness, and Computability (ch. 14)
- CBN Programs
You can run most of these as applets from the Website for Flake's textbook. You can also download sources and executable from there. Some of these are already available in the experiments/CBN subdirectory. The Unix executables are in experiments/CBN/cbn/code/bin.
- Starlogo Programs
You are supposed to be able to run
StarLogo programs as Java applets. To do this, click on their
name below. However, they don't seem to run on all browsers
(perhaps due to different versions of JRE). If anyone can figure
out why, let me know. Also beware that if you are running
StarLogo over a slow connection, it will have to download the starlogo
applet (1.3MB). If you have downloaded a StarLogo system, you can
also download the programs (.slogo files) directly from the
- SlimeSpiral - spiral formation by slime molds
- SlimeStream - streaming aggregation by slime molds
- Pattern - pattern formation by activation & inhibition
- termites - Resnick's termite (or "turmite") simulation
- ResnickAnts - Resnick's ant foraging simulation
- firefly - synchronized firefly flashing
- Flock - coordinated movement of a flock of birds or school of fish
- Lattice Swarm Simulator (directory) from Iasc Dept., ENST de Bretagne.
I could not get it to compile, in case any one wants to work on it.
Return to MacLennan's home page
Send mail to Bruce MacLennan / MacLennan@cs.utk.edu
This page in www.cs.utk.edu/~mclennan/Classes/420
Last updated: 2004-11-29.