ICS-175A, Project in AI, Spring 2000Instructor: Rina Dechter
Location: CS 213
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.
The following assignment tasks will be considered:
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.