CSIS 440 - Project Description

Project Description


Organization:

The project will be accomplished by single persons who will each design and implement a program in Prolog that will play a "detective game."


The Problem Domain:

The task is to develop an "agent" that can play an "intelligent" game of Clue. Your program will be given minimal information about the starting configuration of the game and will proceed, in turn, to play the game of clue.


Software Platform:

We will be using the Prolog programming language for implementing our "agents." See the Prolog page for more details about the language and its use.

We have implemented a Clue Server that will be running throughout the semester, allowing you to test your agent and to play against other players. The server is running on dhansen.cs.georgefox.edu (email Dr. Hansen if you are unable to connect) and is network accessible. At the end of the semester we will use the Clue Server to conduct a competition between the completed agents.

As described below, I will provide you with a Java client that handles communication to the server as well as a Prolog template. The minimal requirements for using this software are that you have installed:

Some configuration will be required to connect the Java wrapper with your Prolog clue player; information will be provided with the software. You may find it helpful to run the project in a Linux virtual machine. I have a preconfigured Linux appliance for use with VirtualBox available.


Project Details:

Each person will implement a Clue agent in the Prolog programming language. We will begin by learning how to use Prolog and move on to discussions of how to implement the agent. Along the way, you will need to make decisions about how to represent the state of the game in Prolog, and what strategies to employ.

Your agent will need to be able to connect to the Clue Server to play online interactive games. The Clue Server implements a simple text-based protocol for communicating with clients. A skeleton Java program will be made available that handles the connection between your agent and the Clue Server. A skeleton Prolog program, capable of playing a legal, but ignorant game of Clue will be also provided to demonstrate how the Java program wraps a Prolog program to provide a complete solution. Note: you are free to write your own Clue Server client from scratch in any language you wish; you must, however, use Prolog for the "intelligent" portion of your agent.

By the end of the course you will have an agent written in Prolog that is capable of playing a legal game of Clue. The beginnings of a legal, but ignorant player are available here. We'll be discussing this fledgling player and how to extend it througout the semester.

Refer to the Official Clue Rules for more information. Clarifying notes on the moving rules:


Deliverables:

Regular milestones in the development of your agent will be a part of the ongoing regular assignments. See the assignments page for more information.


Grading:

The project will generally be a part of the homework portion of the course grade. However, based on the results of the tournament held at the end of the semester, additional points will be awarded to exceptional agents.


Last modified: , by David M. Hansen