Radhika Nagpal

(Starting Fall 2004)
Assistant Professor of Computer Science
Division of Engineering and Applied Sciences
Harvard University

Research Fellow
Department of Systems Biology, Harvard Medical School


In fall 2004, I will be joining Harvard, as an assistant professor in Computer Science, in the Harvard Division of Engineering and Applied Sciences. Currently I am a spending a year as a research fellow in the new Department of Systems Biology at Harvard Medical School, exploring computational models of development in Marc Kirschner's lab. Previously, I was a postdoctoral lecturer and graduate student at the MIT Computer Science and Artificial Intelligence Laboratory and a member of the Amorphous Computing Group.

How to find me:
Send me email at radhi at alum.mit.edu and rad at eecs.harvard.edu. You can find me at Harvard Medical School, Sealy Mudd room 221.


CS 266 (Fall 2004): Biologically-inspired Distributed and Multi-agent Systems
Fall 2004, Tues/Thurs 10-11:30

A colony of cells cooperates to form a multicellular organism under the direction of a common genetic program. A swarm of bees cooperates to construct a hive. Emerging technologies are making possible a new class of large-scale, embedded, distributed systems --- from vast sensors networks to smart materials and self-reconfigurable robots. A unifying theme amongst these domains is the desire to construct robust systems consisting of many individually unreliable nodes, that give complex but predictable global behavior.

This class will survey the state of the art in biologically-inspired approaches to designing robust collective behavior, in diverse domains. Topics include: swarm intelligence, amorphous computing and reconfigurable robotics, immune-inspired systems, synthetic biology. Students will lead discussions of research papers and undertake a semster-long research project.

2nd Workshop on Engineering Self-organizing Applications (ESOA)
at the Autonomous Agents and Multiagent Systems Conference (AAMAS), July 19-23, New York, 2004.

Self-organising behaviour is often the result of the execution of a number of individual application components that locally interact with each other aiming to achieve their local goals, for example systems that are based on agents or distributed objects. The main characteristic of such systems is their ability to achieve complex collective tasks with relatively simple individual behaviours, without central or hierarchical control. A major open issue is therefore how to engineer desirable emergent behaviour in self-organising applications and how to avoid undesirable one given the requirements and the application environment. Engineers often take inspiration from the real world, for example from biology, chemistry, sociology and the physical world. For example, typical examples are systems that reproduce socially-based insect behaviour, such as ants-based systems, artificial life, or robots. Although the results achieved so far are promising, further work is required until the problem is sufficiently addressed. This workshop will focus on interaction mechanisms and middleware technology specifically supporting self-organisation, as well as on techniques for design, test and verification that enable the establishment of local behaviours, such as interactions and tasks, in anticipation of a desired high-level goal. Organizers: Giovanna Di Marzo, Anthony Karageorgos, Sven Brueckner, Radhika Nagpal

Synthetic Biology 1.0: First International Meeting on Synthetic Biology
at Massachusetts Institute of Technology, Cambridge MA, June 10-12, 2004.

Research   |   Teaching   |   Other Fun Stuff


Cells with identical DNA cooperate to form complex structures, such as ourselves, with incredible reliability in the face of constantly dying and replacing parts. Emerging technologies, such as MEMs devices, are making it possible to bulk-manufacture millions of tiny computing agents with sensors and actuators, and embed these into materials and the environment. We would like to build novel applications from these technologies --- programmable materials, smart dust, self-reconfiguring robots, self-assembling nanostructures --- that achieve the kind of complexity and reliability that cells achieve. This poses two significant challenges:

My research interest is developing programming paradigms for robust collective behavior, inspired by biology. Biological systems get tremendous mileage by using vast numbers of cheap and unreliable components to achieve complex goals reliably. Developmental biology can provide a source of inspiration for algorithms and general principles for constructing well-defined topological and functional structure, in the face of cell death, variations in cell numbers, and changes in the environment. Study of social insects can teach us how to program self-assembling and distributed robots. Ultimately however, the goal to create a framework for the design and analysis of self-organising systems. Our approach is to formalize these general principles as programming languages --- with explicit primitives, means of combination, and means of abstraction. Global-to-local compilation allows us to take advantage of traditional computer science techniques for managing complexity. while relying on biological models for robustness at the local level. This methodology is applicable to many emerging fields: self-assembly, reconfigurable robots, sensor networks, distributed robots, and other embedded multi-agent systems. The challenge is developing a catalog of robust primitives, appropriate methods for analysis, and designing new high-level programming languages that are expressive enough to capture the application goals but still compilable into local agent behavior. The goal of this research is to to develop algorithms, programming languages, and engineering principles for these types of systems.

My other research interest is understanding robust collective behavior in biological systems. Building artificial systems can give us insights into how complex global properties can arise from identically-programmed parts --- for example, how cells can form scale-independent patterns, how large morphological variations can arise from small genetic changes, and how complex cascades of decisions can tolerate variations in timing. These insights can be used to understand the capabilities of biological systems during development or design synthetic biological systems. Computational models can be used to suggest conditions on cell behavior and cell-cell interactions necessary to acheive system-level properties. We are currently exploring scale-independent pattern formation in fruit fly and frog development. The goal of this research is to develop computational models and simulations of multicellular pattern formation and morphogenesis in biological systems, in collaboration with biologists, that can be used to make testable predictions for experimentation.

Webpages on current and past research:

Research Areas:


CV and Research Statement


As a postdoctoral lecturer at MIT, I taught several courses: