December 8 2008
Designing a dune buggy genetically
If this simple applet doesn’t make you want to solve a problem with a genetic algorithm, you’re not human.
If this simple applet doesn’t make you want to solve a problem with a genetic algorithm, you’re not human.
December 8, 2008
4:45 pm
That is so awesome! I spent like 2 hours watching this thing evolve.
December 9, 2008
12:27 am
It seems the best buggy has the two red “passengers” in a fairly vertical orientation – something I would not expect.
December 9, 2008
11:00 am
At first, sure, it made me want to solve problems using genetic algorithms. But I let it run overnight, and it still hasn’t found a good buggy. So now I want to solve just the right subset of problems using genetic algorithms, and am going to research which those are.
Which I suppose is a better outcome anyway.
December 9, 2008
4:19 pm
As an algorithm designed to be watched in a browser, it has to converge pretty quickly or else it’ll be boring and tedious. If you’re running something that can iterate thousands or millions of times a second and run for a while, you’d give it more variables, bigger ranges, and more disruptive mutations to keep it from getting stuck in local maximums so quickly.
December 9, 2008
4:46 pm
It’s been running for a day now in the background, and it’s still generating unlikely and unsuccessful buggies. It sounds like I should probably reset it.
December 9, 2008
4:53 pm
Well, now that I’ve reset it, I think I was actually seeing success before. It would be nice to know what the program considered failure. It could just be a time limit, and no matter how efficient the buggy is it can only get a certain distance down the track.
December 10, 2008
9:44 am
Yeah, that one has a track that, as far as I know, it can’t run on indefinitely with the parameters it has. Too bad we can’t tweak that ourselves.
December 10, 2008
10:56 am
I let it run overnight again, and it’s constructed a vehicle that matches what I’d expect much more than the previous overnight run. But it’s less successful by far than the previous overnight run, and it isn’t mutating it much between runs. Very interesting stuff.
December 10, 2008
2:43 pm
You might have seen that he’s put a little notice warning that the applet has flaws and he wants to improve it. In the meantime, this has come up: http://alteredqualia.com/visualization/evolve/
Pingback jkwiens.com: Genetic Algorithms
December 14, 2008
6:08 pm
[...] an old co-worker linked to an applet which used genetic algorithms to design a dune buggy. Genetic Algorithms seem to be a very interesting way for machines to learn. Although Genetic [...]
December 19, 2008
8:06 am
If you like watching that, check out the breveCreatures screen saver. It uses GAs to evolve walking 3D block creatures. It’s built on breve, a needless-to-say-awesome “3d Simulation Environment for Multi-Agent Simulations and Artificial Life”.
http://www.spiderland.org/screensaver
December 21, 2008
4:50 pm
Thanks for the link Duncan – the breveCreatures is a much fuller realization of the concept. Fun to watch and cooler output. It doesn’t give much instant gratification, but letting it run for a while helps.