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. At the end of the semester we will use the Clue Server to conduct a competition between the completed agents.


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, demonstrating how the Java program wraps a Prolog program to provide a complete solution. In order to execute the Java client wrapper, you will need to install the Java Prolog Language interface (JPL). JPL can be downloaded from SourceForge.net or the SWI-Prolog homepage. (JPL Java API documentation is available). 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.


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