For a while, I have been pondering on this: can I create a bunch of extremely stupid automatons (actually, a tweak on Finite State Machines), that co-exist independently and making self-contained selfish decisions, and yet create an ecosystem that seems to be making smart decisions?
The idea is simple: I create a set of microprograms (I fondly call them ‘brats’!), each of which have their own selfish agendas, decision processes, survival rules, and their own I/O probes that constantly monitor the surroundings for resources they need (and perish soon if they don’t find them)… and then I spawn each variety of agent multiple times and see an overall behavior emerge.
The first set of such agents are already sweating their necks, making highly stupid decisions… and yet surviving, but my goal is to now take it a step further.
I now I want to go in two directions:
- train a GA or reinforcement learning based system to figure out the initial configurations.
- spread the agents across multiple computers on the web, thus creating a virtual cluster, an ecosystem that would be very interesting to study.
You may ask, why is this any different than Cellular Automata, the system that Stephen Wolfram brought back into fad through his book ‘New Kind of Science’? The fact is, though similarities may exist on the surface, a deeper inspection would reveal that my agents are far more inspired by ant colony / multi-agent based emergent behavior systems than CA — the only difference being, I am trying to far more flexible about the toolkit, instead of sticking with just pheromones!. Also, at the end of the day, I am just trying to learn my tools!
[Tools used: Ruby, RubyGems, MySQL, a lot of caffeine, and box dvd set of The Wire]

