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
Genetic Algorithm Walkers
51–60 of 75 posts
Re: Genetic Algorithm Walkers
#52A 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.…
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
#53Fun, 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…
Re: Genetic Algorithm Walkers
#54Once 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
#55I'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…
Re: Genetic Algorithm Walkers
#56You 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.
Re: Genetic Algorithm Walkers
#57Re: Genetic Algorithm Walkers
#58Reminded 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.
Re: Genetic Algorithm Walkers
#59If not, how are you mapping the genome to the phenome?
Re: Genetic Algorithm Walkers
#60One 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