Problem Solving with Search Problem solving in some current state want to be in some goal state How to get from the current state to goal state? Problem classifications single-state problem - know exact state during search multiple-state problem - reason about multiple states contingency problem - interleaving search & execution exploration problem - must learn actions & results Formal problem definition initial state successor function state space path goal test path cost search cost & total cost (search + path) Search Algorithms Breadth-First Search look at all nodes at shallowest level before considering deeper nodes Uniform-Cost Search look at nodes connected to node with smallest path cost not previously evaluated Depth-First Search look at nodes connected to most recently evaluated node before continuing on with other possible paths Depth-Limited Search depth-first search with a limit on depth of path Iterative Deepening Search gradually increases depth limit Bidirectional Search search forward from current state and backward from goal state until find a node in both search spaces Other Search Problems The 8-puzzle get the pieces of the puzzle in their correct place 8 Queens Problem place 8 queens on a chessboard so that they do not attack one another Cryptarithmetic identify the mapping of letters to numbers so equations work Missionaries and Cannibals find a series of traversals that gets 3 missionaries and 3 cannibals across a river in a canoe