http://justinarruda.com/portal

  • blog
  • about me
  • resume
Home

explore.

  • Blog
  • About Me
  • Resume

I made this.

  • Photography
  • Programming Projects
    • Cloth Simulation
    • Evolution Strategies
    • Motion Along A Path
  • Vignettes

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
  • blog
  • about me
  • resume