My Photo

Artist Credits

Blog powered by TypePad

« Virtual Evolution | Main | Evolution as a Process II »

March 03, 2007

Evolution as a process

Evolution as a process provides a means test multiple paths towards optimization.  It also provides a means to inherit intelligence gained over generations.  Lets break down the process a little and determine the basics.

For simulated evolution to occur, a few things are needed.  First, understand that I am a software developer by trade, so I tend to communicate things from that perspective.  I see "things" as objects.  Not physical objects, but virtual ones, the Grady Booch kind of objects.

For basic evolution we need at least one organism, and an environment for that organism to live.  The organism could also be thought of as a cell, with the ability to replicate itself if allowed.  The environment is needed to sustain the organism and grow along with it.  What is that you say?  The environment will grow along with the organism?  Yes, that is exactly what I mean.

Why do giraffes have long necks?  Again, not to turn this into a theology debate, but I theorize that giraffes have long necks because their primary food source grew taller through multiple generations.  Maybe too many animals were eating its leaves, so it had to grow taller to survive.  Giraffes that grew taller necks would get more food, and thus increase their potential for survival.  Over time, the

Our simulations need to work the same way.  The environments our organisms live in will need to adapt along with the organisms we create.  Therefore, simulated evolution can be thought of as having polar interests.  The environment vs the organism.  If they are in synch, life will flourish, and new generations will survive.  If they are out of synch, life will struggle, and new generations will need to adapt.  It is this equilibrium that is of particular interest to us as observers.

Our organism and our environment need to interact.  So we will need to apply some behaviors to our organism so that it can move on with its life.  For the sake of the discussion, lets say our basic organism is simply a math routine that is designed to find points on a Cartesian graph that form rectangular shapes.

Our organism is given some basic intelligence to understand that a rectangle needs 4 points, each of which must be at 90 degrees to two of the other points, and the lengths of opposing sides need to be equal.  Every time the organism thinks it has 4 points to create a rectangle, it can ask the environment to check.  If the organism is correct, it gets a point.  If it is incorrect, it loses a point.

We can also give our organism capabilities to observe its previous answers, and seek patterns.  We can walk through an example of this and observe the behavior.

1st 4 points (x-coor, y-coor) - (0, 0); (0, 1); (0, 2), (0, 3)   

Points one and two right angles to points three and four - nope
Points two and three right angles to points one and four - nope
No combination of points can produce a right angle
2 x 90 degree points, first test unsuccessful
Distance from point 1 to point 2 = 1
Distance from point 1 to point 3 = 2
Distance from point 1 to point 4 = 3
This fails the second test.  Parallel lengths must be of equal distance.

Minus 1 point.

2nd 4 points (x-coor, y-coor) - (1, 0); (1, 1); (1, 2), (1, 3)

3rd 4 points (x-coor, y-coor) - (2, 4); (4, 2); (8, 4), (4, 8)  and so on...

We will need to teach the organism how to load its values, and how to cycle through those values.

We can teach our organism to build on partial success, and recognize routes to success.  In this test, we will quickly learn that the axes are at right angles to each other.  Therefore, any two points that share the same x coordinate will be parallel.

More soon...

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/2297482/16384506

Listed below are links to weblogs that reference Evolution as a process:

Comments

Post a comment

If you have a TypeKey or TypePad account, please Sign In