Yup, that's right, I have no life. So, instead I simulate it.
I have written an artificial life world based on John Holland's Classifyer System. In this world little creatures run around, eat food, eat each other, and reproduce.
The Classifyer system is probably my favorite learning algorithm. It is based on message passing in an market. A large collection of IF-THEN rules buy and sell messages. They each have their own "wealth" and the message is sold to the highest bidder. The IF part of the rule looks for certain messages needed to activate, which are bid on. If a rule gets all the messages it needs, THEN it posts a new message.
The environment in which the Classifyer System operates sells input messages and buys output messages. The environment will purchase for a high price any message that benifits whatever agent that contains the classifyer system. Learning is acheived by a bucket brigade, end effect rules get the payoff and then pass it along in the form of a high bid to a "supplier" of messages needed to activate. A chain of rules from input to output will become self reinforcing as long as the end gets the payoff. By always bidding a set fraction of wealth, habits can be unlearned if the environment makes a major shift.
New rules are constantly being generated by crossing existing rules. New rules become established by creating a new chain that will react to a new stimulus, or by doing an old thing more efficiently.

I have implemented this in programs for 68k or PPC. It is not a full Macintosh application yet. Save and Open are not implemented. About all you can do is set it running, get info, and quit. Once running it ignores events until done running for the instructed amout of timesteps. With some prodding I could make it into a real Mac program. Until then, neither source nor binary will be available.
The Macintosh program began life as a project in the New Mexico Super Computing Challenge. It was first targeted at running on a small Cray supercomputer. I also developed it at home on my PowerMac using C++ 7 and 8 from Symantec. For a long time there was no difference between the two programs, they both did all their I/O through files and a limited amount was done through Symantec's unix emulation Console window. Unfortunately, at some point there was a bug introduced that was invisible (inconsequential?) on the Mac but crashed the Cray program. From then on it became a Mac program with many of the interface features, and a grphic output.
The Final Report that was prepare for the Challenge is available in HTML(12k), text(12k) and Post Script(47k).
This will hopefully be completed for the NM SuperComputing Challenge. The SCC team presently consists of Graham Booker, Dave Bolme, Liv Haugen, Sarah Voss and myself.
Click here for Titus Brown's consolodated Alife resource page.
See also Brian's Robots
email me