I will be using this site over the next few months as a platform to share my progress in developing a software application, tentatively called Weaver. This is my thesis project, the final requirement in the Masters of Architecture program that I'm a part of at the University of Minnesota. In short, the software is an agent-based simulation environment for three dimensional form finding. Since this definition will confound nearly all readers, a more verbose description seems to be in order.
Agent-based simulations are most typically used these days for system optimization. Suppose a company that delivers milk wants to make their delivery routes more efficient - eliminating unnecessary detours, saving time and fuel. The old method involved careful tracking of delivery routes and best guesses for changes that might increase efficiency. In agent-based simulation, however, this work is left to the computer. All of the deliveries that need to be made are input into the computer and agents - in this the drivers in their trucks - are created in the software to fulfill those deliveries. Agents have at their disposal only a few simple rules by which to make decisions: don't make a delivery if one's already been made, make the distance between deliveries as short as possible, avoid the territory of other drivers, etc. When the simulation is run a rather remarkable thing happens. The digital drivers start developing incredibly efficient routes with only a few simple rules to guide them. More times than not the routes created will be more efficient than the those the company came up with using the old methods. Using computer simulation in this manner has proven so effective that companies have been created with simulation consulting as their express purpose. The complex, intricately ordered, and often surprising results of these simulations are products of a phenomena called emergence. It is emergence that is the primary focus of complexity science, a field that's been around for a few decades, but which has experienced tremendous growth in recent years. Complexity scientists study emergent phenomena from crowd behavior, insect communication, patterns in economic markets, and many more.
One of the most interesting characteristics of emergent, also called complex-adaptive, systems from a design perspective is their propensity for created some of the most strikingly beautiful visual effects in nature. The intricate movements of flocks, swarms and herds are all emergent phenomena; as are cellular growth patterns, synchronization in firefly signaling, and the dynamics of a crowded train station. All of these effects are the result, not of any leader or other ordering force, but of each individual in the group following a small set of simple rules. For a brief introduction to emergence, listen to this show from WNYC's Radio Lab or read Steven Johnson's book Emergence.
The software application I'm building (with Processing) is a sort of generic environment for setting up and running the types of simulations that lead to emergent phenomena. It's my hope that the software will act as a platform from which designers, or anyone else, can explore the rich variety of forms that can be produced by complex-adaptive systems. As the project progresses I will post more explanations, key discoveries, visual output from the software, code samples, and thoughts I have along the way. More soon...