The genetic algorithm is a technique for machine learning which models the mechanisms of evolution in nature. Given a problem, potential solutions are phrased as "genomes", which are "evolved" over several "generations" toward an optimal solution. This course serves as an overview of the practice and techniques of genetic algorithms with a focus on concrete application, exploring such topics as artificial intelligence, optimization, computer animation, automatic programming, etc. The course is structured around a series of projects through which the student gets a hands on appreciation for the concepts presented in class.
Prerequisites: CS241 or permission of instructor. Credit 3 units.