http://justinarruda.com/portal

  • blog
  • about me
  • resume
Home › Evolution Strategies

explore.

  • Blog
  • About Me
  • Resume

I made this.

  • Photography
  • Programming Projects
  • Vignettes

Reply to comment

Evolution Strategies

I built this for an AI class to demonstrate Evolution Strategy working to find a path through a course.

Each organism has a set of control points, each control point having a time, acceleration, and angle. Effectively, the acceleration and angle are applied over the amount of time the control point is active. For example, a control point with 10m/s^2 acceleration and 10 degree angle and 3 second time would accelerate the organism by 30 m/s and change its course by 30 degrees. The time, acceleration, and angle attributes of the control points act as the organism's genes.

An organism's fitness is measured somewhat poorly, as I didn't spend much time at all figuring out a good way to measure it on any arbitrary track that is loaded. The method I chose that works okay in most test runs is using the arc length of the organisms trip. In cases where an organism basically drives around in a circle a whole bunch, it's a very poor fitness metric, but as I stated, it works out most of the time.

Technology: C#, XNA (just for the Vector2 and Vector3 classes)

AttachmentSize
Evolution.zip283.53 KB
  • Add new comment

Reply

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

  • blog
  • about me
  • resume