We’re interested in understanding and designing complex and emergent systems—systems of many independent interacting components, where each component may be understood very well in isolation, but when many of them get together, some interesting new collective behavior appears. We study these systems from both a scientific and an engineering standpoint: Can we predict the collective outcome from the rules the individual agents follow? Can we design low-level behaviors that guarantee a particular high-level result?

We work closely with the Self-Organizing Systems Research Group, and collaborate with a number of other labs.