[an error occurred while processing this directive]

ICS-175A, Project in AI, Spring 2000

Instructor: Rina Dechter
Time: 11:00a.m.-1:00p.m.
Location: CS 213

Course Goals

Students are required to do project in Artificial Intelligence. I will suggest projects focusing on scheduling and timetabling problems that should be solved by heuristic search and constraint processing algorithms. Students can propose their own projects subject to approval.

Necessary reading and some initial instructions will be given in the first week, however students will be responsible to close the knowledge gap in heuristic search and constraint processing algorithms.

Groups of 2, 3, or 4 students will be formed for each project. Final project: submit a report + code + demo.


  • Week 2: Beginning of second week give one paragraph for a project proposal.
  • Week 4: Progress report
  • Week 6: Progress report and partial demo
  • Week 8: End of eight week final report (draft)
  • Week 10: Final report + code + demo-presentation

The following assignment tasks will be considered:

  1. Assigning reviewers to papers (will be used for demonstration)
  2. Assigning Instructors to classes
  3. Assigning TA's to classes
  4. Timetabling (high-school): assigning classes and teachers to time slots. Real data will be provided whenever possible.

1. Assign papers to reviewers:i Given a set of preferences on papers (degrees 1-4) assign a fixed number K of papers to each of $n$ reviewers such that to maximize degree of statisfaction. (Example, scheduling reviewers to cp2000)

2. Assignment of instructors to classes: Given instructors preferences for teaching 4 classes, two graduate and two undergraduate, and given class requirements, assign instructor to classes and to quarters to maximally degree of satisfaction. (Real data: scheduling in ICS for year 2000-2001)

3. TA assignments: Given class schedules for quarter, the number of TA needed for each class TA's preferences and qualification, and instructors' choice of preferred TA, schedule the TA's in a way that maximize some measure of staisfaction. (Real data: scheduling TA's for Spring 2000)

4. Class scheduling: The project is to experiment with the application and approach described in "A Constraint-Based Approach to High-School Timetabling Problems: A Case Study" (paper will be given). The problem is to find a schedule for classes, classrooms, and teachers for a high-school.

Measure of satisfaction can be to minimize the number of weighted constraints violated. Or, to minimize the maximum number of constraints violated for each element (TA, professor).

Some algorithms written by graduate students are available for binary CSPs. Students can try to adapt those to the problem or code the algorithms from scratch. Students can also use the constraint programming language Eclipse.