Introduction to Artificial Inteligence

Assignment 4


Programming assignment - logical reasoning

Goals

Implementing a basic forward-chaining reasoning system, and applying it to playing RISK.

Requirements

Your program should essentially implement a production system. It should read a set of rules from a file into working memory. Then, once specific data is added to the working memory, it should use forward chaining to prodoce its results.

Specifically, your rules and basic facts should be such that will be appropriate for reasoning about good moves in RISK. In essence, you should work according to the following steps:

Examples of predicates you might use:

Note that predicates of the first type are added by simple code that looks at the state of the game. Other predicates can be added as a result of applying rules. Some rules that might make sense are:

Further requirements

Your reasoner should support the following keywords (in addition to the obvious IF, AND, NOT, and THEN):

Note that you should implement some form of conflict resolution scheme of your choice, be specific about it in the documentation!

Deliverables

You need to turn in:

Deadline: January 18, 2004.