Live data from Hacker News

Genetic Algorithm Walkers

rednuht.org

51–60 of 75 posts

Re: Genetic Algorithm Walkers

#51
post #38

I'd like to see a genetic algorithm evolutionarily figuring out what parameters give you best performing walkers in shortest time ;) Meta-genetic if you will

It's a pretty well known field of research (though not specifically for toy walking problems). Genetic algorithms are a member of the class of problems called "metaheuristics", so your "meta" prefix is sort of already there. So they went up a level and called them "hyperheuristics".

Re: Genetic Algorithm Walkers

#52
post #49
post #40

A bit OT, but I remember a very cool Quake2 mod that basically built a neural network so that bots could learn how to play. The useful part was that you could save the NN to a file, and so you could let Q2 run for hours (mostly I left it at night so it wouldn't prevent me from playing :) ) and the hext day I would save the progress. After about a week of doing this everynight, the bots evolved from just jumping aroun…

There are branches of evolutionary computation that aim to evolve programs. The best known examples are Genetic Programming (GP) and Evolutionary Programming (EP). GP is by far the most popular today, and involves evolving source code, generally in Lisp-like languages where programmatically manipulating source code is a bit easier, but there are also GP approaches that use stack-based languages like Forth or Factor.…

I Was thinking for example, how hard would it be to let an algorithm pick a random number of valid tokens from a language (say java) and the suyccess metric be something like, the amount (or score) of errors that the compiler returns.

Presumably I would expect to see the first few iterations produce nonsense, but maybe after a while, a bot is able to correctly write a variable assignment.

The first obvious problem I see comes from the fact that we know we can have a completely valid piece of code after gibberish and the compiler won't notice the difference.

But what about if there's a compiler able to "score" the "correctness" of the program? that would solve that issue and in theory be able to "learn" how to program, albeit slowly and like you say, most likely not human readable.

Re: Genetic Algorithm Walkers

#53
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 see…

Incredible. It even evolves a walker resembling a variant of a kangaroo (at [01:57]). With a target speed of 1.0 m/s, the legs alternate in taking small steps, but at 2.0 m/s, both legs are used to jump.

Re: Genetic Algorithm Walkers

#54
I'm currently stuck at 1233 after 250 generations. The last improvement was at gen 183. Walking gets part way down the first downslope, then falls. The current champions are far better than any of their mutations, so a local maximum has been reached. This is the fate of most evolutionary AI.

Once on the downslope, the controller for flat ground won't work, so now it has to jump to something substantially more complex to progress. Making such jumps was an unsolved problem with genetic algorithms 20 years ago, and I commented back then that whoever solved it would win a Nobel Prize. Still waiting.

I suspect that a solution lies in work on neural nets where one net is trained, then a second, smaller, net is trained to match the first. This is a form of "abstraction". Somewhere in that space is something very important to AI.

Re: Genetic Algorithm Walkers

#55
post #54

I'm currently stuck at 1233 after 250 generations. The last improvement was at gen 183. Walking gets part way down the first downslope, then falls. The current champions are far better than any of their mutations, so a local maximum has been reached. This is the fate of most evolutionary AI. Once on the downslope, the controller for flat ground won't work, so now it has to jump to something substantially more complex…

From my experience, restarts are as important as mutation and recombination. The most efficient algorithm I've seen so far is a mixture of ES, hillclimbing and restarts. The whole field seems to be pretty stuck IMO, teaching the same inefficient approaches over and over again.

Re: Genetic Algorithm Walkers

#56
post #45

You seem to have some bugs with the copying of champions and/or the identical reproduction of walks at the very short simulation length. Without having adjusted simulation parameters I no longer have my highest scoring walker saved as a champion.

Thanks, I'll look into it!

Re: Genetic Algorithm Walkers

#58
post #37

Reminded me about http://rednuht.org/genetic_cars_2/ If you're disappointed with walkers' performance, try cars, they improve much more. The principle remains the same of course. Attention: addictive.

I remember this. I could watch it forever!

Re: Genetic Algorithm Walkers

#59
So is this really a genetic algorithm, or is it hill-climbing? Are you combining genomes from different individuals? Or are you just mutating a single genome? There are no controls for crossing genomes, so it seems likely to be hill-climbing.

If not, how are you mapping the genome to the phenome?

Re: Genetic Algorithm Walkers

#60
post #36

One interesting thing is that progress very much happens by fits and starts, as it waits for the "lucky mutation" that will enable evolution to continue. For example, 0 Bedaaa Ceeici 6.07 1 Bocodo Bidobo 105.93 3 Aibebe Docoeo 107.74 7 Diaebe Eocoeu 107.88 10 Ciaabe Eocoeo 107.95 25 Diaebe Facodu 108.19 28 Biaebe Eocoeo 108.20 30 Biaeae Eacoeo 108.47 35 Beaebi Fucieo 109.88 36 Biaebi Eucici 203.60 42 Biaibi Fuceci 20…

This is called punctuated equilibrium. Evolution happens in fits and starts after periods of relative non-change. http://en.wikipedia.org/wiki/Punctuated_equilibrium

If you look at how the scores for the walkers increase as they walk, you will see that it jumps in increments of 100. I guess it is some kind of "milestone bonus".
Post reply on HN