Simulated Evolution portal

Discussions on everything related to the software, electronic, and mechanical components of information systems and instruments.

Simulated Evolution portal

Postby hyksos on December 21st, 2016, 6:57 pm 

Simulating the process of evolution on computers.

The process of evolution, as it is used by computer scientists, is understood to be a kind of stochastic search algorithm. It is capable of finding optimal solutions to problems, and capable of minimizing objective functions by trying out millions of them in the search space, keeping those candidates with high fitness, and discarding candidates with low fitness. This type of computing is often called a Genetic Algorithm. In more academic jargon, it is called "Genetic and Evolutionary Computation."

Simulated evolution has exhibited an ability to both 1.) find needles in a haystack of possible solutions 2.) come up with extremely clever solutions that an engineer or designer would never think of. These two strengths , coupled with the fact that evolution can be framed as a search algorithm -- taken as a whole we gain incredible confidence in the possibility of the process to evolve the so-called "Organs of Extreme Perfection", seen in living animals and organisms on earth.

Charles Darwin himself did not know that evolution was a kind of search algorithm, and his interest was only in whether it could cause a population to vary enough to split into two new species. We can forgive him, since he lived over 100 years before the invention and use of computers.

In 2016, we live in an age where academics meet at an annual international conference. It is called GECCO -- an acronym for Genetic and Evolutionary Computation Conference. This year it was held in Boulder, Colorado.

For a survey of the history and development of Genetic Algorithms, see this book by Mitchell.


Series: Complex Adaptive Systems
Paperback: 221 pages
Publisher: MIT Press; Reprint edition (February 6, 1998)
Language: English
ISBN-10: 0262631857
ISBN-13: 978-0262631853
User avatar
Active Member
Posts: 1828
Joined: 28 Nov 2014
Natural ChemE liked this post

Re: Simulated Evolution portal

Postby hyksos on December 21st, 2016, 7:33 pm 

Intrinsic Fitness. Extrinsic Fitness. Evolution of new Functionality.

Since this is a philosophy forum, many readers here may be interested in the degree to which Genetic Algorithms reflect upon or apply to real living organisms on earth. I will be addressing the following claims :

  • "A genetic algorithm requires a smooth continuous landscape to 'climb' up towards higher fitness solutions."
  • "Evolution may be able to tweak existing parameters of a genetic code, but it cannot evolve new functionality."
  • "In a scenario where the genetic code is crisp, discrete values, such as the instructions of a computer program -- then all mutations are bad mutations. Evolution would not work there."

With concrete examples, I will be demonstrating that all three of these assertions are wildly false.

Experiment has shown that if the search space for your algorithm is smooth and continuous, that a GA will find a solution much more quickly in terms of raw processing time. That can't be denied. If any reader of this article is familiar with programming -- he or she will know that the smallest tiniest error in syntax will invariable break the program, and cause it to create errors or even crash. Having experience with such, one could assume that genetic computation acting on computer programs would never work, and assume this reasonably and innocently. Intuition says that mutating a piece of code within a program's underlying machine instructions would invariably lead to worse code.

This intuition is wrong.

Evolution can act surprisingly well on program code, written in the form of discrete, crisp instructions. This is already well-known in computer science and academia. It is called Genetic Programming. A survey of the history and development of it can be found in this book.


In bridging the analogy between computer algorithms, and the living, breathing organisms on earth -- another nagging problem presents itself. That is, in all academic GA, it appears that fitness is being applied to candidates in the population via a "fitness metric". This metric is, in all intents applied from the outside by a designer. This is understood within the discipline. It is called Extrinsic Fitness. Engineers and computer scientists utilize fitness metrics, and hence extrinsic fitness, merely because it makes the computation time feasible on a computer.

This issue is nagging because real organisms on earth are not being judged from the outside by a fitness level, and then given permission to reproduce offspring. Instead, living things on earth either successfully reproduce, or they do not. Academia has already recognized this and they call it Intrinsic Fitness. Intrinsic fitness was first recognized by Darwin, in "Origin of the Species"

If there be, owing to the high geometrical ratio of increase of each species, a severe struggle for life at some age, season, or year, and this certainly cannot be disputed; then, considering the infinite complexity of the relations of all organic beings to each other and to their conditions of existence, causing an infinite diversity in structure, constitution, and habits, to be advantageous to them, I think it would be a most extraordinary fact if no variation ever had occurred useful to each being's own welfare, in the same manner as so many variations have occurred useful to man. --- Darwin, 1859

Exhibiting intrinsic fitness in a computer simulation is possible but more difficult. Instead of merely storing and testing candidates in a population, we must allow those candidates to live their lives out in a dynamic environment, wherein they compete for space and resources to see if they can reproduce offspring. We do not assign any "fitness" to these simulated entities. They either reproduce offspring and those offspring survive, or they do not.

We can imagine simulating little block-like creatures into a flat grid, and give them the ability to drop spores and germinate those spores. Or perhaps have two sexes, where the males impregnate the females who then later give birth to progeny. We use block-like grids because computers are slow, and we want to see the results of evolution within hours or days. Each block organism contains within it a little program which tells it how to move around and respond to its environmental conditions. Whenever it does give birth to offspring, that child organism gets a copy of its parent's program, and along with it a slight random mutation.

We need no longer 'imagine' such a simulation. They have already been done. These simulated eco-systems do exhibit speciation. They do exhibit the evolution of new functionality. In summary, these simulations do undergo evolution as described by the scientific literature.

In the video below, we see what these kinds of simulations look like, after having been run for over 400 hours.

User avatar
Active Member
Posts: 1828
Joined: 28 Nov 2014
TheVat liked this post

Return to Computers

Who is online

Users browsing this forum: No registered users and 9 guests