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