COSC 420/527
Biologically-Inspired Computation
Spring 2014
Instructor:
Bruce MacLennan, PhD
Phone: 974-0994
Office: Min Kao 550
Office Hours: 1:30–2:30 MWF, or make an
appointment
Email: maclennan
AT eecs.utk.edu
GTA:
Zahra Mahoor
Office: Min Kao 204
Hours: 12:30–2:00 TR or make an appointment
Email: zmahoor at utk.edu
Classes: 2:30–3:20 MWF in Min Kao 524
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
COSC 420 and COSC 527 focus 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 or seven moderate-sized projects, and I
will consider group projects (but you will have to do
more!). There are no other assignments or tests for COSC
420 (but there are for COSC 527!).
COSC 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; for undergraduate CS
students, the recommended
background is completion of the core courses. Since this is
a senior-level CS course, I will expect you to be competent
programmers. 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 the 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.)
For COSC 420 there will be no exams or other homework.
Students taking COSC 527 (i.e. the course for graduate credit)
will be expected to do specified additional work.
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 10% deduction for each day late, up to 3 days;
after that your grade will be an F.
Text
COSC 420 & 527: Flake, Gary William. The
Computational Beauty of Nature. MIT Press, 1998.
See also the book’s online
webpage (including software).
Student Learning
Outcomes
1. Students will
be able to explain basic concepts of dynamical systems.
2. Students will
be able to explain how biological systems exploit natural
processes.
3. Students will
be able to explain how large numbers of agents can self-organize
and adapt.
4. Students will
be able to explain how complex and functional high-level
phenomena can emerge from low-level interactions.
5. Students will
explain how computational processes can be derived from natural
models.
6. Students will
be able to implement simple bio-inspired algorithms.
7. Students will
be able to design and conduct experiments to investigate
empirically bio-inspired systems.
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 Spring 2013, Spring 2012, Fall 2010, 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 I [slides (1 per
page), slides (6 per
page)]
- Neural Networks and Learning:
pattern classification & linear separability, single- and
multilayer perceptrons, backpropagation (ch. 22)
Part II — Artificial Neural Net Learning [slides (1pp, 6pp)]
- Recurrent Networks: artificial neural nets, associative
memory, Hebbian learning, Hopfield networks (ch. 18)
Part III.A — Hopfield Network [*slides (1pp, 6pp)]
Part III.B — Stochastic Networks [slides (1pp, 6pp)]
- Evolutionary Programming:
biological adaptation & evolution, genetic algorithms,
schema theorem (ch. 20)
Part IV.A — Genetic Algorithms [slides (1pp, 6pp)]
Part IV.B — Thermodynamics, Life, and Evolution [slides (1pp, 6pp)]
- Spatial Models:
Wolfram’s classification, Langton’s lambda, CA models in nature,
excitable media (ch. 15)
Part V.A — CAs [*slides (1pp, 6pp)]
Part V.B — Pattern Formation [slides (1pp, 6pp)]
Part V.C — Slime Mold [slides (1pp, 6pp)]
Part V.D — Excitable Media [slides (1pp, 6pp)]
Part V.E — Segmentation [slides (1pp, 6pp)]
- Autonomous Agents and
Self-Organization: termites, ants, flocks, herds, and
schools (ch. 16)
Part VI.A — Flocks, Herds, and Schools [slides (1pp, 6pp)]
Part VI.B — Ants (Real and Artificial)
Part VI.C — Nest Building [slides (1pp, ˙˙)]
- Competition and Cooperation:
zero- and nonzero-sum games, iterated prisoner’s dilemma, stable
strategies, ecological & spatial models (ch. 17)
Part VIII.A — The Iterated Prisoners’ Dilemma [slides (1pp, 6pp)]
Part VIII.B — Synchronization
Part VIII.C — Thermodynamics, Life, and Evolution
- Biological Neural Networks: neurons, network dynamics,
learning mechanisms, perception and attention, motor control and
reinforcement learning, learning and memory, language, executive
function
- Review of Key Concepts
Part IX — Review of Key Concepts
We will do about one topic every two weeks or so.
Projects/Assignments
-
Project 1
(due Feb 11): see the project description (pdf)
See Kristy’s
web page <web.eecs.utk.edu/~kvanhorn/cs594_bio/project4/backprop.html> for the data for Problems
1 and 2 and for additional information, hints, tips,
etc.
- Project 2
(due March 5): please see the Project Description [html].
See Kristy’s
web page for additional information, hints, tips,
etc.
- Project 3 (due March 24): please see the project description
(pdf).
For additional suggestions, see Kristy’s help page.
- Project 4 (due April 8): please see the project description
(pdf).
For additional suggestions, see Kristy’s help page.
- Project 5 (due April 28):
please see the project
description (pdf).
For additional suggestions, see Kristy’s help page.
- Extra Credit Project 6 (due
May 5): please see the project description
(pdf).
For additional suggestions, see Kristy’s help page.
Simulations
- CBN Programs
You can run most of these as applets from the Website
for Flake’s textbook (see Supplemental
Material website) You can also download sources and
executables 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, Java requires a 64-bit browser browsers (e.g., Firefox
or Safari, but not Chrome). Also beware that if you are
running NetLogo over a slow connection, it will have to download
the NetLogoLite jar (3.3MB). If you have downloaded a
NetLogo system, you can also download the programs (.nlogo
files) directly from the NetLogo
directory.
- Ant Foraging —
simplified simulation of any trail formation during foraging
- Life — Conway’s classic Game
of Life
- CA 1D
General Totalistic — 1D totalistic CA simulator (good
for Project 1)
- AICA — activation-inhibition
cellular automaton for pattern formation
- Pattern — pattern
formation by diffusing activation/inhibition
morphogens
- Activator-Inhibitor
— continuous-time activator/inhibitor system
- Segmentation —
Clock-and-wavefront model of segmentation (somitogenesis) in
embryological development
- B-Z Reaction —
Belousov-Zhabotinsky reaction (equivalent to Hodgepodge
machine)
- SlimeSpiral — spiral
aggregation of slime molds
- SlimeSpiralBig —
spiral aggregation of slime molds (focused on fewer
cells)
- SlimeStream —
streaming aggregation of slime molds
- SIPD-async —
spatial iterated prisoner's dilemma
- The following are NetLogo 4.1 programs, which I’m gradually
converting to NetLogo 5.0, after which the older versions will
be removed. Most of them will run without change on NetLogo 5.0.
- 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 synchronization model
- Fireflies-opt-mobile
— Wilensky’s firefly synchronization 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
is web.eecs.utk.edu/~mclennan/Classes/420
or web.eecs.utk.edu/~mclennan/Classes/527
Last updated: 2014-04-24.