Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic...
Transcript of Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic...
![Page 1: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/1.jpg)
CPSC 322, Lecture 3 Slide 1
Heuristic Search and
Advanced Methods Computer Science cpsc322, Lecture 3
(Textbook Chpt 3.6 – 3.7)
May, 15, 2012
![Page 2: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/2.jpg)
CPSC 322, Lecture 3 Slide 2
Course Announcements
Posted on WebCT
• Assignment1 (due on Thurs!)
If you are confused about basic search algorithm, different
search strategies….. Check learning goals at the end of
lectures. Please come to office hours
• Work on Graph Searching Practice Ex: • Exercise 3.C: heuristic search
• Exercise 3.D: search
• Exercise 3.E: branch and bound search
![Page 3: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/3.jpg)
CPSC 322, Lecture 3 Slide 3
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 4: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/4.jpg)
CPSC 322, Lecture 3 Slide 4
Recap: Search with Costs
• Sometimes there are costs associated with arcs.
• The cost of a path is the sum of the costs of its arcs.
• Optimal solution: not the one that minimizes the
number of links, but the one that minimizes cost
• Lowest-Cost-First Search: expand paths from the
frontier in order of their costs.
![Page 5: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/5.jpg)
CPSC 322, Lecture 3 Slide 5
Recap Uninformed Search
Complete Optimal Time Space
DFS N N O(bm) O(mb)
BFS
Y Y O(bm) O(bm)
IDS
Y Y O(bm) O(mb)
LCFS Y
Costs > 0
Y
Costs >=0
O(bm) O(bm)
![Page 6: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/6.jpg)
CPSC 322, Lecture 3 Slide 6
Recap Uninformed Search
• Why are all these strategies called uninformed?
Because they do not consider any information about
the states (end nodes) to decide which path to
expand first on the frontier
eg
(n0, n2, n3 12), (n0, n3 8) , (n0, n1,n4 13)
In other words, they are general they do not take
into account the specific nature of the problem.
![Page 7: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/7.jpg)
CPSC 322, Lecture 3 Slide 7
Uninformed/Blind search algorithms do not take
into account the goal until they are at a goal
node.
Often there is extra knowledge that can be used
to guide the search: an estimate of the
distance from node n to a goal node.
This is called a heuristic
Heuristic Search
![Page 8: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/8.jpg)
CPSC 322, Lecture 3 Slide 8
More formally
Definition (search heuristic)
A search heuristic h(n) is an estimate of the cost of the shortest
path from node n to a goal node.
• h can be extended to paths: h(n0,…,nk)=h(nk)
• h(n) uses only readily obtainable information (that is easy to
compute) about a node.
![Page 9: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/9.jpg)
CPSC 322, Lecture 3 Slide 9
More formally (cont.)
Definition (admissible heuristic)
A search heuristic h(n) is admissible if it is never an
overestimate of the cost from n to a goal.
• There is never a path from n to a goal that has path length less
than h(n).
• another way of saying this: h(n) is a lower bound on the cost of
getting from n to the nearest goal.
![Page 10: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/10.jpg)
CPSC 322, Lecture 3 Slide 10
Example Admissible Heuristic Functions
G
Search problem: robot has to find a route from start
location to goal location on a grid (discrete space with
obstacles)
Final cost (quality of the solution) is the number of steps
![Page 11: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/11.jpg)
CPSC 322, Lecture 3 Slide 11
Example Admissible Heuristic Functions
If no obstacles, cost of optimal solution is…
![Page 12: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/12.jpg)
CPSC 322, Lecture 3 Slide 12
Example Admissible Heuristic Functions
If there are obstacle, the optimal solution without
obstacles is an admissible heuristic
G
![Page 13: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/13.jpg)
CPSC 322, Lecture 3 Slide 13
Example Admissible Heuristic Functions
• Similarly, If the nodes are points on a Euclidean plane and
the cost is the distance, we can use the straight-line
distance from n to the closest goal as the value of h(n).
![Page 14: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/14.jpg)
CPSC 322, Lecture 3 Slide 14
Example Heuristic Functions
• In the 8-puzzle, we can use the number of misplaced tiles
![Page 15: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/15.jpg)
CPSC 322, Lecture 3 Slide 15
Example Heuristic Functions
• Another one we can use the number of moves between
each tile's current position and its position in the solution
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
![Page 16: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/16.jpg)
CPSC 322, Lecture 3 Slide 16
How to Construct a Heuristic
You identify relaxed version of the problem:
• where one or more constraints have been dropped
• problem with fewer restrictions on the actions
Robot: the agent can move through walls
Driver: the agent can move straight
8puzzle: (1) tiles can move anywhere
(2) tiles can move to any adjacent square
Result: The cost of an optimal solution to the relaxed
problem is an admissible heuristic for the original
problem (because it is always weakly less costly to solve
a less constrained problem!)
![Page 17: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/17.jpg)
CPSC 322, Lecture 3 Slide 17
How to Construct a Heuristic (cont.)
You should identify constraints which, when
dropped, make the problem extremely easy to
solve • this is important because heuristics are not useful if they're as hard
to solve as the original problem!
This was the case in our examples
Robot: allowing the agent to move through walls. Optimal
solution to this relaxed problem is Manhattan distance
Driver: allowing the agent to move straight. Optimal solution
to this relaxed problem is straight-line distance
8puzzle: (1) tiles can move anywhere Optimal solution to this
relaxed problem is number of misplaced tiles
(2) tiles can move to any adjacent square….
![Page 18: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/18.jpg)
CPSC 322, Lecture 3 Slide 18
Another approach to construct heuristics Solution cost for a subproblem
1 3
8 2 5
7 6 4
1 2 3
8 4
7 6 5
1 3
@ 2 @
@ @ 4
1 2 3
@ 4
@ @ @
Current node
Goal node
Original Problem
SubProblem
![Page 19: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/19.jpg)
CPSC 322, Lecture 3 Slide 19
Heuristics: Dominance If h2(n) ≥ h1(n) for all n (both admissible)
then h2 dominates h1
h2 is better for search (why?)
8puzzle: (1) tiles can move anywhere
(2) tiles can move to any adjacent square
(Original problem: tiles can move to an adjacent square if it is empty)
search costs for the 8-puzzle (average number of paths expanded):
d=12 IDS = 3,644,035 paths A*(h1) = 227 paths A*(h2) = 73 paths
d=24 IDS = too many paths A*(h1) = 39,135 paths A*(h2) = 1,641 paths
![Page 20: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/20.jpg)
CPSC 322, Lecture 3 Slide 20
Combining Heuristics
How to combine heuristics when there is no
dominance?
If h1(n) is admissible and h2(n) is also admissible
then
h(n)= ………………… is also admissible
… and dominates all its components
![Page 21: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/21.jpg)
CPSC 322, Lecture 3 Slide 21
Combining Heuristics: Example
In 8-puzzle, solution cost for the 1,2,3,4 subproblem is substantially more accurate than Manhattan distance in some cases
So…..
![Page 22: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/22.jpg)
CPSC 322, Lecture 3 Slide 22
Admissible heuristic for Vacuum world?
states? Where it is dirty and robot location actions? Left, Right, Suck
Possible goal test? no dirt at all locations
![Page 23: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/23.jpg)
CPSC 322, Lecture 3 Slide 23
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 24: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/24.jpg)
CPSC 322, Lecture 3 Slide 24
Best-First Search
• Idea: select the path whose end is closest to a
goal according to the heuristic function.
• Best-First search selects a path on the frontier
with minimal h-value (for the end node).
• It treats the frontier as a priority queue ordered by h.
(similar to ?)
• This is a greedy approach: it always takes the path
which appears locally best
![Page 25: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/25.jpg)
CPSC 322, Lecture 3 Slide 25
Analysis of Best-First Search
• Complete no: a low heuristic value can mean that
a cycle gets followed forever.
• Optimal: no (why not?)
• Time complexity is O(bm)
• Space complexity is O(bm)
![Page 26: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/26.jpg)
CPSC 322, Lecture 3 Slide 26
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 27: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/27.jpg)
CPSC 322, Lecture 3 Slide 27
• A* is a mix of:
• lowest-cost-first and
• best-first search
• A* treats the frontier as a priority queue ordered
by f(p)=
• It always selects the node on the frontier with the
………….. estimated …………….distance.
A* Search Algorithm
![Page 28: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/28.jpg)
F-value of ubc kd jb? 6 10 11 9
Computing f-values
![Page 29: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/29.jpg)
CPSC 322, Lecture 3 Slide 29
Analysis of A*
Let's assume that arc costs are strictly positive.
• Time complexity is O(bm)
• the heuristic could be completely uninformative and the
edge costs could all be the same, meaning that A* does
the same thing as….
• Space complexity is O(bm) like ….., A* maintains a
frontier which grows with the size of the tree
• Completeness: yes.
• Optimality: ??
![Page 30: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/30.jpg)
CPSC 322, Lecture 3 Slide 30
Optimality of A*
If A* returns a solution, that solution is guaranteed to
be optimal, as long as
When
• the branching factor is finite
• arc costs are strictly positive
• h(n) is an underestimate of the length of the shortest path
from n to a goal node, and is non-negative
Theorem
If A* selects a path p as the solution,
p is the shortest (i.e., lowest-cost) path.
![Page 31: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/31.jpg)
CPSC 322, Lecture 3 Slide 31
Why is A* optimal?
• A* returns p
• Assume for contradiction that some other path p' is actually the
shortest path to a goal
• Consider the moment when p is chosen from the frontier. Some
part of path p' will also be on the frontier; let's call this partial
path p''. p
p'
p''
![Page 32: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/32.jpg)
CPSC 322, Lecture 3 Slide 32
Why is A* optimal? (cont’)
• Because p was expanded before p'',
• Because p is a goal, Thus
• Because h is admissible, cost(p'') + h(p'') for any path
p' to a goal that extends p''
• Thus for any other path p' to a goal.
p
p'
p''
This contradicts our assumption that p' is the shortest path.
![Page 33: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/33.jpg)
CPSC 322, Lecture 8 Slide 33
Optimal efficiency of A*
• In fact, we can prove something even stronger
about A*: in a sense (given the particular heuristic
that is available) no search algorithm could do
better!
• Optimal Efficiency: Among all optimal algorithms
that start from the same start node and use the
same heuristic h, A* expands the minimal number
of paths.
![Page 34: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/34.jpg)
Sample A* applications
• An Efficient A* Search Algorithm For Statistical
Machine Translation. 2001
• The Generalized A* Architecture. Journal of
Artificial Intelligence Research (2007)
• Machine Vision … Here we consider a new
compositional model for finding salient curves.
• Factored A*search for models over sequences
and trees International Conference on AI. 2003….
It starts saying… The primary challenge when using A*
search is to find heuristic functions that simultaneously are admissible, close to actual completion costs, and efficient
to calculate… applied to NLP and BioInformatics
CPSC 322, Lecture 9 Slide 34
![Page 35: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/35.jpg)
CPSC 322, Lecture 8 Slide 35
• The AI-Search animation system
http://www.cs.rmit.edu.au/AI-Search/Product/
• To examine Search strategies when they are applied to the 8puzzle
• Compare only DFS, BFS and A* (with only the two
heuristics we saw in class )
DFS, BFS, A* Animation Example
• With default start state and goal
• DFS will find
Solution at depth 32
• BFS will find
Optimal solution depth 6
• A* will also find opt. sol. expanding
much less nodes
![Page 36: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/36.jpg)
CPSC 322, Lecture 9 Slide 36
nPuzzles are not always solvable
Half of the starting positions for the n-puzzle are
impossible to resolve (for more info on 8puzzle) http://www.isle.org/~sbay/ics171/project/unsolvable
• So experiment with the AI-Search animation system with
the default configurations.
• If you want to try new ones keep in mind that you may pick
unsolvable problems
![Page 37: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/37.jpg)
CPSC 322, Lecture 3 Slide 37
Learning Goals for today’s class (part 1)
• Construct admissible heuristics for appropriate
problems.
• Verify Heuristic Dominance.
• Combine admissible heuristics
• Define/read/write/trace/debug different search
algorithms
•With / Without cost
•Informed / Uninformed
• Formally prove A* optimality
![Page 38: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/38.jpg)
CPSC 322, Lecture 3 Slide 38
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 39: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/39.jpg)
CPSC 322, Lecture 3 Slide 39
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 40: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/40.jpg)
CPSC 322, Lecture 9 Slide 40
Branch-and-Bound Search
• What is the biggest advantage of A*?
• What is the biggest problem with A*?
• Possible Solution:
![Page 41: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/41.jpg)
CPSC 322, Lecture 9 Slide 41
Branch-and-Bound Search Algorithm
• Follow exactly the same search path as depth-first search
• treat the frontier as a stack: expand the most-recently added path first
• the order in which neighbors are expanded can be governed by some arbitrary node-ordering heuristic
![Page 42: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/42.jpg)
CPSC 322, Lecture 9 Slide 42
Branch-and-Bound Search Algorithm • Keep track of a lower bound and upper bound on solution
cost at each path • lower bound: LB(p) = f(p) = cost(p) + h(p)
• upper bound: UB = cost of the best solution found so far.
if no solution has been found yet, set the upper bound to .
• When a path p is selected for expansion: • if LB(p) UB, remove p from frontier without expanding it (pruning)
• else expand p, adding all of its neighbors to the frontier
![Page 43: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/43.jpg)
Branch-and-Bound Analysis
• Complete ?
• Optimal ?
• Space complexity?
• Time complexity?
O(b+m) O(bm) O(bm) O(mb)
It depends yes no
It depends yes no
![Page 44: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/44.jpg)
CPSC 322, Lecture 3 Slide 44
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 45: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/45.jpg)
CPSC 322, Lecture 9 Slide 45
Other A* Enhancements
The main problem with A* is that it uses exponential
space. Branch and bound was one way around
this problem. Are there others?
• …….
• Memory-bounded A*
![Page 46: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/46.jpg)
CPSC 322, Lecture 9 Slide 46
(Heuristic) Iterative Deepening – IDA*
B & B can still get stuck in infinite (extremely long)
paths
• Search depth-first, but to a fixed depth
• if you don't find a solution, increase the depth tolerance
and try again
• depth is measured in………………
• Counter-intuitively, the asymptotic complexity is
not changed, even though we visit paths multiple
times (go back to slides on uninformed IDS)
![Page 47: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/47.jpg)
Analysis of Iterative Deepening A* (IDA*)
• Complete and optimal:
• Time complexity:
• Space complexity:
O(b+m) O(bm) O(bm) O(mb)
It depends yes no
![Page 48: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/48.jpg)
CPSC 322, Lecture 9 Slide 48
Memory-bounded A*
• Iterative deepening A* and B & B use a tiny
amount of memory
• what if we've got more memory to use?
• keep as much of the fringe in memory as we can
• if we have to delete something:
• delete the worst paths (with …………………………..)
• ``back them up'' to a common ancestor
p
pn p1
![Page 49: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/49.jpg)
CPSC 322, Lecture 3 Slide 49
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 50: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/50.jpg)
CPSC 322, Lecture 10 Slide 50
Cycle Checking
You can prune a path that ends in a node already on the path.
This pruning cannot remove an optimal solution.
• The time is ………………… in path length.
![Page 51: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/51.jpg)
CPSC 322, Lecture 10 Slide 51
Repeated States / Multiple Paths
Failure to detect repeated states can turn a linear
problem into an exponential one!
![Page 52: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/52.jpg)
CPSC 322, Lecture 10 Slide 52
Multiple-Path Pruning
•You can prune a path to node n that you have
already found a path to
• (if the new path is longer – more costly).
![Page 53: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/53.jpg)
CPSC 322, Lecture 10 Slide 53
Multiple-Path Pruning & Optimal Solutions
Problem: what if a subsequent path to n is shorter than the first path to n ?
• You can remove all paths from the frontier that use the longer path. (as these can’t be optimal)
![Page 54: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/54.jpg)
CPSC 322, Lecture 10 Slide 54
Multiple-Path Pruning & Optimal Solutions
Problem: what if a subsequent path to n is shorter than the first path to n ?
• You can change the initial segment of the paths on the frontier to use the shorter path.
![Page 55: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/55.jpg)
Pruning Cycles
CPSC 322, Lecture 10 Slide 55
Repeated States
Example
![Page 56: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/56.jpg)
CPSC 322, Lecture 3 Slide 56
Lecture Overview • Recap Uninformed Cost
• Heuristic Search
• Best-First Search
• A* and its Optimality
• Advanced Methods
• Branch & Bound
• A* tricks
• Pruning Cycles and Repeated States
• Dynamic Programming
![Page 57: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/57.jpg)
Dynamic Programming
• Idea: for statically stored graphs, build a table of dist(n):
• The actual distance of the shortest path from node n to a
goal g
• This is the perfect search heuristic h
• dist(g) = 0
• dist(z) = 1
• dist(c) = 3
• dist(b) = 4
• dist(k) = ?
• dist(h) = ?
• How could we implement that?
k c
b h
g
z
2
3
1
2
4
1
7 6
7 6
![Page 58: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/58.jpg)
CPSC 322, Lecture 9 Slide 58
This can be built backwards from the goal:
Dynamic Programming
otherwisemdistmn
ngoalisifndist
Amn)(),(costmin
),(_0)(
,
a
b
c
g 2
3
1
3
g
b
c
a
2 d
1
2
This can be built backwards from the goal:
all the neighbors m
![Page 59: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/59.jpg)
CPSC 322, Lecture 9 Slide 59
But there are at least two main problems:
• You need enough space to store the graph.
• The dist function needs to be recomputed for each goal
Dynamic Programming
This can be used locally to determine what to do.
From each node n go to its neighbor which minimizes
a
b
c
g 2
3
4
3
d
3
2
1
3
)(m)cost(n, mdist
2
1
2
![Page 60: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/60.jpg)
CPSC 322, Lecture 7 Slide 60
Learning Goals for today’s class
•Define/read/write/trace/debug different search
algorithms
•With / Without cost
•Informed / Uninformed
• Pruning cycles and Repeated States
•Implement Dynamic Programming approach
![Page 61: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/61.jpg)
CPSC 322, Lecture 10 Slide 61
Recap Search
Selection Complete Optimal Time Space
DFS LIFO N N O(bm) O(mb)
BFS FIFO Y Y O(bm) O(bm)
IDS(C) LIFO Y Y O(bm) O(mb)
LCFS min cost Y Y O(bm) O(bm)
BFS min h N N O(bm) O(bm)
A* min f Y Y O(bm) O(bm)
B&B LIFO +
pruning N Y O(bm) O(mb)
IDA* LIFO Y Y O(bm) O(mb)
MBA* min f N Y O(bm) O(bm)
![Page 62: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/62.jpg)
CPSC 322, Lecture 10 Slide 62
Recap Search (some qualifications)
Complete Optimal Time Space
DFS N N O(bm) O(mb)
BFS Y Y O(bm) O(bm)
IDS(C) Y Y O(bm) O(mb)
LCFS Y Y ? O(bm) O(bm)
BFS N N O(bm) O(bm)
A* Y Y ? O(bm) O(bm)
B&B N Y ? O(bm) O(mb)
IDA* Y Y O(bm) O(mb)
MBA* N Y O(bm) O(bm)
![Page 63: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/63.jpg)
CPSC 322, Lecture 10 Slide 63
Search in Practice
Complete Optimal Time Space
DFS N N O(bm) O(mb)
BFS Y Y O(bm) O(bm)
IDS(C) Y Y O(bm) O(mb)
LCFS Y Y O(bm) O(bm)
BFS N N O(bm) O(bm)
A* Y Y O(bm) O(bm)
B&B N Y O(bm) O(mb)
IDA* Y Y O(bm) O(mb)
MBA* N Y O(bm) O(bm)
BDS Y Y O(bm/2) O(bm/2)
![Page 64: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/64.jpg)
CPSC 322, Lecture 10 Slide 64
Search in Practice (cont’)
Many paths to
solution, no ∞ paths?
Informed?
Large branching factor?
![Page 65: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/65.jpg)
CPSC 322, Lecture 3 Slide 65
For next class
Posted on WebCT
• Assignment1 (due this Thurs!)
If you are confused about basic search algorithm, different
search strategies….. Check learning goals at the end of
lectures. Please come to office hours
• Work on Graph Searching Practice Ex: • Exercise 3.C: heuristic search
• Exercise 3.D: search
• Exercise 3.E: branch and bound search
• Read textbook:
• 4.1- 4.6 we start CSPs
![Page 66: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/66.jpg)
CPSC 322, Lecture 9 Slide 66
Branch-and-Bound Analysis
• Completeness: no, for the same reasons that DFS
isn't complete
• however, for many problems of interest there are no
infinite paths and no cycles
• hence, for many problems B&B is complete
• Time complexity: O(bm)
• Space complexity:…..
• Branch & Bound has the same space complexity as….
• this is a big improvement over …………..!
• Optimality: ……...
![Page 67: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/67.jpg)
Memory-bounded A*
• Iterative deepening A* and B & B use little memory
• What if we have some more memory
(but not enough for regular A*)?
• Do A* and keep as much of the frontier in memory as
possible
• When running out of memory
delete worst path (highest f value) from frontier
Back the path up to a common ancestor
Subtree gets regenerated only when all other paths have
been shown to be worse than the “forgotten” path
• Complete and optimal if solution is at depth
manageable for available memory
![Page 68: Heuristic Search and Advanced Methodscarenini/TEACHING/CPSC322-12/...Example Admissible Heuristic Functions • Similarly, If the nodes are points on a Euclidean plane and the cost](https://reader033.fdocuments.in/reader033/viewer/2022060602/60569c441399de04e42810e2/html5/thumbnails/68.jpg)
Slde 68
Memory-bounded A*
Details of the algorithm are beyond the scope of this course
but
• It is complete if the solution is at a depth manageable by
the available memory
• Optimal under the same conditions
• Otherwise it returns the next reachable solution
• Often used in practice for, is considered one of the best
algorithms for finding optimal solutions
• It can be bogged down by having to switch back and forth
among a set of candidate solution paths, of which only a
few fit in memory