CSCI 335 - Artificial Intelligence

Fall 2011

Programming Assignment #2: Planning

Overview

Using your implementation of best-first search from the previous assignment, you will implement a system for solving planning problems. You will develop heuristics for guiding the search in a domain-independent manner. You will also encode some additional problems as planning problems. Here are the provided source files:

Programming Assignment

Implement the following heuristics: Here are some hints and tips to help you with your implementation:

Proofs

Experiments

Compare the performance of your heuristics against the blocks world problems included above. Assess performance in terms of: Feel free to mark as unsolvable any problem which, for a given heuristic, requires more than two minutes of computing time. You need not try any problem larger than that for that heuristic. Solution length is particularly important, as it is highly possible that a non-monotonic heuristic may be used.

Additional Domains

In addition to the blocks-world domain, you are to devise PDDL codings of three additional domains. For each of these domains and each of the problems you create for them, include a discussion in your paper of the relative performance of your heuristics on them.
  1. Encode the requirements for completing a Computer Science major according to the Hendrix Catalog as a domain. Then encode three student transcripts as "problems". Two of them should "graduate", and one should not.
  2. Encode the problem of a robot traversing the Morgan Center as a domain.
  3. Invent a domain and create three problems for it.

Paper

When you are finished with your experiments, you will write a short paper summarizing your findings. Include the following details in your paper:

Submit your code, your domain PDDL files, as well as your paper using Sauron.

Grading criteria

GradeContent
AProgram is working with all heuristics
Paper is complete
Analysis properly characterizes the basis of each claim
BOne or two heuristics have small bugs
The analysis is somewhat flawed
CProblematic bugs and/or somewhat incomplete or moderately flawed paper
DSevere bugs and/or multiple parts missing from paper
FProgram does not work at all and/or paper is not seriously attempted