Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial...
Transcript of Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial...
![Page 1: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/1.jpg)
Informed Search
CS 486/686: Introduction to Artificial Intelligence
1
![Page 2: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/2.jpg)
Outline
• Using knowledge
- Heuristics
• Best-first search
- Greedy best-first search
- A* search
- Variations of A*
• Back to heuristics
2
![Page 3: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/3.jpg)
Last lecture
• Uninformed search uses no knowledge about the
problem
- Expands nodes based on “distance” from start node (never looks
ahead to goal)
• Pros
- Very general
• Cons
- Very expensive
• Non-judgmental
- Some are complete, some are not
3
![Page 4: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/4.jpg)
Informed Search
• We often have additional knowledge about the
problem
- Knowledge is often merit of a node (value of a node)
- Example: Romania travel problem?
• Different notions of merit
- Cost of solution
- Minimizing computation
4
![Page 5: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/5.jpg)
Uninformed vs Informed Search
5
…
b
?
• Uninformed
search expands
nodes based
on distance
from start node,
d(nstart, n)
• Why not
expand on
distance to
goal, d(n,ngoal)?
![Page 6: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/6.jpg)
Heuristics• A heuristic is a function that estimates
the cost of reaching a goal from a given
state
6
10
5
11.2
Adapted from UC Berkeley’s CS188 Course
Examples:
• Euclidean distance
• Manhatten distance
![Page 7: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/7.jpg)
Example
7
h(x)︸
![Page 8: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/8.jpg)
Heuristics: Structure
• If h(n1)<h(n2) we guess it is cheaper to reach the goal from n1 than n2
• We require h(ngoal)=0
8
![Page 9: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/9.jpg)
Example: Best First search
S CBA G
2 1 1 2
4
h=4 h=3 h=2 h=1 h=0
heuristic
function
path
cost
9
Search strategy: Expand the most
promising node according to the heuristic
![Page 10: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/10.jpg)
Example: Best First Search
C
G
2
S BA
2 1
h=4 h=2 h=2.5
h=1
h=0
11
10
![Page 11: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/11.jpg)
Best First Search Properties
•Complete?
•Optimal?
•Time complexity
•Space complexity
…b
1 node
b nodes
b2 nodes
bm nodes
m tiers
11
![Page 12: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/12.jpg)
A* Search
• Observations
• Best first search ordered nodes by forward cost
to goal, h(n)
• Uniform cost search ordered nodes by backward
cost of path so far, g(n)
• A* search
• Expand nodes in order f(n)=g(n)+h(n)
12
![Page 13: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/13.jpg)
Example: A* search
S CBA G
2 1 1 2
4
h=4 h=3 h=2 h=1 h=0
heuristic
function
path
cost
13
![Page 14: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/14.jpg)
When Should A* Terminate?
S
C
BA
DG h=2
h=3
h=1
h=7
1
7
1
1
17
14
![Page 15: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/15.jpg)
A* and Revisiting States
S
C
BA
Gh=2
h=3h=7
1
1
1
2
7
15
![Page 16: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/16.jpg)
Is A* Optimal?
S
A
G
11 1
3
h=6
16
![Page 17: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/17.jpg)
Admissible Heuristics
17
A heuristic, h, is admissible if
0 ≤h(n)≤h*(n)
for all n, where h*(n) is the (true) shortest path
from n to any goal state
Admissible heuristics are optimistic.
Note that h(n)=0 is admissible.
![Page 18: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/18.jpg)
Optimality of A*
If the heuristic is admissible then A* with tree-
search is optimal
Why?
18
![Page 19: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/19.jpg)
Optimality of A*
• For graphs we require consistency
- h(n)≤cost(n,n’)+h(n’)
- Almost any admissible heuristic function will also
be consistent
• A* search on graphs with a consistent
heuristic is optimal
19
![Page 20: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/20.jpg)
A* Search Properties
•Complete?
•Optimal?
•Time complexity
•Space complexity
…b
1 node
b nodes
b2 nodes
bm nodes
m tiers
20
![Page 21: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/21.jpg)
Heuristic Functions
• A good heuristic function can make
all the difference!
• How do we get heuristics?
21
![Page 22: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/22.jpg)
8 Puzzle
• Relax the game
1. Can move from A to B is A is next to B
2. Can move from A to B if B is blank
3. Can move from A to B
22
![Page 23: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/23.jpg)
8 Puzzle
• Can move from A to B:
(Misplaced Tile Heuristic,
h1)
• Admissible?
• Can move from A to B if B
is next to A:(Manhatten
Distance Heuristic, h2)
• Admissible?
23
Which is the better heuristic?
(Which one dominates?)
![Page 24: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/24.jpg)
8 Puzzle and Heuristics
Depth IDS A*(h1) A*(h2)
2 10 6 6
4 112 13 12
8 6384 39 25
12 3644035 227 73
24 - 39135 1641
24
![Page 25: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/25.jpg)
Designing Heuristics
• Relax the problem
• Precompute solution costs of subproblems and
storing them in a pattern database
• Learning from experience with the problem class
• ...
25
Often there is a tradeoff between accuracy of your heuristic
(and thus the amount of search) and the amount of computation
you must do to compute it
![Page 26: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/26.jpg)
Summary
• What you should know
- Thoroughly understand A*
- Be able to trace simple examples of A*
execution
- Understand admissibility of heuristics
- Completeness, optimality
26
![Page 27: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/27.jpg)
Memory-Bounded Heuristic
Search
• Iterative Deepening A* (IDA*)
- Basically depth-first search but using the f-value
to decide which order to consider nodes
- Use f-limit instead of depth limit
- New f-limit is the smallest f-value of any node that exceeded cutoff on
previous iteration
- Additionally keep track of next limit to consider
- IDA* has same properties as A* but uses less
memory
27
![Page 28: Informed Search - University of Waterloo · 2017-09-11 · CS 486/686: Introduction to Artificial Intelligence 1. Outline • Using knowledge-Heuristics • Best-first search-Greedy](https://reader033.fdocuments.in/reader033/viewer/2022060514/5f84481edd4b1416d332f0cc/html5/thumbnails/28.jpg)
Memory-Bounded Heuristic
Search
• Simplified Memory-Bounded A* (SMA*)
- Uses all available memory
- Proceeds like A* but when it runs out of memory
it drops the worst leaf node (one with highest f-
value)
- If all leaf nodes have same f-value, drop oldest
and expand newest
- Optimal and complete if depth of shallowest goal
node is less than memory size
28