CS472/572
Evolutionary Computation

General Information

Instructor: Terry Soule
Office: JEB229
Phone: 885-7789
Email: tsoule@cs.uidaho.edu
Office Hours: TBD
(I am often available at other times. Please feel free to stop by anytime.)

Textbook:
Required: Introduction to Evolutionary Computing, Eiben and Smith, Springer.

About the Course: Evolutionary computation (EC) is the study of search algorithms inspired by biological evolution. It falls somewhere between the fields of artificial intelligence and artificial life. Although there are many varieties of evolutionary algorithms (EAs) they share certain common features. The goal of any EA is to find/evolve a solution. An EA typically maintains a set of suitable encoded potential solutions (know as a population). Artificial versions of survival of the fitest and reproduction are applied to the population to 'evolve' progressively better solutions.
In this course we will examine some of the different varieties of EC, the theory behind EC, how to optimize performance, and look at some current research areas in EC such as the speciation and co-evolution. The work for this course will emphasize projects and papers.

Exams: There will be two midterm exams and a comprehensive final.

Projects/Papers: There will be four programming projects. The projects will be broken down into several subprojects.

Graduate Students: For students taking this course as CS572 the expectations will be somewhat higher. In particular, the final paper will require more extensive background research and will be expected to be of near publication quality.
Late Work: Late projects and papers will be penalized 10% per school day late.

Grading:
Exams: 16%, 16%, 20%
Projects: 12% each