CS 284: Seminar in Artificial Intelligence: Evolutionary Computation


Fall 1999


Class Time/Place: Fridays, 9:00-11:50 AM, ASH 221.

Prerequisite: fluency in either Lisp or C

Class Web Page: http://hampshire.edu/lspector/courses/cs284f99.html

Course Description (from catalog, revised)

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.

Class will meet once a week for two hours and 50 minutes. Enrollment is limited to 25.

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 (yes--at 9am!). 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.


Additional readings will be distributed in class.


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.)

Code Telephone

Each student is responsible to produce a piece of code in generic Common Lisp or ANSI C 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.


Note: This may change. Because of the highly interactive nature of this course, it is likely that interest will develop in topics not listed here, or that topics listed late in the schedule will be adequately covered in earlier discussions. The schedule will be adjusted accordingly.

Date Topic Read Before Class
Fri 9/10 course introduction, basic concepts of evolutionary computation and genetic algorithms (Lee and Jaime) Mitchell 1, Banzhaf 4
Fri 9/17 genetic programming (students)

code telephone
Mitchell 2.1, Banzhaf 5
Fri 9/24 HiGP, MidGP, and lgp (Lee)

code telephone
Fri 10/1 applications (students)

code telephone
Mitchell 2.2, Banzhaf 12
Fri 10/8 evolving neural networks (students)

code telephone
Mitchell 2.3, Banzhaf 12.4.1
Fri 10/15 evolving neural networks for natural language processing (Jaime)

code telephone
Fri 10/22 learning and evolution (students)

code telephone
Mitchell 3.1, Banzhaf 1
Fri 10/29 sex and the ecosystem (students)

code telephone
Mitchell 3.2ñ3.4, Banzhaf 2
Fri 11/5 evolving agents in virtual worlds (Jaime)

code telephone
Fri 11/12 schemas and royal roads (students)

code telephone
Mitchell 4.1ñ4.2, Banzhaf 6.1-6.3
Fri 11/19 implementation and variations (students)

code telephone
Mitchell 5, Banzhaf 9-11
Fri 11/26 (Thanksgiving, no class) (none)
Fri 12/3 genetic programming and quantum computation (Lee)

code telephone

Last updated September 6, 1999, by Lee Spector, lspector@hampshire.edu