Saturday, April 02, 2005

Simplicity on the attack

I like this story (courtesy of Ryan Tomayaho) Insects and Entropy.

I don't know how true it is but it rings true. It reminds me of Anatol Rapoport's 4-line BASIC program that tends to win Prisoners Dilemma tournaments.

It also reminds me of Stephen Wolfram's A new kind of science. The big takeaway for me from that book was that after a threshold of behavioral complexity has been reached - a threshold you can get to with real simple algorithms - adding further complexity into the algorithms does not greatly increase the behavioural complexity of the resultant program.

Finally (as I reach for more Coffee this bright Saturday morning after a sucessful April Fool Friday), it reminds me of Gregory Chaitin's Omega Number and the idea that algorithm "elegance" has a formal definition as the smallest program that will produce any given behavior.

That is the essence of software engineering I think. Its not about writing cryptic programs to show how smart we as programmers are. Its about finding elegant forms of expression that maximimise our return on behavioural complexity while minimising the "moving parts" in the algorithms that generate that complexity.

No comments: