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.
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.
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.
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.
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.
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/
[...] 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 [...]
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”.
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.
Dec 8 2008
4:45 pm
That is so awesome! I spent like 2 hours watching this thing evolve.
Dec 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.
Dec 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.
Dec 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.
Dec 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.
Dec 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.
Dec 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.
Dec 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.
Dec 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
Dec 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 [...]
Dec 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
Dec 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.