Cheaper than printing it out: buy the paperback book.

Out of Control
Chapter 17: AN OPEN UNIVERSE

There is more than one way to organize an open genome. In 1990, Karl Sims took advantage of the supercomputing power of the CM2 to devise a new type of artificial world formed by genes of unfixed length, a world much improved over his botanical-picture world. Sims accomplished this trick by creating a genome composed of small equations rather than of long strings of digits. His original library of fixed genes each controlled one visual parameter of a plant; his second library held equations of variable and open-ended length which drew curves, colors, forms and shapes.

Sims's equation -- genes were small self-contained logical units of a computer language (LISP). Each module was an arithmetical command such as add, subtract, multiply, cosine, sine. Sims called these units "primitives" -- a logical alphabet. If you have a suitable primitive alphabet you can build all possible equations, just as with the appropriately diverse alphabet of sounds you could build all spoken sentences. Add, multiply, cosine, etc., can be combined to generate any mathematical equation we can think of. Since any shape can be described by an equation, this primitive alphabet can make any picture. Adding to the complexity of the equation will subtly enlarge the complexity of the resulting image.

There was a serendipitous second advantage to working with a library of equations. In Sims's original world (and in Tom Ray's Tierra and Danny Hillis's coevolutionary parasites), organisms were strings of digits that randomly flipped a digit, just as books in the Borgian Library altered by one letter at a time. In Sims's improved universe, organisms were strings of logical units that randomly flipped a unit. This would be like a Borgian Library where words, not letters, were flipped. Every word in every book was correctly spelled, so every page in every book had a more sensible pattern. But whereas the soup for a Borgian Library based on words would necessitate tens of thousands of words in the pot to begin with, Sims could make all possible equations starting with a soup of only a dozen or so mathematical primitives.

Yet, the most revolutionary advantage to evolving logic units rather than digital bits was that it immediately moved the system onto the road toward an opened-ended universe. Logic units are functions themselves and not mere values for functions, as digital bits are. By adding or swapping a logical primitive here or there, the entire functionality of the program shifts or enlarges. New kinds of functions and new kinds of things will emerge in such a system.

That's what Sims found. Entirely new kinds of pictures evolved by his equations and painted themselves onto the computer monitor. The first thing that struck him was how rich the space was. By restricting the primitives to logical parts, Sims's LISP alphabet ensured that most equations drew some pattern. Instead of being full of muddy gray patterns, there were astounding sights almost wherever he went. Just dipping in at random landed him in the middle of "art." The first screen was full of wild red and blue zigzags. The next screen pulsated with yellow hovering orbs. The next generation yielded yellow orbs with a misty horizon, the next, sharpened waves with a horizon of blue. And the next, circular smudges of pastel yellow color reminiscent of buttercups. Almost every turn reeled in a marvelously inventive scene. In an hour, thousands of stunning pictures were roused out of their hiding places and displayed to the living for the first and last time. It was like watching over the shoulder of the world's greatest painter as he sketched without ever repeating a theme or pattern.

While Sims selected one picture, bred variations of it, and then selected another, he was not only evolving pictures. Underneath it all, Sims was evolving logic. A relatively small logic equation drew an eye-boggling complex picture. At one point Sims's system evolved the following eight lines of logic code:

(cos (round (atan (log (invert y) (+ (bump (+ (round x y) y) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 1.47 8.7 3.7) (color-grad (round (+ y y) (log (invert x) (+ (invert y) (round (+ y x) (bump (warped-ifs (round y y) y 0.08 0.06 7.4 1.65 6.1 0.54 3.1 0.26 0.73 15.8 5.7 8.9 0.49 7.2 15.6 0.98) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 0.83 8.7 2.6))))) 3.1 6.8 #(0.95 0.7 0.59) 0.57))) #(0.17 0.08 0.75) 0.37) (vector y 0.09 (cos (round y y)))))

When fleshed out on Sims's color monitor, the equation painted what seems to be two sheets of icicles backlit by an arctic sunset. It's an arresting image. The ice is molded in great detail and translucent, the horizon in the background abstract and serene. It could have been painted by a weekend artist. As Sims points out, "This equation was evolved from scratch in only a few minutes -- probably much faster than it could be designed."

But Sims is at a total loss to explain the logic of the equation and why it produces a picture of ice. It looks as cryptic and muddled to him as to you. The equation's convoluted reason is beyond quick mathematical understanding.

continue...