190 likes | 280 Views
Uninformed Search. R & N Chapter 3. State Space Search. We need: Set of states A start state A set of operators (a successor function), possibly with costs attached. A set of goal states (or a way to test for goal). A Water Jug Problem.
E N D
Uninformed Search R & N Chapter 3
State Space Search • We need: • Set of states • A start state • A set of operators (a successor function), possibly with costs attached. • A set of goal states (or a way to test for goal)
A Water Jug Problem You are given two jugs, a 4-gallon one and a 3-gallon one. Neither has any measuring markers on it. There is a pump that can be used to fill the jugs with water. How can you get exactly 2 gallons of water into the 4-gallon jug? States: Start state: Operators: Goal state:
School Lunch Planning States: Start state: Operators: Goal state:
Criminal Defense Lawyer States: Start state: Operators: Goal state:
Incremental vs. Complete State Formulation 8-Queens States: Start state: Operators: Goal state:
Search • Two key decisions: • Use a tree or a graph • How to choose which node to expand next • Example:
Performance Criteria • Completeness • Optimality • How good is the solution? (R & N call this optimality) • How efficient is the search algorithm at finding the solution? (R & N call this Time and Space complexity)
Breadth-First Search Is this a good idea?
The British Museum Algorithm A simple algorithm: Generate and test When done systematically, it is basic depth-first search. But suppose that each time we end a path, we start over at the top and choose the next path randomly. If we try this long enough, we may eventually hit a solution. We’ll call this The British Museum Algorithm or The Monkeys and Typewriters Algorithm http://www.arn.org/docs2/news/monkeysandtypewriters051103.htm
Is Iterative Deepening a Win? This last term is because of how R&N define best-first search. N(BFS) = b + b2 + … + bd + (bd+1-b) N(IDS) = (d)b + (d-1)b2 + … + (1)bd Example: Let b = 10 and d = 5: N(IDS) = 50 + 400 + 3,000 + 20,000 + 100,000 = 123,450 N(BFS) = 10 + 100 + 1,000 + 10,000 + 100,000 + 999,990 = 1, 111, 100 But there is a real saving in memory.
Is ID a Win? The Mathematics Breadth-first search: Iterative deepening: Lower bound: Upper bound:
Which Direction Should We Search? Our choices: Forward, backwards, or bidirectional The issues: How many start and goal states are there? Branching factors in each direction How much work is it to compare states?
Tree or Graph? Issues: How common are repeated states? How expensive is it to compare states? Examples: 8-puzzle chess school lunch planning defense lawyer theorem proving