Introduction

From WikiManual
Revision as of 03:39, 16 January 2006 by Numsgil (talk | contribs) (Reverted edit of 85.255.114.134, changed back to last version by Endy)
Jump to: navigation, search

Darwinbots is an open source artificial life simulator spread all over the net. It was initially meant to simulate artifical life and evolution. It more precisely simulates Von Neuman Machines (and Von Neumann probes like the Monolith).

Please visit Other Resources for a listing of where the forum, Old Homepage, screenshots and other Darwinbot pages are.

Darwinbots

The basic idea of DarwinBots is to simulate populations of individuals whose behaviour is defined by their DNA. The DNA is a .txt file interpretetated to an input->output program connection between bot's sensory inputs and its actions. Its purpose is to simulate some of the aspects of natural life and evolution by simulating a number of individuals who must survive like real organisms do: based on their merits.

It is impossible to model all of the complicated factors and processes influencing existence of living organisms. Therefore, we have concepts which aspects of life to simulate and model. This simulation for example excludes proteinebiosynthesys and enzymatics, here the DNA directly controlls a life forms behavior. However you can simulate simple hormones by variables that controll feeding, reproduction, growdth... that can be chanded by other cells. The DarwinBots universe is a two-dimensional space populated by two-dimensional bots. Most start with a DNA code of one procedure for reproduction, 1-3 for attacking, and 1-4 procedures for movement, thats barely 100-1000 asciis uncompressed source code.

What are bots?

Every bot is represented by a circle of a given size and color. Bot's head is marked by a white dot on the circle. Around the head are the main sensory organs of bots, nine simple eyes. They also have a tactile sense, allowing them to feel when they are attacked or when another bot is attaching itself to them. Currently the bots have nothing analogous to hearing or smell.

The sensory inputs of bots are analyzed through its DNA, which is essentially a program, written in a specially designed FILO (First in last out memory stack/array) language. The simpler an if()->then() reaction is the more flexible it is for random changes. Most bot's DNA is made of only ~6-20 procedures (analog to genes) made of 20-200 operations. Each operation also equals a number that can change by mutation. As a result, the program written in this language can tolerate small random mutations much better , without changing the whole program, than programs written in most of the other programming languages.

Every bot has its own Energy supply. Actions cost energy. If it runs out, the bot dies. If it reaches a given number it reproduces. The energy supply can be replenished by taking energy from other bots in the simulation (anlogous to hunting in real ecosystems). The overall energy suppliers in DarwinBots simulations are special bots, called veggies or alga, which receive energy for free over time (analogous to plants in real ecosystems).

Bots use non-material shots to feed, attack, remove waste, infect, or communicate.

Bots can also make Ties to each other that can harden to form more complex Multibot structures that can share their food or tasks, or just to drag each other around or to do all the above trough the tie without shooting at each other.

Mutations and Natural Selection:

When bots reproduce, their DNA is passed to the child, sometimes with a random change, which might affect the pattern of bot's behaviour. Just like in real evolution, when a change in DNA improves the bot's ability to survive and reproduce, these new mutations will spread through the population; otherwise, they will likely disappear. Junk code generally gives an evolutionary disadvantage trough higher DNA maintenance or processing energy costs.

Mutation system in DarwinBots is superior to majority of alternative artificial life simulation programs. While many other programs define a limited set of properties on which selection may act, DarwinBots' DNA code allows unlimited and open-ended variation. In addition, Darwinbots does not impose an artificial selection for a given phenotype. As a result, survival of a bot depends on its combined strategies for movement, energy management, reproduction, etc. There is no limit on sophistication of the DNA code.

Therefore DarwinBots evolution takes time. Don't expect to leave a simulation running for 3 hours and have your bots become a whole new life form. Most successful simulations require millions of cycles, which corresponds to several days of real time.

The best strategy is to find an old computer you have that no one is using, set it up to run a simulation, and forget about it for about a week.

Battle Bots:

Battle bots are similar to Von Neuman Berserker probes, like the replicators in Star Gate

While the program has been developed mainly to simulate artifical life and evolution, it has also been used as a playground for testing programming skills. Complex DNA programs for bots can be designed from scratch by people. Then the user designed bots are placed in an arena where they fight until one of the species wins. Several leagues have been established with different rules and the ratings are periodically updated when the new species of bots are introduced.

Note that it is considered animal cruelty if you reference *.pain in your DNA code, and you will be prosecuted by the ASPCA.

Return to Main Page