Digital Evolution Basics

For those who are not aware of digital evolution, I am writing a quick short summary. Digital evolution means evolution of computer programs who compete for limited resources such as CPU and memory. In short, it goes something like this:

- You define a universe, which is virtual memory (space) and CPU (time)
- You create energy (CPU cycles)
- You define an extremely limited instruction set for Virtual Machine (Physics). Instruction set being limited is important because you want to mimic physics, not chemistry or biology
- You seed randomly generated programs of varying length
- You start parallel execution the random programs
- Each instruction eats up energy and at random times you feed energy into universe
- At random times mis-execute program instructions
- Run it for a long time and Voila! finally self replication gets evolved from very simple instructions
- Then arms race gets started between programs and things get interesting

Some people argue that digital evolution is not merely an emulation of real thing but is indeed a real manifestation of evolution and I tend to believe the same.

To download the digital evolution simulator written by me in Python (called PyPond), head to: Download: Normal version or With graphics version (requires PyGame library)

Possibly related posts (automagically generated):


 
 
 

Leave a Reply

World's easiest to use A/B, Split and Multivariate Testing

Visual Website Optimizer. Increase website sales, downloads and conversions through world's easiest to use A/B, Split and Multivariate Testing tool.