Live data from Hacker News

Genetic Algorithm Walkers

rednuht.org

21–30 of 75 posts

Re: Genetic Algorithm Walkers

#21
post #10

This looks like fun! It seems that the copied champions are simulated in every run. As long there is no random influence you can probably skip this simulation, as the simulation of the champions is also most likely the most CPU intensive. EDIT: Grammar.

Good point!

Re: Genetic Algorithm Walkers

#23
post #15

Fun, but even after hundreds of generations the walkers are still pretty bad. How good would they be after thousands or millions of generations? Is it even feasible to create a decent walker using genetic algorithms?

This experiment reminds me of one of my recent experiments: http://madebyevan.com/nn-gait/. Mine ends up figuring how to walk relatively quickly. It does have a regular pulse as an input though.

Re: Genetic Algorithm Walkers

#24

What exactly is evolving? How is the genome represented, how does it control the walking?

The genome is represented by a set of parameters that control the rotation speed on each joint, 3 parameters per joint.

The rotation speed for each joint on each simulation step is given by:

  x * cos(y + z * simulation_steps);
where x, y, and z are the parameters. I've experimented with more sophisticated models, but it was hard to get any kind of evolution in the attention span people give to a browser game. :D

Re: Genetic Algorithm Walkers

#25
post #4

I was just about to give up at 70th generation, when the walkers suddenly evolved from 1 to 4 steps in 5 generations. Currently at generation 120 with 7 steps, looks like it is "evolving" in bursts, with long periods of nothing. Well it is stuck at 9 steps at gen 400+. 327 aibobe baeado 948.93 >> 548 aibobe baeado 1058.76 I wonder if the author got any further. I would say this is close to the limit.

Welcome to punctuated equilibria.

Re: Genetic Algorithm Walkers

#26
post #24

What exactly is evolving? How is the genome represented, how does it control the walking?

The genome is represented by a set of parameters that control the rotation speed on each joint, 3 parameters per joint. The rotation speed for each joint on each simulation step is given by: x * cos(y + z * simulation_steps); where x, y, and z are the parameters. I've experimented with more sophisticated models, but it was hard to get any kind of evolution in the attention span people give to a browser game. :D

I've worked on similar projects during my Master's degree. An important trick I learned was to make the controller a function of some kind of discrete feedback in the world (e.g. when the foot hits the ground). In your equation above for example, a simple way to incorporate this would be to reset simulation_steps to zero every time a foot hits the ground.

This is also an important feature in the SIMBICON controller, which is arguably the simplest and most robust walker system. (http://www.cs.ubc.ca/~van/papers/Simbicon.htm)

EDIT: and yes, Reinforcement Learning is much more effective way of attacking this type of problem (e.g. see some recent work from Sergey Levine http://www.eecs.berkeley.edu/~svlevine/), but I also agree with the author that GA are fun :)

Re: Genetic Algorithm Walkers

#27
post #15

Fun, but even after hundreds of generations the walkers are still pretty bad. How good would they be after thousands or millions of generations? Is it even feasible to create a decent walker using genetic algorithms?

These simulations are very sensitive to the parameters, some of which we don't even have control over (e.g. population size or what method to select the next generation.) And especially the way the genome is represented.

It doesn't really say how it works, but it doesn't seem like a very natural way to do walking. E.g. here is are evolved walkers in a more complicated 3d simulation: http://vimeo.com/79098420 They seem to get very good after just a few generations compared to this.

Re: Genetic Algorithm Walkers

#28
post #15

Fun, but even after hundreds of generations the walkers are still pretty bad. How good would they be after thousands or millions of generations? Is it even feasible to create a decent walker using genetic algorithms?

This experiment reminds me of one of my recent experiments: http://madebyevan.com/nn-gait/ . Mine ends up figuring how to walk relatively quickly. It does have a regular pulse as an input though.

Quite interesting! Is there any source code available publicly for this?

Re: Genetic Algorithm Walkers

#29
This is how NaturalMotion started. I remember their CEO Torsten evolving muscle controllers on the Mathengine physics engine (1999?). Get it right, and you get to build a pretty nice business out of it!

Re: Genetic Algorithm Walkers

#30
post #28

Earlier quoted context omitted.

This experiment reminds me of one of my recent experiments: http://madebyevan.com/nn-gait/ . Mine ends up figuring how to walk relatively quickly. It does have a regular pulse as an input though.

Quite interesting! Is there any source code available publicly for this?

I'm always confused when people ask me this question. All browsers have the ability to view the source code of a web page (View > Developer > View Source in Chrome). The source code is here: http://madebyevan.com/nn-gait/script.js. Is that what you meant?
Post reply on HN