Monday 13 October 2008

Artificial Life Software Review

There seems to be some useful artificial life software. Artificial life software is useful because they include neural network, genetic and artificial world components.

Wikipedia separates artificial life software into four categories: program-based, module-based, parameter-based and neural net-based.

Program-based artificial life uses DNA which resembles computer programs more than biological DNA.

Module-based artificial life software uses modules to specify creature behaviour. The focus is more on user creation and less on evolution.

Parameter-based artificial life software uses parameters to modify pre-defined creature behaviour. It is the parameters which mutate over time.

Neural net-based artificial software have creatures that have neural networks for learning.

Program based artificial life software includes:
Avida is similar to Tierra which simultes an evolutionary system in which computer programs compete for computer resources. In Tierra, organisms share and compete for one "brain." In Avida, each organism has its own brain.

breve looks interesting because it has a 3D world and physics. It handles agent communication, 3D space representation, graphical rendering and physical simulation.

Does it have neural network and genetic components? It looks like breve does have a genetic component but it seems that if it focuses more as a virtual world and requires neural network components from other software libraries.

A page on breve's homepage references a few other popular agent environments:
Swarm somehow does not seem to be what I am looking for.

Mason looks quite powerful and it seems like I can mould it into what I am looking for. I do prefer real time grapics. I don't think it has neural network and genetic algorithm components.

NetLogo seems to have support for neural networks and genetic algorithms but I feel a bit unsure about it.

Darwinbots, has simple graphics. I think I have been spoiled by the other software packages.
  • [N] Neural network components? It has a finite state machine like system.
  • [Y] Genetic algorithm components? Life-like forces shape evolution.
  • [N] 3D environment? It has a 2D world.
Evolve 4.0
  • [N] Neural network components?
  • [?] Genetic algorithm components? It simulates things a cellular level.
  • [N] 3D environment? It has a 2D world.
Framsticks looks good. Can Framsticks simulate communication?

Micropond is similar to Nanopond. Nanopond in turm is similar to Avida and Tierra.

Tierra is kind of like Avida.

Module-based artificial life software includes:
  • TechnoSphere
TechnoSphere looks interesting but I feel that it lacks the control I need. I need to be able to program neural networks and communication systems. It looks like TechnoSphere is more about letting users pick and choose physical

Parameter-based artificial life software includes:
  • Kyresoo Plants
Kyresoo Plants does not seem to be what I am looking for. From an online encylopedia, "Most Alife software such as Avida, Darwinbots, Polyworld, focus on the collective behaviour of a large number of simulated organisms. Kyresoo Plants focuses on the collective behaviour of multiple cells in a single organism."

The same page mentions something about the biomorph model describe by Richard Dawkins in the book, "The Blind Watchmaker." This is interesting because of I am a fan of Dawkins' work.

Neural network based artificial life software includes:
Creatures looks interesting but it is a commercial product and I don't know how much I can extend it. There seems to some developer support. It doesn't look like it allows me to get to the nitty gritty such as setting up actual neural networks and communication pathways.

Noble Ape looks very interesting. It holds similar ideals as this project does. Is it easy to set up a small number of creatures with neural networks in Noble Ape?

Polyworld looks almost exactly like what I am looking for. It has neural network components, genetic algorithm components and a world. It looks kind of old.

NationMaster, an online encyclopedia also has a number of other artificial life software.

Program Based

Physis seems to be at a cellular level and seems similar to Tierra.

Archis seems similar to Nanopond.

Neural Net Based
NERO looks quite interesting. It simulates teams of agents engaged in battle. It has neural network components but no genetic algorithm components although the environment itself provided evolutionary pressures. Unfortunately it seems like it is not open source. According to linux.com the AI algorithms are open source but the rest of the package is not open source because it uses a commercial game engine.

Okay, so after all that, the following is my short list for artificial life environments:
  • breve
  • Framsticks
  • Noble Ape
  • Polyworld

No comments:

Post a Comment