Programming assignment 1 -- Search Techniques

Due: November 13th, in class (print out) and midnight (code)

Write procedures/functions for the following search strategies in PROLOG: depth-first, breadth-first, and best-first search.

Then, call these procedures/functions them to solve the 8-puzzle and Black and White Tile Problem problems (Chapter 4, Exercise 4.7, Question 5).

Show your work on each problem by turning in: (1) a print out of the identified solution path for 5 test cases, (2) the input states for the 5 test cases, (3) a screen capture showing the running of your algorithms. We will also need your source code and a README file with running instructions. Email these items to the Instructor and the TA with the subject line "CS427/CS527 Project 1"

HINT: You should already have skeleton solutions for these search techniques in PROLOG from Prof. Luger's website.

I'm getting tons of questions on this-- in the last 30 minutes. Just turn in a print out of your test cases, NOT the code. Turn in everything electronically. If your test cases go on too long in your printout, just manually edit them down to show the first few steps of the path and the last few steps of the path (and put a note that you cut the path). Just make sure that your electronic version has the full file. If you didn't do this already, it is ok. Just bring what you already have done to class.

Helpful files are at: PROLOG chapters are under the AI Algorithms, Data Structures and Idioms in Prolog, Lisp, and Java book link.