home: GA and ES

evolution of a Brachystochrone

The goal is to optimize the track between a start- and an endpoint in such a way, that the time a moveable point sliding down the track needs to reach the end of the track becomes minimal. The point moves frictionless by means of his own gravity.

evolving a Brachystochrone using genetic algorithms

  • GA - interface help
  • Genetic Algorithms Theory should be an applet here

    Evolution of a Brachystochrone - Problem Info

    The goal is to optimize the track between a start- and an endpoint in such a way, that the time a moveable point sliding down the track needs to reach the end of the track becomes minimal. The point moves frictionless by means of his own gravity and its velocity is 0 at the startpoint.

    chromosome (genotype representation)

  • genetic algorithms
    Only the y-positions of the inner tack points are encoded in the chromsome.
       // 10 trackpieces => 9 inner trackpoints => 9*10 bit gray-encoded bit-vector
       [ [010011110],[011000110],[110100001],[010111011],[101111001], 
         [101011001],[010011101],[011000011],[001111001] ] 
     
  • drawing the chromsome (phenotype representation)

  • evolution strategy and gentic algorithms
    draw a polygon through track-points
  • quality function

    The time a moveable point P needs, to slide frictionless on a track from a startpoint to an endpoint, driven by means of his own gravity shall become minimal, by optimizing the track between start and end.

    ti is the time needed to slide down the track from (xi,yi) to (xi+1,yi+1);
    ti is calculated by integrating the acceleration:

    If the point on track-piece i is accelerated by ai we get its position, after being accelerated for a time t, if we have its initial velocity vi and its initial position xi.
    By inserting ai and li,j we get:
    and we solve this for t, to get ti;

    applet parameters