A hero of this story has created a virtual world in which organisms live. They are computer programs. Now they bite each other in the struggle for survival, and eventually they can evolve to artificial intelligence, being cooler than a human one.
A genetic algorithm is an algorithm of searching a solution, based on the principles of biological evolution. It is employed for solving tasks of functional optimization and modeling.
Dmytro Tarasenko, dealing with evolutionary programming, told us in more detail and more understandably how it works and what it is necessary for.
Dmytro also demonstrated us two videos illustrating how a genetic algorithm works.
In the first video the program had to create a motorcycle in a two-dimensional plane. A computer did not know which shape the motorcycle had to be, where its wheels were located, etc. Everything that a computer had was circles and triangles which it was able to connect with each other. The computer created the first population of motorcycles, it chose the one that went as far as possible, and it created the next population on its basis, and etc.
“As we see, a symmetrical organism wins, in which both wheels rotate and a connector does not go either up or down. Note that we started from a complete randomness, from a total chaos, but we received two wheels of approximately the same diameter, which rotate, and we received a relatively symmetrical connector. If all this construction overturns, anyway, it will be able to go. So, with the help of a genetic algorithm we select the best solutions and reject the worst ones.”
And the next video demonstrates how a genetic algorithm was applied to virtual animals. Karl Sims and his team were dealing with it in the middle of the 90s, using supercomputers of that time.
The obtained result of this experiment, using a computer program, is very similar to the result of the natural evolution.
“The important thing here is that a machine does not know what it does in advance,” Dmytro says, “It just performs this simple algorithm, and as a result we receive such interesting things.”
And the program Dmytro is working in, looks like this:
We are relatively well aware of the rules by which all things are evolving. By using them in computers, we can recreate this process virtually and thereby launch the beginning of a new, digital life. The biggest problem on this path is the performance of modern computers. It is incredibly low compared to what nature has at its disposal. That is why Dmitry is working on creating a distributed system - when many computers are simultaneously occupied by the virtual world.