CSCI 485 Fall 2023 - Assignment 2
Due: noon, 12 October 2023, Thursday

Problem Description (Party Seating):

Seating guests in party tables is a headache sometimes. There are always guests who, for various reasons, shouldn't or must be seated on the same table.

If we treat the guest seating problem as a math/computer science problem instead a social problem, then we can give the following semi-formal definition of the problem:

In the end, the party seating problem becomes to find a table assignment for each guest such that all the constraints (guest demands) are satisfied.

Your Tasks:

Treat the party seating problem as a constrait satisfaction problem and implement an AI agent program that can always provide a satisfactory seating arrangement or report failure if there doesn't exist a seating arrangement that satisfies all the guest demands.

You can design your own format for input information. Here is a sample input file that shows one possible encoding format to communicate a problem's data and constraints to your program.

Your AI agent program should use backtracking algorithm to solve the problem. And your AI agent must use at least two heuristics, minimum remaining values and most constraining variable least constraining value, coupled with the use of forward checking (value propagation) to improve the search efficiency.

Provide a Makefile to automate the compilation of your program.

Provide an assignment report (a .txt or .pdf file) that includes at least the following information:

What and How to Submit

You need to submit the following files for this assignment:

Put all the files you want to submit in one folder on otter, submit them using the following command:
~liuh/bin/submit 485 A2 .

To check what file(s) you have submitted for this assignment, use the following command on otter:
~liuh/bin/checksubmit 485 A2

Alternatively, upload all the files you'd like to submit to VIU Learn, under the CSCI 485/Assessment/Assignment/A2 tab.


Last Update: October 3, 2023