**Instructor:**

Bruce MacLennan

Phone: 974-5067

Office: 217 Claxton Complex

Hours: 2:00-3:30 MW, or make an
appointment

Email: `maclennan@cs.utk.edu`

**TA:
**Yifan Tang

Phone: 974-8990

Office: 124 Claxton Complex

Hours: 5:00-6:00 W, or make an appointment

Email:

**Classes:** 3:40-4:55 MW in Cl 205

**Directory
of Handouts, Labs, etc.
**(currently empty)

Class listserv (cs594compsys) archives.

**
**

Directory of Software, including Unix programs from CBN

This page: `http://www.cs.utk.edu/~mclennan/Classes/420`

- Description
- Prerequisites
- Grading
- Text
- Tentative List of Topics
- Projects/Assignments
- Simulators

- Online Resources
- Project Data Files (currently none)
- MacLennan's home page
- Department of Computer Science
- UTK Home Page

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
attack?

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.

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
the projects.*

Students taking CS 594 (i.e. the course for graduate credit) will be expected to do specified additional work, including some mathematical analysis.

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
pdf format.

- 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:

- Competition
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:

- Strategy and Conflict: An Introductory Sketch of Game Theory

- The PRISON Project (Iterated Prisoners Dilemma)

- Spatial Iterated Prisoner's Dilemma demo & links

- Multiagent models at the Center on Social and Economic Dynamics (Brookings Institution)

- Strategy and Conflict: An Introductory Sketch of Game Theory
- 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)

- Project 1 (due Sept. 15) handout. For your convenience, an experimental record form is available in either pdf or (modifiable) MS Word format.
- Homework 1 (due Sept. 29) handout. Required for CS 594 students, extra-credit for CS 420.
- Project 2 (due Oct. 20) handout.
- Project 3 (due Nov. 29) handout.

- Extra-credit Project 4 (due Dec. 9) handout.

**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 experiments directory.- 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

- SlimeSpiral - spiral formation by slime molds
**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.

- Website for Flake textbook.

- Interactive Models and Simulations keyed to 594 textbook (from NECSI)
- Visualizing Complex Systems Science (from NECSI)
- Scientific institutes devoted to complex systems:
- Santa Fe Institute
- New England Complex Systems Institute

- StarLogo on the Web (a language for simple simulations)
- Hopfield (Attractor) Network demonstration
- Review of Gaussian (Normal) Distributions [pdf]
- Necker Cube demonstration of constraint satisfaction:
- A short introduction to Genetic Algorithms [pdf,ps]
- Exploring Emergence from MIT Media Lab - Lessons about emergence based on the Game of Life CA
- PDP++ Software Homepage (Colorado). Neural net software.

- Online Demonstrations Illustrating Flocking Behavior

Return to MacLennan's home page

Send mail to Bruce MacLennan /

This page in

Last updated: 2004-11-29.