CS 289: Bio-inspired Multi-agent Systems a.k.a Collective A. I.

Course Websites: Spring 2016, Spring 2015

How do we engineer robust collective behavior from the cooperation of vast numbers of unreliable agents? Biology hints that there may be significant power to be achieved from building things out of large numbers of cheap and imprecise parts with limited life: millions of cells cooperate to self-assemble a multicellular organism, colonies of ants and bees cooperate to forage vast areas and construct complex nests without supervisor or predefined plan, fish schools and bird flocks migrate with high efficiency and evade predators. These systems achieve a high level of collective intelligence from individuals with simple rules and simple capabilities. Engineering provides many incentives for designing systems with these same properties, from computer networks embedded in smart buildings or monitoring the environment, to multi-robot systems in applications from agriculture to search and rescue, to creating new computational substrates like self-assembling nano-structures.

This class will survey bio-inspired approaches to understanding and designing collective intelligence in different domains. A unifying theme amongst the different approaches and domains is the desire to construct robust systems consisting of many individually unreliable but cooperative nodes, and to program complex but predictable global behavior. The class covers bio-inspired algorithms, analysis techniques, and programming paradigms for engineering self-organizing systems. We will read papers that model biological systems and provide inspiration for new ways of thinking. We will then read corresponding papers that focus on algorithms, programming paradigms, and theory for engineering self-organizing systems.

Topics vary year to year, and usually include: (1) swarm intelligence: social insects and animal groups, with applications to networking and robotics, (2) cellular computing: including cellular automata/amorphous computing, and applications like self-assembling robots and programmable materials, (3) evolutionary computation and its application to optimization and design. On occasion we cover topics like synthetic biology, dna self-assembly, human collective behavior, etc. The class is primarily based on discussions of research papers, along with a research project.

For more details on the class, visit the most recent class website.

Links to Previous Versions of the Course:

Extended Reading List

Spring 2011 (Multi-Robot Project) | Spring 2010 (Multi-Robot Project)
Fall 2008 | Fall 2007 | Fall 2006 | Fall 2004