Upload
phungthu
View
226
Download
1
Embed Size (px)
Citation preview
CS 730/830: Intro AI
Recap
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 1 / 22
2 handouts: slides, asst 2
Recap
Recap
■ Problem Solving
■ DeGroot Results
■ Comparison
■ Are We Done?
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 3 / 22
Formalizing Problem Solving
Recap
■ Problem Solving
■ DeGroot Results
■ Comparison
■ Are We Done?
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 4 / 22
State: hypothetical world stateOperators: actions that modify worldGoal: desired state or test
(Herbert Simon and Allen Newell, “Computer simulation ofhuman thinking and problem solving”, 1961)
DeGroot Results
Recap
■ Problem Solving
■ DeGroot Results
■ Comparison
■ Are We Done?
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 5 / 22
Is iterative deepening real?
Comparison
Recap
■ Problem Solving
■ DeGroot Results
■ Comparison
■ Are We Done?
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 6 / 22
Algorithm Time Space Complete Admissible
Depth-first bm bm If m ≥ d NoBreadth-first bd bd Yes If ops cost 1Uniform-cost bd bd Yes YesIDDFS bd bd Yes Yes
branching factor bmaximum depth msolution depth d
Are We Done?
Recap
■ Problem Solving
■ DeGroot Results
■ Comparison
■ Are We Done?
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 7 / 22
Are We Done?
Recap
■ Problem Solving
■ DeGroot Results
■ Comparison
■ Are We Done?
Heuristic Search
Wheeler Ruml (UNH) Lecture 3, CS 730 – 7 / 22
Heuristic Search
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 8 / 22
UCS Behavior
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 9 / 22
UCS Behavior
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 9 / 22
UCS Behavior
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 9 / 22
Heuristic Evaluation
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 10 / 22
Heureka!
— Archimedes
Heuristic knowledge is useful, but not necessarily correct.
Heuristic algorithms use heuristic knowledge to solve a problem.
A heuristic function takes a state and returns a lower bound onthe cost-to-go to reach a goal.
(Newell and Ernst, 1965; Lin, 1965)
A* Search
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 11 / 22
Consider estimated final path cost! f(n) = g(n) + h(n)
Q ← an ordered list containing just the initial state.Loop
If Q is empty,then return failure.
Node ← Pop(Q).If Node is a goal,
then return Node (or path to it)else
Children ← Expand (Node).Merge Children into Q, keeping sorted by f(n). ←
An Example: the 8-puzzle
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 12 / 22
h(n) = number of tiles out of place. (The blank is not a tile.)
Start state:2 8 31 6 47 ⊔ 5
Goal state:1 2 38 ⊔ 47 6 5
Please draw the tree resulting from the first two node expansions.
Why Fewer Nodes?
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 13 / 22
Why Fewer Nodes?
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 13 / 22
Why Fewer Nodes?
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 13 / 22
UCS Behavior
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 14 / 22
A* Behavior
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 15 / 22
Break
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 16 / 22
■ asst 1■ asst 2■ Tianyi Gu■ UNH AI group: Wednesdays 3-4pm in Kingsbury N233.
Google ’UNH AI wiki’.■ projects!■ UROP
Evaluating A*
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 17 / 22
Assume branching factor b and solution at depth d.
Completeness:Time:Space:
Admissibility:
Admissibility of A*
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 18 / 22
If h is admissible, other solutions at least as expensive!
1. Suppose p is on path to better solution b.2. f(p) = g(p) + h(p) ≤ f(b) = g(b)3. But g(s) = f(s) ≤ f(p).4. So g(s) ≤ g(b).
Optimality of A*
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 19 / 22
1. For admissible h, f can be made non-decreasing.2. A* expands nodes in order of non-decreasing f .3. Must examine all nodes with f < f∗.
Heuristics
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 20 / 22
Simplified problem must give lower bound on original!
1. Relaxation: fewer and/or weaker constraints
■ Sometime efficient closed form
2. Abstraction: simplify token identity
■ Smaller search space
Want highest value
■ If h1(n) ≤ h2(n) for all n, h2 dominates h1
Need fast computation
Admissibility
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 21 / 22
how to prove heuristic h admissible for problem P :
1. identify a simplified problem P ′
2. show h is optimal for P ′
3. show that P ′ easier than P
optimal solution for instance i′ of P ′ is ≤optimal sol for instance i of P
4. since h gives optimal values for P ′, it is therefore admissiblefor P
EOLQs
Recap
Heuristic Search
■ UCS Behavior
■ Terminology
■ A* Search
■ 8-puzzle
■ Why Fewer?
■ UCS Behavior
■ A* Behavior
■ Break
■ Evaluating A*
■ Admissibility
■ Optimality of A*
■ Heuristics
■ Admissibility
■ EOLQs
Wheeler Ruml (UNH) Lecture 3, CS 730 – 22 / 22
Please write down the most pressing question you have aboutthe course material covered so far and put it in the box on yourway out.Thanks!