Darwinbots
From Wikipedia, the free encyclopedia
This article may contain original research or unverified claims. Please improve the article by adding references. See the talk page for details. (May 2008) |
Darwinbots | |
---|---|
Screenshot from the game. |
|
Developer(s) | Carlo Comis, et al |
Version | Darwinbots 2.44.1 |
Platform(s) | Windows |
Release date(s) | 2003-2008 |
Genre(s) | Artificial Life |
Mode(s) | Single player |
Media | PC |
DarwinBots is an open source 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 Tierra 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.
Since there is no external fitness function, there is no single metric of fitness (which may frustrate new users); rather, fitness varies according to organisms' adaptation to local environments.
[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 6, which allows for faster development times but prevents the program from being ported out of Windows. Complex data structures are likewise quite difficult. An effort was made to port Darwinbots's code from Visual Basic to C++, but this port has been abandoned and now a C# port is being developed. Progress is somewhat slow, however, and the Visual Basic program is still being updated and new features being added.
[edit] Lack of key features
- Sexuality - Although a form of sexual reproduction is available, it is somewhat limited. As a result, Muller's ratchet can become a 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] Current Versions
- The generally used Major version is the 2.4 series for Darwinbots 2
- Version 2.43.1L is the most accepted for running simulations, although it has major flaws in it's internet mode.
- Version 2.44.1 is used mostly for internet mode, and has some issues that may interfere with long simulations.
[edit] Future Versions
[edit] Darwinbots 3 (DB3)
- Currently in development.
- The first available version will be Milestone 1 (M1)
- It is open-source
- Written in C#
- Will address many key features that previous versions lacked.
[edit] New Features (DB3)
- "Muscle", "Fat", and other similar components will be integrated into the bots.
- DNA will be more structured, with "Chromosomes", "Codules", and "Base-Pairs"
- A form of Metabolism and Specialization will be present.
- Sexual reproduction will be featured, as well as Asexual reproduction.
- Environmental influences, like sand to make "Shell", will be introduced.