CS3361 Spring 1997

Introduction to Artificial Intelligence

Lecture Notes for Search: The Sequel: 4/3/97


Liveboard notes.


Assignment 1
(Due Thursday, April 10, 1:30pm)

See CS2360 Fall 95: Assignment 5
See also CS2360 Fall 95: Assignment 5 update
And see CS2360 Fall 95: Coding guidelines


Readings (useful for assignment):


Relevant stuff in previous courses:


POINTS OF CONFUSION

There are several issues the book does not make sufficiently clear (from my point of view):


SEARCHING FOR SINGLE STATES (Static optimization)


SEARCHING FOR STATE SEQUENCES (Dynamic optimization)


THE SEARCH DIRECTION ISSUE

Independently of how a single search tree is constructed (breadth first, depth first, uniform cost, ...) there is an orthogonal choice of which trees to build.

So, a breadth first search can be forward, backward, or bidirectional, for example.


QUESTIONS TO ASK ABOUT ALGORITHMS

There are several questions you should ask about search algorithms
(in fact, about any AI algorithm),
all addressing the issue of which problems will the algorithm work well on:

Keep in mind that there is generally a tradeoff between algorithm generality and algorithm performance.


SEARCH ALGORITHMS:


What are useful heuristics (estimates of the cost-to-go) for the 8 puzzle problem?


TWO USEFUL DATA STRUCTURES:


"END GAME" DATABASES:


PRIORITY QUEUES:


VALUE FUNCTIONS: