Bruce MacLennan [he/his/him]
Office: Min Kao 550
Office Hours: 2:30–3:30 MF, or make an
maclennan AT utk.edu
Nicholas Van Nostrand
Office: Min Kao 217
Hours: 2:30–3:30 MWF, or make an appointment
Email: nvannost AT vols.utk.edu
Email: rflint AT vols.utk.edu
Classes: 11:15–12:05 MWF in Min Kao 524
Directory of Handouts, Labs, etc.
This page: http://web.eecs.utk.edu/~mclennan/Classes/420-527
COSC 420, 427, and 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
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 they will have to be more
COSC 527 “Biologically-Inspired Computation” is approved for the
Graduate Minor in Computational Science (IGMCS).
If you are interested in Artificial Neural Net Learning: take
If you are interested in Biological Neural Networks: take COSC
This is a project-oriented course and therefore all students will be
expected to have basic programming skills; for undergraduate CS
students, the recommended
minimum background is completion of the core courses. Since
this is a senior/graduate-level CS course, I will expect you to
be competent programmers and to have the general background of
a senior in CS. 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
Your grade will be based on the projects, in which you will
conduct and write up experiments using either off-the-self
software or software that you program yourself. (Non-EECS
students can do alternative, non-programming assignments.)
Students taking COSC 427 and COSC 527 will be expected to do
specified additional work beyond what is required for COSC 420.
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.
There will be a 20% deduction for each day late, up to 2 days;
after that your grade will be an F. No exceptions!
There will be occasional pop quizzes, which together will count
no more than one project.
Flake, Gary William. The Computational Beauty of Nature.
MIT Press, 1998. See also the book’s
online webpage (including software).
- For Students with Disabilities
Students who have a disability that requires accommodation(s)
should make an appointment with the Office of Disability Services
(974-6087) to discuss their specific needs as well as schedule an
appointment with me during my office hours.
- Name and Pronoun Accommodations
If you use a name and/or pronouns other than what is in Banner,
email me with the name and/or pronouns that you would like
me to use and I will be glad to accommodate this request.
1. Students will
be able to explain basic concepts of dynamical systems.
2. Students will
be able to explain how biological systems exploit natural
3. Students will
be able to explain how large numbers of agents can self-organize
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
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. Note: An “*” indicates that the slides were revised after
We will do about one topic every two weeks or so.
- Overview: course
description, definition of biologically-inspired computing, why
it is important
- Spatial Models:
Wolfram’s classification, Langton’s lambda, CA models in nature,
excitable media (ch. 15)
Part II.A — CAs
Part II.B —
Part II.C —
Part II.D —
Part II.E —
- Recurrent Networks: artificial neural nets, associative
memory, Hebbian learning, Hopfield networks (ch. 18)
— Hopfield Network
III.B — Stochastic Networks
- Evolutionary Programming:
biological adaptation & evolution, genetic algorithms,
schema theorem (ch. 20)
— Genetic Algorithms
IV.B — Thermodynamics, Life, and Evolution
- Autonomous Agents and
Self-Organization: termites, ants, flocks, herds, and
schools (ch. 16)
Part V.A — Flocks,
Herds, and Schools
Part V.B — Ants (Real
Part V.C — Nest
- Competition and Cooperation:
zero- and nonzero-sum games, iterated prisoner’s dilemma, stable
strategies, ecological & spatial models (ch. 17)
Part VI.A —
The Iterated Prisoners’ Dilemma
Part VI.B — Synchronization
- Review of Key Concepts
Part VII — Review of
- NetLogo Programs
You can run the following NetLogo 6 programs as Java
applets. To do this, click on their name below. This
works with Firefox and Safari, but not Chrome. If you have
downloaded a NetLogo system,
you can also download the program sources (.nlogo files)
directly from the NetLogo directory or
from the applet pages. [Most of these programs have “web
versions,” which run directly in your browser (i.e., don't
require Java), but they are generally less capable, due to the
current limitations of NetLogoWeb.]
- The following are NetLogo 4.1 programs, which I’m gradually
converting to NetLogo 6.0, after which the older versions will
be removed. Most of them will run without change on NetLogo 6.0.
- The following are NetLogo 4.0 programs, which I’m gradually
converting to NetLogo 4.1, after which the older versions will
- 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
- Vants — Langton’s
Vants (virtual ants)
— Langton’s Vants on a large field (may take too much
— generalized vants, with a programmable rule
- Ants — simulation of
- Firefly —
Camazine’s firefly synchronization model
— 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
- 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
- Slides from the Spring 2019, Spring 2018, Spring 2017, Spring 2016, Spring 2015, Spring 2014, 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.
for Flake textbook.
- Bar-Yam, Yaneer. Dynamics of Complex Systems.
available online in pdf format.
Interactive Models and Simulations keyed to Bar-Yam book
Visualizing Complex Systems Science (from NECSI)
- Scientific institutes devoted to complex systems:
- Santa Fe Institute
- New England Complex Systems Institute
including online access to Wolfram’s A New Kind of Science
(NKS) and the Complex Systems
journal, focused on NKS.
NetLogo (a multiagent simulation language based on StarLogo)
(another multiagent simulational language)
Review of Gaussian (Normal) Distributions [pdf]
- A short introduction to Genetic Algorithms [pdf, ps]
PDP++ Software Homepage (Colorado). Neural net
emergent package for computational cognitive neuroscience
Hopfield Network Simulator (java applet)
- Golly Game of Life simulator: http://golly.sourceforge.net.
- Online demonstrations of genetic algorithms / evolutionary
- Online Demonstrations Illustrating Flocking Behavior
Return to MacLennan’s
to Bruce MacLennan / MacLennan@utk.edu
Last updated: 2021-05-09.