Artificial Ecosystems
by Michael Romanovsky
Artificial Ecosystems
Artificial ecosystems have many functions of real ecosystems. The most apparent functions are parasites, symbiosis, and reproduction and mutation. Parasites can be either helpful (reciprocal advantages) or harmful depending on the nature of the problem-to-be-solved and the computer code of the parasite itself. Symbiosis could be sometimes considered as helpful parastic relationships. Reproduction and mutation (evolution) must occur for anything interesting to happen..
Artificial Ecosystems come in many flavors. One flavor is Ikegami's machine/tape network.
To Define recursion we first have to Define recursion..
His machine/tape network tries to solve the infinite recursion "problem" of one robot creating another robot. The argument in essence is that a robot must store the mechanical description of itself to reproduce. This is argued as being impossible because it has to store infinitely many levels to keep on reproducing.
This can be solved by creating a machine that has two parts: the instructions to build a robot and the robot interpreter for those instructions.
This way, a robot can buid itself using instructions, and then copying its instructions onto its copy... or not?
A bit of Ikegami
Anyways, Ikegami in his paper describes the implementation of his simulated evolution of machines and tapes and the results. The machines read the tapes and then generate new machines from those tapes which generates new tapes which generates new machines which generates.....
Parasites are generally those machines that use the defintions of other machines without having much tape definition themselves.
MP3
A somewhat similar approach was taken by myself for MP3. I separated the problem into two different orders: the IFSTRING and the ORGANISM.
IFSTRINGs were sets of strings that asked questions about the world (the cards).
ORGANISMs were sets of instructions to point to IFSTRINGs. (branches..GOTO statements)
Both had separate fitness functions and separate splicing/mutation rules and parameters. The IFSTRING's fitness depends on the ORGANISM's performance. (All the IFSTRINGs each ORGANISM uses are logged. The fitness is the total amount of wins + losses that it gained within the ORGANISMs.)
The ORGANISM depends on IFSTRING fitness the next round, however, because IFSTRING fitness determines ORGANISM fitness.
Organism pointers had external and internal pointers. One set points to various global IFSTRINGs and GOTOs point to internal IFSTRINGs contained within that set.
Results, after getting rid of bugs, beat most manmade players even after 5 generations (with fixed cards).
Back To Topic
Back to topic: found a really nice 2-D artificial ecosystem experiment at Jeffrey Ventrella's website (a really crazy dude).
A Lone Link
A link to my Poker game. (Not much in the way of interface, I'll explain in class.)