

Digital Evolution in Python: PyPond - paraschopra
http://paraschopra.com/blog/biology/pypond-a-digital-life-simulator-in-python.htm

======
paraschopra
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.

PS: I will admit that I haven't run it for long so if you find interesting
results, do let me know

~~~
jwecker
I ran PyPond_with_graphics.py and got a list of 1000 numbers spit out. Any
hints on how to run it properly?

~~~
slmbrhrt
The bottom line of ...withGraphics creates a Pond but gives the parameter
visual=False.

That should be visual=True. I still get the numbers dump after that, though I
also get the visualization.

~~~
jwecker
should have seen that. thanks. It seems to work now- is it normal for the
organisms to spell out "Free Us" in the little graphics window?

~~~
paraschopra
I would probably be eligble for Nobel Prize if organisms spell that out! But,
again, you never know -- it is evolution.

