CS 420/527
Biologically-Inspired Computation
Fall 2010
Instructor:
Bruce MacLennan
Phone: 974-5067
Office: 217 Claxton Complex
Office Hours: 3:45–5:00 Tues., or make
an
appointment
Email: maclennan AT eecs.utk.edu
GTA:
Kristy
Van Hornweder
Phone: 974-6433
Office: Claxton 122C
Office Hours: TR 3:00–4:00 and W 3:30–4:30
or make
an appointment
Email: kvanhorn
AT eecs.utk.edu
Classes: 11:10–12:25 TR in Claxton 206
Directory
of Handouts, Labs, etc.
This page: http://web.eecs.utk.edu/~mclennan/Classes/420
or http://web.eecs.utk.edu/~mclennan/Classes/527
Information
Description
CS 420 covers advanced topics in machine intelligence with an emphasis
on faculty research. CS 527 focuses on biologically-inspired
computation,
including recent developments in computational methods inspired by
nature, such as neural networks, genetic algorithms and other
evolutionary computation systems, ant swarm
optimization, artificial immune systems, swarm intelligence, cellular
automata, and multi-agent systems.
Fundamental to the understanding and implementation of
massively parallel,
distributed computational systems is an investigation of the behavior
and
self-organization of a variety of systems in which useful work emerges
from the
interaction of many simple agents. The question we address
is: How should a multitude 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 changing needs,
damage, and
attack?
Fortunately, nature provides many models from which we can
learn.
In this course we will discuss natural computational 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.
You will learn about 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. These techniques are also
used in computer games and computer animation.
Since
the goal of this goal of this course is for you to gain an intuitive
understanding of adaptive and self-organizing computational systems,
the lectures make extensive use of videos, simulations, and other
computer demonstrations. Your grade will be based on about six
moderate-sized projects, and I will consider group projects (but
you will have to do more!). There are no other
assignments or tests. (In the past, students who
did all the work received A or B+ in this course.)
CS 527 “Biologically-Inspired Computation” is approved for the
Interdisciplinary
Graduate Minor in Computational Science (IGMCS).
Prerequisites
This is a project-oriented course and therefore
all students will be expected to have basic programming
skills.
However, for non-EECS students (e.g., those in biology, ecology,
psychology, etc.) I will provide alternate non-programming
assignments. If you have any questions about whether you
should
take this course, please send
me mail.
Grading
Your grade will be based
on about six 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. (Non-EECS students can do alternative,
non-programming
assignments.)
There will be no exams or other homework.
Students taking CS 527 (i.e. the course for graduate credit) will be
expected to do specified additional work.
In the past, most students have earned A or B+ in this course.
If you meet all the requirements of a project, you will
generally
get a B on it. Higher grades (B+, A–, A) are awarded for
exemplary work. If you do not meet the project requirements,
or
your project is late, you will get a grade lower than B on that project.
Late Policy: There will be a half letter grade deduction for each day late, up to 3 days; after that your grade will be an F.
Text
CS 420 & 527: Flake, Gary William.
The Computational Beauty of Nature. MIT
Press, 1998. See also the book’s online
webpage (including software).
Evolving List of Topics
Chapter numbers refer to Flake unless otherwise specified.
Slides
for each lecture will be posted in the course of the
semester.
(Slides from the Fall 2009, Fall 2008, Fall
2007, Fall
2004 and Fall 2003
versions of the course
are still available on their websites.) Note: An “*”
indicates that the slides were revised after class.
- Overview: course description, definition of
biologically-inspired computing, why it is important
Part 1 slides (pdf): Bio-inspired computation and Ants: 6/page (5.2 MB) or 1/page (5.4 MB).
- Spatial Models: Wolfram’s classification, Langton’s
lambda, CA models in nature, excitable media (ch. 15)
*Part 2A slides “Cellular Automata”: 6pp (1.5 MB) or 1pp (1.9 MB).
**Part 2B slides “Pattern Formation”: 6pp (8 MB) or 1pp (8.3 MB).
Part 2C: “Slime Mold”: 6pp (7.1 MB) or 1pp (7.7 MB).
Part 2D: “Excitable Media”: 6pp (1.6 MB) or 1pp (1.7 MB).
- Natural and Analog Computation: artificial neural nets,
associative memory, Hebbian learning, Hopfield networks (ch. 18)
**Part 3A slides “Hopfield Network”: 6pp (6.6 MB) or 1pp (6.7 MB)
Part 3B slides “Stochastic Networks”: 6pp (1.5 MB) or 1pp (1.6 MB)
- Neural
Networks and Learning: pattern classification & linear
separability, single- and multilayer perceptrons, backpropagation,
internal representation (ch. 22)
Part 4A slides “Neural Net Learning”: 6pp (2.1 MB) or 1pp (2.1 MB).
*Part 4B slides “Real Neurons”: 6pp (67 MB) or 1pp (68 MB).
- Evolutionary Programming: biological adaptation &
evolution, genetic algorithms, schema theorem (ch. 20)
Part 5A slides “Genetic Algorithms”: 6pp (1.4 MB) or 1pp (1.5 MB).
Part 5B slides “Thermodynamics, Life, and Evolution”: 6pp (2 MB) or 1pp (2 MB).
- Autonomous Agents and Self-Organization: termites, ants, flocks, herds, and schools (ch. 16)
Part 6A slides “Flocks, Herds, and Schools”: 6pp (3.2 MB) or 1pp (3.3 MB).
- Competition
and Cooperation: zero- and nonzero-sum games, iterated prisoner’s
dilemma, stable strategies, ecological & spatial models (ch. 17)
- Review of Key Concepts
Part 8 slides: 6pp (100 KB) or 1pp (100 KB).
We will do about one topic every week or so.
Projects/Assignments
Project 1 is due Sept. 7; please see the Project Description [pdf].
Additional helpful information is available at Kristy’s website <www.cs.utk.edu/~kvanhorn/cs594_bio/project1/ca.html>.
If you want to use my Experimental Record, it is also available [doc file].
Project 2 is due Sept. 23; please see the Project Description [pdf].
Additional helpful information is available at Kristy’s website <www.cs.utk.edu/~kvanhorn/cs594_bio/project2/aica.html>.
Project 3 is due Oct. 14; please see the Project Description.
Additional helpful information is available at Kristy’s website <www.cs.utk.edu/~kvanhorn/cs594_bio/project3/hopfieldnet.html>.
Project 4 is due Nov. 4; please see Project Description [pdf].
Additional helpful information is available at Kristy’s website <www.cs.utk.edu/~kvanhorn/cs594_bio/project4/backprop.html>.
Project 5 is due Nov. 24; please see the Project Description [pdf].
Additional helpful information is available at Kristy’s website <www.cs.utk.edu/~kvanhorn/cs594_bio/project5/ga.html>.
Project 6 is due Dec. 9; please see the Project Description [pdf].
Additional helpful information is available at Kristy’s website <www.cs.utk.edu/~kvanhorn/cs594_bio/project6/pso.html>.
Simulations
- 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.
- NetLogo Programs
You are supposed to
be able to run NetLogo programs as Java applets. To do this,
click on their
name below. However, they don’t seem to run on all browsers
(see information with programs). Also beware that if you are
running NetLogo over a slow connection, it will have to download the
NetLogoLite jar (1.9MB). If you have downloaded a NetLogo
system,
you can
also download the programs (.nlogo files) directly from the NetLogo4.1
directory. (Firefox seems to mess up the display; try Safari or another browser.)
- The
following are NetLogo 4.0 programs, which I'm gradually converting to
NetLogo 4.1, after which the older versions will be removed.
- Fur
— uses small and large neighborhoods for activation-inhibition
system
- Perceptron — demonstration of perceptron learning
- Termites
— simulation of Resnick “turmites”
- Pillars
— simulation of Deneubourg model of pillar construction by
termites
- The following are NetLogo 3.1.5 programs. If you
want to run these on your own computer, you will have to download the
NetLogo 3.1.5 system, which is not the latest version. Soon I
will put the NetLogo 4.0 versions of these programs on the website,
which will run under the latest version of NetLogo.
- Vants
— Langton’s Vants (virtual ants)
- Vants-Large-Field
— Langton’s Vants on a large field (may take too much memory)
- Generalized-Vants
— generalized vants, with a programmable rule
- Ants
— simulation of Resnick ants
- Firefly
— Camazine’s firefly synchonization model
- Fireflies-opt-mobile
— Wilensky’s firefly synchonization model
- Flocking
— implementation Reynold’s “boids” flocking model
- EIPD
— ecological simulation of Iterated Prisoner’s Dilemma
- SIPD
— spatial simulation of Iterated Prisoner’s Dilemma
Online Resources
Return to
MacLennan’s home page
Send
mail to Bruce MacLennan / MacLennan@eecs.utk.edu
This page in web.eecs.utk.edu/~mclennan/Classes/527
Last updated: 2010-11-29.