CS340    Lab 1    -    Simple Searching


You will use the "Searches" module of the AI program to answer the following questions.  Give clear and complete written answers.


1.      Look at the map on p68 in your textbook. Suppose we wish to travel from Arad to Bucharest. The mileage of the roads are given. By hand, use breadth first search to find a route from Arad to Bucharest. Draw out the search tree.

2.      In the Searches panel select "Route Finding (Romania)" and build that problem. Step through the Breadth First Search and take note of the nodes as they are being expanded and the nodes in the queue. Did this search produce the "best" path? Why or why not?

3.      Now solve the Romanian problem with Depth First Search. What happened and why? What can be done to prevent this? Try it out. Did this produce the "best" answer? Why or why not?

4.      Now go back to the Searches panel and select the Missionaries and Cannibals problem. Do a portion of the breadth first search by hand. Is it a good idea to check for repeated states? If so, do you prefer "No Returns Breadth First Search" or "No Duplicates Breadth First Search"? Why? What overhead would be involved in the program to implement these? Try out the searches. Did this produce the "best" answer? Why or why not?