Friday, March 9, 2007

Geneticist

I'm currently taking an engineering design optimization class. It's a fascinating subject with a suprisingly diverse application set. Currently we're talking about genetic algorithms. The idea behind a genetic algorithm is that there are so many options to the design that you can't even scratch the surface in looking for the best solution (in optimization it's rarely about finding A solution, it's about finding THE solution). In a genetic algorithm several starting designs are created and evaluated on their fitness. If their fitness is good they have a better chance than other designs in the set to become a parent and get their genetic material -- design parameters -- into the next generation. Once a set of parents have been selected they are arbitrarily blended together into two new designs distinct from the first. This happens repeatedly until an entire new generation arises. Then the new generation competes to become the new parent designs. You can see why the algorithm is called a genetic algorithm, the idea is to put a virtual pressure on the design variables to push the designs into becoming better.

I get the chance to implement such an algorithm as a class project. Unfortunately I'm not currently in posession of an idea of what I would like to do.

No comments: