Genesis

About Genesis

Stand Alone Version

Full Version

FAQs

Techie stuff

Go to davidstern.co.uk

Genesis

This page is the home of my most recent project - Genesis. You can read about it below...

You can run the applet in two versions:

1. A stand alone version that creates a random set of life forms with random genomes and allows them to evolve. Run stand alone version

2. The full version which connects to a central server I have written for my computer which stores the results of previous runs of the applet (the genomes). Run full version

Genesis@home? When you run the full version the applet makes a connection to my server and loads the most appropriate set of genomes. When you stop the applet it sends the results of the run you have carried out back to the server. Thus you contribute to the overall evolution process. This seeks to overcome the problem of evolution being very slow by allowing many people to contribute in a fashion similar to seti@home.

Since several sets of genomes are stored on the server at the same time, this system also means that some degree of separation is maintained between sets of life forms that are evolving. This may result in the development of different species in the different sets. Separation is important for real life evolution.

Random Quotes:

John von Neumann, Theory of Self-Reproducing Automata.

    "... living organisms are very complicated aggregations of elementary parts, and by any reasonable theory of probability or thermodynamics highly improbable. That they should occur in the world at all is a miracle of the first magnitude; the only thing which removes, or mitigates, this miracle is that they reproduce themselves. Therefore, if by any peculiar accident there should ever be one of them, from there on the rules of probability do not apply, and there will be many of them, at least if the milieu is reasonable."

Discover Magazine, June 1998, pp.73-79: about using evolving hardware to produce AI:

    "Evolving a conscious computer would take a very long time...
    Then, says Thompson, there's "the problem of us dying during the experiment"."

    "I'm really exploring what evolution can do that human designers cannot."

Jason Noble, while working on the by-laws of the International Society of Artificial Life:

    "We hold these truths to be self-evident, that all artificial life forms are created equal, with rights to life, liberty, and the pursuit of CPU cycles."

Philip K. Dick, The Android and the Human:

    "Someday a human being may shoot a robot which has come out of a General Electrics factory, and to his surprise see it weep and bleed. And the dying robot may shoot back and, to its surprise, see a wisp of grey smoke arise from the electric pump that it supposed was the human being's beating heart. It would be a great moment of truth for both of them."

Primo Levi, who refers to Origin of Species, 6th edition, OUP 1951, pp208-214:

    "In these pages, in sharp and almost amusing polemic, directed against the absurd thesis that animals and plants are created beautiful to be admired by human beings, Darwin attains the harmonious beauty of strenuous and rigorous reasoning. Denying man a privileged place in creation, he reaffirms with his own intellectual courage the dignity of man."

About it...

Genesis is an JAVA applet designed to provide an environment for artificial life forms to exist and evolve.

Each life form consists of a number of cells. These cells are much simpler than biological cells but form the basic units that carry all the processes required for the life form. These include eating, moving, handling replication, sensing the environment around them and transmitting data to their neighbors.

The procedures for each of these processes (and more) is determined by a Turing Post program. For none technical people this is a program consisting of numbered steps, each of which can be one of seven commands. Turing showed that anything that any program can do, so can a Turing post program.

The commands executed by each Turing post program are determined by a sequence of numbers that forms a basic 'gene' in each life form (see FAQs). Each cell of each life form uses a set of 18 such genes. Each life form may consist of many such cells, some of which may share the same genes, some of which may use different ones.
More details on the genome and life form development are here...

When a life form eats a certain amount of food it multiplies and the offspring receives a copy of its genome with a small number of mutations. If a life form runs out of food in its internal store then it dies, along with its genome. Thus the most successful life forms are selected and the evolution continues.

Hopefully this results in a very versatile artificial life program, not tied down to any particular behavior or development algorithm: after all, it is the algorithms that evolve, not just parameters determining behavior.
More details on the use of the Turing Post Program are here...

There are a number of flaws with using the Turing Post program in this way. For one it is very slow. More serious than this is the problem that changing the set of instructions used by the program, even slightly, can result in a completely different output. In genetics terms: a small change in genotype can lead to a much larger change in the phenotype. Since successful evolution relies on gradual change, this could be a problem. To solve this I plan to replace or at least partially replace it with a neural network.

For more detail go to techie stuff and FAQs.

Top

Add Me!