Fall 2008
·
CS 7726 / MAE 6500
Evolutionary
Computation and Design Automation
Tue Thu 2:55-4:10 / Upson 111 / Hod Lipson
Seminar course in optimization and evolutionary algorithms, and their application to open-ended computational design. The course provides insight to a variety of evolutionary computation paradigms, as well as governing dynamics of co-evolution, arms races and symbiosis. Includes topics artificial life, evolutionary robotics and applications in a variety of domains in engineering, science, and art. Suitable for students interested in computational techniques for addressing open-ended design problems and for those interested in computational models of evolutionary discovery. Course will be comprised of lectures, paper readings and discussions. Grading based on critical paper reviews and optional individual projects. Prerequisites: programming or permission of instructor.
This course will cover advanced topics in evolutionary algorithms and their application to open-ended computational design. The field of evolutionary computation tries to address large-scale optimization and planning problems through stochastic population-based methods. It draws inspiration from evolutionary processes in nature and in engineering, and also serves as abstract models for these phenomena. Evolutionary processes are generally weak methods that require little information about the problem domain and hence can be applied across a wide variety of applications. They are especially useful for open-ended problem domains for which little formal knowledge exists and the number of parameters is undefined, such as for the general engineering design process. This course will provide insight to a variety of evolutionary computation paradigms, such as genetic algorithms, genetic programming, and evolutionary strategies, as well as governing dynamics of co-evolution, arms races and mediocre stable states. New methods involving symbiosis models and pattern recognition will also be presented. The material will be intertwined with discussions of representations and results for design problems in a variety of problem domains including software, electronics, and mechanics.
The course will be a combination of lectures and paper reviews followed by critical discussions. Grading will be based on (a) some homework assignments, and (b) individual term projects in which students will be asked to examine some aspect of evolutionary processes or apply evolutionary methods to an interesting problem of their choice (often thesis-related). Academic integrity: Students can discuss concepts but are expected to write their own code and acknowledge the work of others. See Cornell's full set of academic integrity rules.
One-on-one project advising will take place on certain dates. Please sign up to secure a spot. (NetID required)
Lectures and readings will cover some or all of these topics:
The topics above will include also examples for a variety of domains, such as robotics, scheduling, structural and architectural design, neural networks, electronics, software and games.