Darwinbots

From Wikipedia, the free encyclopedia

DarwinBots screenshot
DarwinBots screenshot

DarwinBots is an open source, freeware artificial life simulator, originally developed by Carlo Comis, providing a virtual environment in which a number of digital organisms -called "bots" - interact, fight for resources, and eventually reproduce and evolve. In the same way Avida could be said to be the ALife version of Core Wars, Darwinbots could be seen as the ALife version of C Robots.

Contents

[edit] Design Principles

Darwinbots departs radically from the design principles of most other Artificial Life simulators.

  • All bots have their own semi-protected address space (other bots can modify this, but it is an aggressive action to do so, proximity is required, and there are counter measures to protect against it.)
  • All bots execute their entire DNA code once per cycle. Thus the complexity of the bots' DNA does not alter its execution speed. This is quite different from Tierra, Avida, and other ALife sims in the same family.
  • The bots' world is a non discrete flat plane. That is, bots are not segmented into grids as in cellular automata.
  • Every bot is equipped with a set of basic, but high level abilities, addressed through specific memory locations called sysvars, which allow it to interact with the world. These sysvars are things such as "accelerate forward a set amount" or "fire a connective tie". Thus instead of evolving to perform computations, as in other ALife sims, the bots are evolving to chase down food, form muscle from spare energy, and otherwise find novel ways to combine their basic toolset to cope with problems very similar to real organisms'. Thus Darwinbots models the evolution of behavior instead of ability.

[edit] Differences from other ALife Software

For sake of brevity, the main comparison will be against Avida.

[edit] Tools Given

Other simulators (notably Avida and Tierra) attempt to model behavior from the bottom up, giving their organisms only the most basic of commands and abilities. From this more complex behaviors are hoped to form. Darwinbots gives the organisms comparatively high level tools, and sees if they can form even more complex behaviors from these.

For example, in Avida reproduction is an involved process whose particulars can vary from individual to individual and takes many commands (at least 17). In Darwinbots, "perfect" reproduction can be achieved with only two commands.

Darwinbots is therefore a better model of behavioral evolution than it is of optimization or tool building.

[edit] Fitness Function

Avida and others define very specific fitness functions against which the organisms are evolving. For instance, the program will reward the organisms with energy for performing a specific task. Darwinbots does not attempt to evaluate the fitness of individual organisms at all, and gives energy uniformly to organisms deemed plants at the start of the simulation and their descendants.

As a result, the organisms are evolving only against their own ability to survive and reproduce, much like real organisms. Darwinbots is therefore more easily paralleled with real life than many other ALife simulations.

This is a double-edged sword, however. Since there is no external fitness function, it becomes incredibly difficult to measure increases in fitness, if there are any at all, which can be frustrating to new users.

[edit] Accessibility

Since Darwinbots is designed and updated by people of scientific backgrounds not necessarily in ALife, the program remains intelligent yet understandable to the layman. An arguably friendly user interface and tools allows hobbyists with a passing interest to pick up and play with the program.

[edit] Weaknesses

[edit] Programming Language and Portability

Darwinbots is developed in Visual Basic, which allows for faster development times but prevents the program from being ported out of Windows. Complex data structures are likewise quite difficult. Darwinbots's code is currently being ported from Visual Basic to C++.

[edit] Lack of Key Features

  • Sexuality - Although a limited form of sexual reproduction is available, it is severely inadequate. As a result, Muller's ratchet becomes a constant problem.
  • Metabolism - Although not necessarily common in other ALife simulators, any modelling of real organisms should also model their metabolic processes.
  • Complex and Dynamic Environment - The environment in which the organisms live is little more than a large, featureless plane. Certain modes within the program, notably "pond mode", meet with limited success at addressing this problem.
  • Speciation and Diversification - Darwinbots' organisms seldom form new parallel strains or diversify. Usually the evolving strain of plants and the evolving strain of animals remain the only organisms. This is probably due to a combination of factors above.

[edit] Lack of Peer Review

Because no one involved in the project is professionally involved in Artificial Life, let alone published a paper in the field, Darwinbots remains on uncertain scientific footing, lacking even basic peer review. There is a moderate push in the community to craft Darwinbots into a legitimate research platform, but Darwinbots remains relatively ignored by the Artificial Life field.

[edit] See also

[edit] External links