Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional...
-
Upload
brock-audley -
Category
Documents
-
view
218 -
download
1
Transcript of Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional...
![Page 1: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/1.jpg)
Heuristic Search
![Page 2: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/2.jpg)
Heuristic Search
• Best First Search• A*
![Page 3: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/3.jpg)
Heuristic Search• Heuristic search exploits additional knowledge
about the problem that helps direct search to more promising paths.
• A heuristic function that gives us an estimate of how far we are from a goal.– Example:
• How do we use heuristics?
432
1
32
0
434
2 1
5
![Page 4: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/4.jpg)
Sometimes we can tell that some states appear better that others...
1 2 3
4 5 6
7 8
7 8 4
3 5 1
6 2
FWDC FW C
D
![Page 5: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/5.jpg)
Informed Search
• Add domain-specific information to select the best path along which to continue searching
• Define a heuristic function, h(n), that estimates the “goodness” of a node n.
• Specifically, h(n) = estimated cost (or distance) of minimal cost path from n to a goal state.
• The heuristic function is an estimate, based on domain-specific information that is computable from the current state description, of how close we are to a goal
![Page 6: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/6.jpg)
Greedy Search
• f(N) = h(N) greedy best-first
![Page 7: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/7.jpg)
Heuristic Function
• Function h(N) that estimate the cost of the cheapest path from node N to goal node.
• Example: 8-puzzle
1 2 34 5 67 8
123
45
67
8
N goal
h(N) = number of misplaced tiles = 6
![Page 8: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/8.jpg)
Heuristics for 8-puzzle II
• The Manhattan Distance (not including the blank)
In this case, only the “3”, “8” and “1” tiles are misplaced, by 2, 3, and 3 squares respectively, so the heuristic function evaluates to 8.In other words, the heuristic is telling us, that it thinks a solution is available in just 8 more moves.
3 2 8
4 5 6
7 1
1 2 3
4 5 6
7 8
Goal State
Current State
3 3
8
8
1
1
2 spaces
3 spaces
3 spaces
Total 8
Notation: h(n) h(current state) = 8
![Page 9: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/9.jpg)
Heuristic Function
• Function h(N) that estimate the cost of the cheapest path from node N to goal node.
• Example: 8-puzzle
1 2 34 5 67 8
123
45
67
8
N goal
h(N) = sum of the distances of every tile to its goal position = 2 + 3 + 0 + 1 + 3 + 0 + 3 + 1 = 13
![Page 10: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/10.jpg)
Robot Navigation
![Page 11: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/11.jpg)
Robot Navigation
0 211
58 7
7
3
4
7
6
7
6 3 2
8
6
45
23 3
36 5 24 43 5
54 6
5
6
4
5
f(N) = h(N), with h(N) = Manhattan distance to the goal
![Page 12: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/12.jpg)
Robot Navigation
0 211
58 7
7
3
4
7
6
7
6 3 2
8
6
45
23 3
36 5 24 43 5
54 6
5
6
4
5
f(N) = h(N), with h(N) = Manhattan distance to the goal
7
0
![Page 13: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/13.jpg)
8-Puzzle
1 2 3
4 5 6
7 8
12
3
4
5
67
8
N goal• h1(N) = number of misplaced tiles = 6
• h2(N) = sum of distances of each tile to goal = 13
![Page 14: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/14.jpg)
8-Puzzle• Where score function for a non-central tile is 2 if it is not
followed by the correct tile in clockwise order and 0 otherwise
• h3(N) = (sum of distances of each tile to goal) + 3 x (sum of score functions for each tile) = 2+3+0+1+3+0+3+1+3x(2+2+2+2+2+0+2) = 49 is not admissible
![Page 15: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/15.jpg)
Heuristic search of a hypothetical state space (Fig. 4.4)
node The heuristic value of the node
![Page 16: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/16.jpg)
Take the DFS algorithm• Function depth_first_search;• begin
open := [Start]; closed := [ ]; while open [ ] do begin remove leftmost state from open, call it X; if X is a goal then return SUCCESS else begin generate children of X; put X on closed; discard remaining children of X if already on open or closed put remaining children on left end of open end end; return FAILend.
![Page 17: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/17.jpg)
Add the children to OPEN with respect to their heuristic value
• Function best_first_search;• begin
open := [Start]; closed := [ ]; while open [ ] do begin remove leftmost state from open, call it X; if X is a goal then return SUCCESS else begin generate children of X; assign each child their heuristic value; put X on closed; (discard remaining children of X if already on open or closed) put remaining children on open sort open by heuristic merit (best leftmost) end end; return FAILend.
new
will be handled differently
![Page 18: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/18.jpg)
Heuristic search of a hypothetical state space
![Page 19: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/19.jpg)
A trace of the execution of best_first_search for Fig. 4.4
![Page 20: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/20.jpg)
Heuristic search of a hypothetical state space with open and closed highlighted
![Page 21: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/21.jpg)
Greedy BFS Example
![Page 22: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/22.jpg)
Greedy best-first search example
![Page 23: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/23.jpg)
Greedy best-first search example
![Page 24: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/24.jpg)
Greedy best-first search example
![Page 25: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/25.jpg)
Greedy best-first search example
![Page 26: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/26.jpg)
January 31, 2006AI: Chapter 4: Informed Search and
Exploration26
A Quick Review - Again
• g(n) = cost from the initial state to the current state n
• h(n) = estimated cost of the cheapest path from node n to a goal node
• f(n) = evaluation function to select a node for expansion (usually the lowest cost node)
![Page 27: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/27.jpg)
January 31, 2006AI: Chapter 4: Informed Search and
Exploration27
A* Search
• A* (A star) is the most widely known form of Best-First search– It evaluates nodes by combining g(n) and h(n)– f(n) = g(n) + h(n)– Where• g(n) = cost so far to reach n• h(n) = estimated cost to goal from n• f(n) = estimated total cost of path through n
![Page 28: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/28.jpg)
The heuristic f applied to states in the 8-puzzle
![Page 29: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/29.jpg)
The successive stages of OPEN and CLOSED
![Page 30: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/30.jpg)
![Page 31: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/31.jpg)
![Page 32: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/32.jpg)
January 31, 2006AI: Chapter 4: Informed Search and
Exploration32
Greedy Best-First Search
![Page 33: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/33.jpg)
January 31, 2006AI: Chapter 4: Informed Search and
Exploration33
A* Search
![Page 34: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/34.jpg)
January 31, 2006AI: Chapter 4: Informed Search and
Exploration34
A* Search
![Page 35: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/35.jpg)
January 31, 2006AI: Chapter 4: Informed Search and
Exploration35
A* Search
![Page 36: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/36.jpg)
8-Puzzle
4
5
5
3
3
4
3 4
4
2 1
2
0
3
4
3
f(N) = h(N) = number of misplaced tiles
goal
![Page 37: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/37.jpg)
8-Puzzle
5
6
6
4
4
2 1
2
0
5
5
3
f(N) = h(N) = distances of tiles to goal
goal
![Page 38: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/38.jpg)
8-Puzzle
0+4
1+5
1+5
1+3
3+3
3+4
3+4
3+2 4+1
5+2
5+0
2+3
2+4
2+3
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
goal
![Page 39: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/39.jpg)
Robot Navigation
f(N) = g(N)+h(N), with h(N) = Manhattan distance to goal
0 211
58 7
7
3
4
7
6
7
6 3 2
8
6
45
23 3
36 5 24 43 5
54 6
5
6
4
57+0
6+1
6+1
8+1
7+0
7+2
6+1
7+2
6+1
8+1
7+2
8+3
7+26+36+35+45+44+54+53+63+62+7
8+37+47+46+5
5+6
6+35+6
2+73+8
4+7
5+64+7
3+8
4+73+83+82+92+93+10
2+9
3+8
2+91+101+100+11
![Page 40: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/40.jpg)
Iterative Deepening A* (IDA*)
• Use f(N) = g(N) + h(N) with admissible and consistent h
• Each iteration is depth-first with cutoff on the value of f of expanded nodes
![Page 41: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/41.jpg)
8-Puzzle
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
![Page 42: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/42.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
![Page 43: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/43.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
5
![Page 44: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/44.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
5
5
![Page 45: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/45.jpg)
4
8-Puzzle
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=4
6
5
56
![Page 46: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/46.jpg)
8-Puzzle
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
![Page 47: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/47.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
![Page 48: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/48.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
![Page 49: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/49.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
![Page 50: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/50.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
5
![Page 51: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/51.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
5 5
![Page 52: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/52.jpg)
8-Puzzle
4
4
6
f(N) = g(N) + h(N) with h(N) = number of misplaced tiles
Cutoff=5
6
5
7
5 5
![Page 53: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/53.jpg)
About Heuristics
• Heuristics are intended to orient the search along promising paths
• The time spent computing heuristics must be recovered by a better search
• After all, a heuristic function could consist of solving the problem; then it would perfectly guide the search
• Deciding which node to expand is sometimes called meta-reasoning
• Heuristics may not always look like numbers and may involve large amount of knowledge
![Page 54: Heuristic Search. Best First Search A* Heuristic Search Heuristic search exploits additional knowledge about the problem that helps direct search to.](https://reader035.fdocuments.us/reader035/viewer/2022062511/55178e1c5503463e368b557f/html5/thumbnails/54.jpg)
When to Use Search Techniques?
• The search space is small, and– There is no other available techniques, or– It is not worth the effort to develop a more
efficient technique• The search space is large, and– There is no other available techniques, and– There exist “good” heuristics