My Photo

Artist Credits

Blog powered by TypePad

Main | Evolution as a process »

February 22, 2007

Virtual Evolution

And we're off.  I finally broke down and made an official home for myself.  The days of procrastination are over, for now.  I have a problem, an obsession actually.  I want to watch things evolve.  And not just any 'things', my 'things'.  Things that I can create in a computer program.  The things can be object, like people, cars, a manufacturing plant, or a robot.

So lets get it started.  This is meant to be a discussion about the science of evolution.  This isn't meant to be a discussion of religion, or individual beliefs.  This board is about my ideas on how to simulate evolution and genetics, and how to create optimized virtual organisms, that can be materialized into real life systems.  Sound a little bizarre?  Just wait.

I first got introduced to some of these concepts reading a book by Ray Kurzweil called The Age of Spiritual Machines, which discusses many far fetched concepts, one being the simulation of evolutionary systems.  Kurzweil gets into the simulation of DNA code to create virtual organisms that compete to gain advantage.  The idea is expanded to encompass millions of simultaneous simulations using evolutionary algorithms to harness the inherent intelligence gained through the evolutionary process.

It's my goal to do several things with evolutionary engineering.  My current side project is named O.T.I.S., the Optimized Traffic Information System.  OTIS is a light weight vehicle traffic simulator developed in Java.  The program includes a road mapper and intersection builder to define a road system. 

The Simulation Builder allows for driver and vehicle modeling as well as traffic signal configuration.   Vehicle entry and exit points are established, as well as speed limits and other road rules.  Positive reinforcements like fuel economy, short trip length, minimal braking, safe travel distances can be developed.  Negative reinforcement such as waiting at traffic lights, stop and go traffic, congestion, and poor fuel economy, can cause an organism not to be selected for reproduction.

The Simulation Engine can run vehicles through the map and record the statistics.  The engine is given enough leeway to look for relationships between traffic signals, and respond to immediate effects of changes.  In this way, the system can learn to synchronize traffic signals to allow the heavier volumes of traffic through without stopping, or find alternate routes for vehicle accidents.

The Evolutionary Container can run many Simulators Engines and replicate natural selection and reproduction, as well as introduce mutations.  The healthiest organisms, those with the most positive reinforcement, are selected for reproduction.  Reproduction causes mutations.  As multiple generations achieve more and more success, and experiences grow, certain families will become highly optimized, and hopefully highly intelligent.

I got some heavy work to do on my Road Builder using the Java 2D specification.  Time to break out the trig books.

TrackBack

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

Listed below are links to weblogs that reference Virtual Evolution:

Comments

Post a comment

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