Inventing Complexity Science

Really fascinating discussion of complexity science, or the science of emergence. (H/T John Robb)

If you look at the development of the Internet, or the power grid, or new chips, or airplanes there’s something disturbing happening. The companies that do these things have a secret that they don’t want people to know: they’re struggling to be able to continue developing their systems. What’s hurting the chip companies isn’t the cost of the fab, as bad as that is, but the cost of taping out of a chip. When you want to place a billion transistors, the design tools don’t work any more. They assume that at some point somebody understands what they want to make, but it doesn’t work when the system gets large enough. The companies that work on airplanes or the power grid don’t really understand them as wholes any more. This means that, in a world of thermodynamic-scale engineering, you have to make a transition from designing systems to designing principles by which systems work, without actually saying how they do it.

The notion of such emergent engineering is very attractive. It’s inspired beautiful demonstrations, but those have generally been on toy problems that don’t scale to the really hard ones. And it’s inspired equally beautiful theories that generally don’t get reduced to practice. My colleague John Doyle calls these unfortunate examples of the study of “chaocritiplexity.” There’s a nearly null set of deep insight into emergent functionality that’s reduced to useful practice.

I used to be very critical of this state of affairs, until I finally realized that what I’m asking for is a step roughly as profound as the invention of calculus, or of information theory. Bringing rigor to emergence means developing a missing language. At MIT you learn about things like bandwidth, power, and signal-to-noise ratios. Late in life you learn about how to balance notions like hierarchy, adaptation, and fanout. By the time we’re done that’s going to be inverted. The very first thing you’ll learn at MIT is how to ask and answer questions like “How quickly should a system be able to modify itself? How many mistakes should it make? Which of its functions should be global and which local?” The kind of taxonomy that biologists do has to turn into predictive design theories. Shannon did that once. He showed that the channel capacity, that threshold I was talking about, is equal to bandwidth times the logarithm of 1 plus the signal-to noise ratio. That let you suddenly take these disparate attributes and, independent of the details of a particular design, learn how to price them and trade them off. We don’t know how to do that yet for hierarchy and adaptation and emergence, but there are compelling hints of an answer lying at the intersection of statistical mechanics, control theory, and geometry, mixed in with a bit of inference.

A few years ago, in the middle of a symposium on complexity science, a colleague turned to me and asked “is there anything we’ve seen today that doesn’t reduce to network theory?” I thought about it and agreed that the day had essentially been applications of network theory (with some agent-based simulation thrown in). This is what is so important to understand about complexity science right now. It is more a label to describe the deep connections that we feel like have to exist between the fields of control theory, network theory, information theory and system dynamics. There is no “there” there yet. And that’s what makes it so important; the 21st Century Leibniz or Newton hasn’t emerged yet.

3 Comments »

The URI to TrackBack this entry is: http://opposedsystemsdesign.blogsome.com/2008/04/16/inventing-complexity-science/trackback/

  1. Have you looked at Butera’s dissertation (mentioned in the Gershenfeld piece)? Going to be thinking about this for at least a few weeks.

    Comment by Moon — April 20, 2008 @ 12:15 pm

  2. I haven’t seen Butera’s dissertation. Got a link or file to share?

    Comment by Wiggins — April 21, 2008 @ 11:22 am

  3. The first result from a Google search for this:
    “programming a paintable computer”
    .
    I haven’t read it yet either.

    Comment by Moon — April 21, 2008 @ 6:15 pm

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>