From: Nathan A. Ferch
Subject: problem with searches; can you help?
Date: 
Message-ID: <350D7FC3.FBA13AEC@csd.uwm.edu>
Hello,

Can someone help me here? I'm writing 3 functions using the
depth first, breadth first, and best first search algorithms.

The problem works as a sliding puzzle that has some number of
black tiles, B, followed by a blank, O, followed by some number of
white tiles, W, where I can input the puzzle as a list.

For example: (B B O W W W W)

This puzzle has two costs:

A tile may move into an adjacent empty location; this has a cost of 1.
A tile can hop over one or two other tiles into the empty position; this

has a cost equal to the number of tiles jumped over.

The goal is to have all the white tiles to the left of all the black
tiles, where the blank doesn't matter.

I need to implement the 3 search algorithms so that it finds:
a) the sequence of moves used to find a solution
b) the total number of nodes created
c) the maximum length of the open-list
d) the total cost of the solution found

Then I need to write a function that calls a search algorithm
and displays the results in some readable format.

For example:

     (solve-tiles #'dfs '(B O W))       ; dfs=depth-first search
     (B O W)
     (O B W)
     (W B O)
     Number of nodes created: 5
     Maximum length of open list: 5
     Total cost: 2

I'm just confused as to how to write these different search algorithms.
If anyone can help me or head me off in some correct direction,
please e-mail me at:     ········@hotmail.com

thanks!

Lisa