ES
- interface help
Evolution
Strategy Theory
Evolving a Brachystochrone using
Genetic Algorithms
GA
- interface help
Genetic
Algorithms Theory
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.
The track
is modelled by lines through successive trackpoints.
Evolution
Strategy
The brachystochrone was encoded using 2 double values per trackpoint: the
position (x,y) of the trackpoint. Thus each chromosome consists of 2*n double
values, if n is the number of track points.
// 10 trackpieces => 9 inner trackpoints
double object_parameters[]= {10,10, 20,20, 30,30, 40,40, 50,50,
60,60, 70,70, 80,80, 90,90, 100,100, 110,110 };
double strategy_parameters[] = {0,0, 0,1, 0,1, 0,1, 0,1,
0,1, 0,1, 0,1, 0,1, 0,1, 0,0 };
As we want to optimize the height of the tracks inner points all but the y-positions
of the inner track points have a strategy parameter of 0.
Genetic
Algorithms (bitvector)
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] ]
Evolution
Strategy and Genetic Algorithms
draw a polygon through track-points
The time
a moveable point P needs to slide frictionless on a track from a starting
point to a destination driven by means of his own gravity should 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;