A few weeks ago I finished Seth Lloyd’s book Programming the Universe, which argues that the universe is one big quantum computer. Here is an especially apt paragraph:
… complexity is a key issue in engineering. How can we engineer complex systems that are still robust in their behavior? The maxim we teach engineering undergraduates at MIT goes by the acronym KISS: Keep It Simple, Stupid! But what if the system you’re engineering is itself complex, like an airplane? …. One promising technique for engineering complex systems is known as axiomatic design. …. The idea of axiomatic design is to minimize the information content of the engineered system while maintaining its ability to carry out its functional requirements. Properly applied, axiomatic design results in airplanes, software, and toasters all just complex enough, and no more, to attain their design goals. Axiomatic design minimizes the effective complexity of the engineered system while maintaining the system’s effectiveness. Keep It Simple, Stupid—but not too simple.
And if you follow the link I supplied for axiomatic design, you find this intriguing statement:
The Information Axiom requires the minimization of the information content. According to the Information Axiom, the design that has the least information content is the best design.
Take away from this what you want.
Oh, and a capsule book review: Interesting idea, could’ve been better argued.

Scott Walters | 26-Jan-07 at 2:06 pm | Permalink
I guess in programming “information content” would roughly translate into volume of source code text. So it is saying that the less source code you have to use to do a particular job, the higher the quality?
Pete | 26-Jan-07 at 4:19 pm | Permalink
Scott: I’ve only stumbled on this recently - as in yesterday. But according to the linked page, the answer is roughly yes. Roughly because, and I quote: “Conventionally, the complexity of software programs is measured in terms of the number of lines of software code or the central processing unit (CPU) time.” But this is considered simplistic, as you and I might implement the same algorithm, say a Quicksort, and you might do it in 30 LOC where I might need 50, but ultimately the information content is the same.
However, the information content of a system is really defined as whether it meets the functional requirements. Since more code is likely to have more bugs, and thus not meet the functional requirements, it is likely that the fewer the lines of code, the lower the information content, and thus the lower the complexity and a greater likelihood of success.
Ben Tremblay | 08-Mar-07 at 9:53 pm | Permalink
My Buddhist teacher would giggle at “quantum computer”. (In 1990 I showed him slides of fractals a buddy at Cornel SuperComputer sent me … he thought they were pretty sweet, then launched into an extemporare on non-linearity!)
I have to wonder, reading this: why “quantum” and not “chaotic”? Dynamical stability is where it’s at. (I groked that in the 70s, talking to a PhD who specialized in crystalization … metals, formation of ice, like that.)
Do we ever want slots that are as rigid as electrons’ orbits? Make the human beings fit the machine? Seems wrong-headed to me.
BTW: In the BEA paper I was just reading on SOA I kept coming across such as the need for buy-in, and heroes, and excellent team-players … nothing “quantum” in that!