The God of Widge

Ovid on 2004-04-16T16:34:05

Trying to explore some alternate solutions to the AI::Life::World problem, I've started creating a much simpler version called Widge. This is a procedural script with only one AI agent type called a "widge." Widges run around and if they run over a blue light, they gain energy and if they run over a yellow light, they lose energy. They also lose a small amount of energy just moving. If they gain enough energy, they reproduce and possibly introduce a random mutation to their genes.

The intent is to create a small "Widge World" where someone can watch widges evolve until they're better able to find blue lights and avoid yellow lights. I'll possibly build in a tweaking mechanism later. Hopefully, this should allow me to focus efforts on the eyes and brains, the two most problematic areas of the AI. However, I am moving to an upstairs apartment, so I've got about a week of downtime before I can think about serious programming again.

Update: On the off chance that anyone's interested, I can send a really ugly tarball of the current project. It's not organized, but it has the original C code (with makefile), the procedural Perl version and the OO version (complete with memory leak). Shoot me an email at curtis_ovid_poe. That's a Yahoo! email.


StarLogo/ Artificial Ants

MarkyMoon on 2004-04-17T15:18:42

In case you haven't seen these books, they seem to be directly related to what you're doing (decentralized systems?) although it's not Perl:

Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds (Complex Adaptive Systems) and
Adventures in Modeling: Exploring Complex Dynamic Systems with StarLogo

And a couple of sites with info about StarLogo and artificial ants:

StarLogo as well as
This article and that article.

markymoon