CS 284: Seminar in Artificial Intelligence: Evolutionary Computation Syllabus Hampshire College, Amherst MA Spring, 2001 |
||||||||||||||||||||
|
Description
Evolutionary computation techniques harness the mechanisms of natural evolution--including genetic recombination, mutation, and natural selection--to automatically produce solutions to a wide range of problems. In this course students will explore several evolutionary computation techniques and apply them to problems of their choosing. The technique of "genetic programming," in which populations of executable programs evolve through natural selection, will be emphasized. The prerequisite for this course is fluency in either Lisp or C. A background in Artificial Intelligence (for example, CS 263 Artificial Intelligence) would also be helpful.
Expectations and Evaluation
This course has been designed to maximize student participation and interaction. There is no final project, and no portfolio of work will be required. In exchange for this, however, students are required to participate in several substantial and structured ways. On time attendance to every class is required. Several segments of the class will be devoted to presentations by groups of students--the details of this component will depend on the number of students in the class, but each student will probably participate in two of these presentation groups. Students will also be required to actively participate in the collaborative "code telephone" exercise described below.
Students will be evaluated on the basis of:
Consistently active participation is required to receive credit for a Division I two-course option. For five-college students the grading standards are {A=excellent, B=good, C=weak, D=marginal, F=fail}, with the three evaluation criteria having equal weight. (Five-college students may want to consult with the professors periodically for a grade-based performance assessment.
Texts
Both texts will be available on reserve for short-term (3 hr.) borrowing from the Hampshire College Library. The following references will also be available on reserve:
Additional readings will be distributed in class.
Code Telephone
Each student is responsible to produce a piece of code in generic Common Lisp, ANSI C/C++, or Java for any purpose by the first code telephone session. We will discuss and critique the code in class. Each piece of code will then be routed to a different student, who will have the responsibility of modifying the code to any effect by the next code telephone session. Modifications may be produced by augmentation, mutation, or crossover with other class code or code from other sources. All modifications, their authors, and code sources must be clearly indicated in the code.
Group Presentations
Several class segments will be devoted to presentations by groups of students. The groups and the assignment of topics will be determined in the first two class meetings. Presenting students will be responsible for presenting the material covered in the reading, and for orchestrating the discussion and/or other activities for the entire class segment..
Schedule
This course will not follow a rigid, pre-specified schedule but will instead be paced to the progress and interests of the students. A basic sequence of possible topics and associated readings is presented below but some of these may be dropped and others may be added; changes will be discussed and announced in class.
Topic Read Before Class course introduction, basic concepts of evolutionary computation and genetic algorithms Mitchell 1, Banzhaf 4 genetic programming
code telephoneMitchell 2.1, Banzhaf 5 applications
code telephoneMitchell 2.2, Banzhaf 12 Push, PushGP, and Pushpop
code telephonehandouts evolving neural networks
code telephoneMitchell 2.3, Banzhaf 12.4.1 learning and evolution
code telephoneMitchell 3.1, Banzhaf 1 sex and the ecosystem
code telephoneMitchell 3.2-3.4, Banzhaf 2 schemas and royal roads
code telephoneMitchell 4.1-4.2, Banzhaf 6.1-6.3 implementation and variations
code telephoneMitchell 5, Banzhaf 9-11 genetic programming and quantum computation
code telephonehandouts
This page is maintained by Lee Spector and was last updated on August 31, 2001