4 ms·
Slightly relevant, here's a really weird wind turbine designed by a computer: http://m.youtube.com/watch?v=YZUNRmwoijw http://m.youtube.com/watch?v=YZUNRmwoijw
by Houshalter 11y ago
Slightly relevant, here's a really weird wind turbine designed by a computer: http://m.youtube.com/watch?v=YZUNRmwoijw http://m.youtube.com/watch?v=YZUNRmwoijw
- nkoren 11y agoThat was really fascinating -- thank you!
- NicoJuicy 11y agoThe note on the video is quite funny: Note: I have since discovered I used the wrong viscosity for air on this experiment, so the results aren't valid for use on the earth. (Maybe Jupiter.)
- 6stringmerc 11y agoWhile I missed that, I'd have to agree that note is quite amusing. Oops, wrong planet.
- Houshalter 11y agoAh, well. It's still interesting. The design of the turbine is really crazy and not what I would have expected in any environment. So I suspect if he corrected the parameters, it would still come up with a crazy and clever design for Earth use, that humans wouldn't think of.
- whichfawkes 11y agoI have to wonder if there are some imperfections in the simulation which cause it to evolve toward a blade that's optimal for the sim, but not as good in real life. He talks about 20 minute tests, and then later uses a 12 hour test and gets a significantly different power number. I wonder how differently the evolution might proceed if he just had more power to run the full tests on each generation.
- logfromblammo 11y agoThat was an interesting video, but it was restricted to a 2D simulation on a vertical-axis turbine with exactly 3 blades. A more intricate genetic algorithm that runs a 3D wind model and accounts for the cost of manufacture would almost certainly produce some more novel solutions that completely demolish our preconceived notions of what turbines should look like, just like the "jellyfish" cross-section. But it would also probably not effectively scale beyond the model size. Genetic algorithms almost always exploit any previously hidden little flaws you may have in your model simulator, such as the rounding error on floating point numbers at the limit of their precision, or even the way in which you represent airflows. They evolve to maximize performance in the modeling environment, so if your model is not perfect, the solution does not always translate to reality. As such, you always have to test the evolved solutions in the real world before you can say they are better than the designed solution.
- Houshalter 11y agoOh yes, this is just some guys weekend project with a simulator. If I wanted to make the optimal wind turbine, I'd add some random noise in the simulator to account for imperfection in the simulation, and do lots of real world tests. Also I'd allow the GA to change more than just a radial shape. But all that adds difficulty and expense. In fact I've thought about what the optimal way to do real world experiments is. Assuming you want to minimize them as much as possible, if making real prototypes is expensive. I think you could use machine learning on the results of real world experiments to invent a model. It would predict how well each design would do. Then you could optimize the design to the machine learned model. Which of course won't be very accurate. But then it will give you a new test to do in the real world, which will give you data to make it even more accurate.
- logfromblammo 11y agoYou would likely need to do one of every N iterations as a real-world test, and significantly increase the reward for winning a real-world test over a simulated-world test, such that the winners and close runners-up of the real-world tests effectively earn immunity from complete elimination until after the next real-world test round. Additive volume-printer or subtractive CNC machinery would almost be required to make the physical test models.
- heavenlyhash 11y agoOther commenters are focusing on the validity of the sim as a scorer, but there's some other issues here. Doesn't it seem to converge a little aggressively? How do you feel about the potential bottlenecking pressures of a breeding pool of size... six? The parameters of the genetic algorithm are so overwhelmingly ready put things permanently askew from random variations in early stages of the trial sequence that I'm not sure the sim really has a significant impact on the result at all. The author even seems to be aware of this, when he admits running it again does not generate similar results, and starting with a single piece of bias in the initial sample causes that result to dominate. Genetic algorithms aren't something that can be thrown at a problem with zero attention to the parameters. Sorry, no algorithm is that magical.
- Houshalter 11y agoAll optimization algorithms tend to get stuck in local optima. It's great to try to tune the parameters through experimentation, but he only had enough compute time to run the full GA once or twice. Generally I think it's best to use a small population, or even just hillclimbing. But with the smaller population it should run and converge much, much faster. Then you can run it multiple times, and take the best result.