Created by Mattias Fagerlund ( mattias@hypeskeptic.com ).
The Hoppers are controlled by evolved programs that determine angle of the "head" and the power it's pushing the piston. In this example, I'm using my fourth (!) and so far best Genetic Programming engine for Delphi.
Click here to download hopper.
The fitness of a hopper is determined by how far it gets before it falls over. Early hoppers try to hop as far as they can with one single hop, after a few generations, they usually learn to take one more hop. And then one more. Evolving hoppers can take a while, but several rather good hoppers are included.
This is a control program from Hopper;
(SetV1V2
(1/x
dy)
(neg
(max
(if-then-else
(div
(cos
(if-then-else
(1/x
FootDown)
speedx
(1/x
(cos
dz))))
(cos
(mul
dz
(mul
speedx
(mul
speedx
(1/x
(cos
dz)))))))
speedz
dz)
dz)))
Click here to go back to the evolved page.