Up-voting because even though genetic algorithms seem inefficient compared to back-propagation with gradient descent, it still is an elegant optimization heuristic for many classes of practical problems, and often easier to implement compared to NNs if you're trying to apply on a novel domain.