Tuesday, December 4, 2012

ISTA 301 Blog: Evolutionary Algorithms

      Ever seen a lopsided skyscraper? Neither had until I was introduced to moh architects and evolutionary design concepts. Yup that right evolutionary design. . . what does this mean? Well check out their website HERE. Their idea was to use natural evolution to produce actual structure concepts and in this case skyscrapers. Nature has a pretty good way of making evolution happen. The weak die and the strong survive. Now apply such ideas to architecture and whala. Kinda. Its not as easy as you'd think. You need evolutionary algorithms and a rating system to determine how that algorithm does over time. These systems are often called Fitness scores. For example in the skyscraper situation we would make a rating system based on how strong the build is and whether its going to fall over when a little storm comes through. The process would be something like this. Run the algorithm and take the result. Put it through a storm and if it falls over throw it away and get the next one. When you find a few good ones that survive find the properties that made them survive and add them to the algorithm. Now repeat a couple hundred times. Eventually the goal is to get something that's going to survive the harshest hurricanes and storms. The process will vary depending on algorithm but all evolutionary algorithms require a grading system. For more information check out a trusted Wiki article HERE. For a beginners guide to EA's there's another great resource HERE.
      So whats so cool about these? Well this strategy is an interesting way to create something but often not know what your result will be at the start. Depending on your EA you may get results that you would have never predicted or imagined. Above is a pretty good example. Who would have thought of having a structurally sound skyscraper that was completely bent in the middle? These algorithms also have to great power to find the optimum result very easily for any project. On the Perl Monks website they give these great examples:

  • Finding circuit layouts that minimize production costs, using graph representations.
  • Modelling biological principles like cooperation, speciation, specialization.
  • Finding effective movement strategies for cheap (and dumb) robots.
  • Creating classifiers and predictors for data sets, often with neural nets.
  • Generating music/art that satisfies certain aesthetic criteria.
Some really great ideas and possibilities can come from this process and its easy to see that it can be applied to a huge variety of fields and problems. It would probably be a good idea to keep EA in the back of your mind if your a true problem solver - Laters
   

No comments:

Post a Comment