Ch2 3 Informed (Heuristic) Search1 - 0
Ch2 3 Informed (Heuristic) Search1 - 0
Search Methods :
informed (Heuristic)
search
Using problem specific
knowledge to aid searching
Without incorporating
Search
knowledge into searching,
one can have no bias (i.e. a everywhere
preference) on the search !!
space.
3
Using problem specific
knowledge to aid searching
With knowledge, one can search the state space as if he was
given “hints” when exploring a maze.
Heuristic information in search = Hints
Leads to dramatic speed up in efficiency.
B C D E
Search
F G H I J
only in
this K L M N
subtree!!
O 4
More formally, why heuristic
functions work?
In any search problem where there are at most b choices
at each node and a depth of d at the goal node, a naive
search algorithm would have to, in the worst case, search
around O(bd) nodes before finding a solution
(Exponential Time Complexity).
5
Heuristic Functions
A heuristic function is a function f(n) that gives an estimation on
the “cost” of getting from node n to the goal state – so that the
node with the least cost among all possible choices can be
selected for expansion first.
f measures the value of the current state (its “goodness”)
f measures the estimated cost of getting to the goal from the current
state:
f(n) = h(n) where h(n) = an estimate of the cost to get
from n to a goal
f measures the estimated cost of getting to the goal state from the
current state and the cost of the existing path to it. Often, in this
case, we decompose f:
f(n) = g(n) + h(n) where g(n) = the cost to get to n (from
initial state) 6
Approach 1: f Measures the Value
of the Current State
N-Queens
Example: the number of queens under attack …
Data mining
Example: the “predictive-ness” (a.k.a. accuracy) of a rule
discovered 7
Approach 2: f Measures the Cost
to the Goal
• 8–Puzzle
h1: The number of misplaced tiles
(squares with number).
h2: The sum of the distances of the tiles
from their goal positions.
8
Approach 3: f measures the total cost
of the solution path (Admissible
Heuristic Functions)
A heuristic function f(n) = g(n) + h(n) is admissible if h(n) never
overestimates the cost to reach the goal.
Admissible heuristics are “optimistic”: “the cost is not that much …”
However, g(n) is the exact cost to reach node n from the initial state.
Therefore, f(n) never over-estimate the true cost to reach the goal
state through node n.
Theorem: A search is optimal if h(n) is admissible.
I.e. The search using h(n) returns an optimal solution.
Given h2(n) > h1(n) for all n, it’s always more efficient to use h2(n).
h2 is more realistic than h1 (more informed), though both are optimistic.
9
Traditional informed
search strategies
Greedy Best first search
“Always chooses the successor node with the best f value”
where f(n) = h(n)
We choose the one that is nearest to the final state among
all possible choices
A* search
Best first search using an “admissible” heuristic function f
that takes into account the current cost g
Always returns the optimal solution path
10
Informed Search
Strategies
12
Informed Search
Strategies
Greedy Search
eval-fn: f(n) = h(n)
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
14
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
15
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
16
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
17
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
18
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
19
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
20
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
21
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
22
Greedy Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
23
Greedy Search: Tree
Search
Start
A
24
Greedy Search: Tree
Search
Start
A 75
118
[253] E
25
Greedy Search: Tree
Search
Start
A 75
118
[253] E
80 99
[193] [178]
G F
[366] A
26
Greedy Search: Tree
Search
Start
A 75
118
[253] E
80 99
[193] [178]
G F
[366] A
211
[253] E I [0]
Goal
27
Greedy Search: Tree
Search
Start
A 75
118
[253] E
80 99
[193] [178]
G F
[366] A
211
[253] E I [0]
Goal
Path cost(A-E-F-I) = 253 + 178 + 0 = 431
28
dist(A-E-F-I) = 140 + 99 + 211 = 450
Greedy Search: Optimal ?
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
29
Greedy Search:
Complete ?
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E ** C 250
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = h (n) = straight-line distance
heuristic
30
Greedy Search: Tree
Search
Start
A
31
Greedy Search: Tree
Search
Start
A 75
118
[253] E
32
Greedy Search: Tree
Search
Start
A 75
118
[253] E
111
[244] D
33
Greedy Search: Tree
Search
Start
A 75
118
[253] E
111
[244] D
Infinite Branch !
[250] C
34
Greedy Search: Tree
Search
Start
A 75
118
[253] E
111
[244] D
Infinite Branch !
[250] C
[244] D
35
Greedy Search: Tree
Search
Start
A 75
118
[253] E
111
[244] D
Infinite Branch !
[250] C
[244] D
36
Greedy Search: Time and
Space Complexity ?
Start
A
118 75 • Greedy search is not
C 140 B optimal.
111
E
• Greedy search is
D 80 99
incomplete without
G F systematic checking of
97 repeated states.
H 211
• In the worst case, the
101
I Time and Space Complexity
Goal of Greedy Search are both
37
O(b )
m
Informed Search
Strategies
A* Search
eval-fn: f(n)=g(n)+h(n)
A* (A Star)
Greedy Search minimizes a heuristic h(n) which is an
estimated cost from a node n to the goal state. Greedy
Search is efficient but it is not optimal nor complete.
39
A* (A Star)
A* uses a heuristic function which
combines g(n) and h(n): f(n) = g(n) + h(n)
g(n)
f(n) = g(n) n
+h(n)
h(n)
41
A* Search
Start State Heuristic:
A 75 h(n)
118
A 366
140 B
C B 374
111
E C 329
D 80 99 D 244
E 253
G F
F 178
97
G 193
H 211 H 98
101 I 0
I
Goal f(n) = g(n) + h (n)
g(n): is the exact cost to reach node n from the initial 42
A* Search: Tree Search
A Start
43
A* Search: Tree Search
A Start
118 75
140
44
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
45
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[415 H
]
46
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[415 H
]
101
Goal I [418]
47
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[415 H I [450
] ]
101
Goal I [418]
48
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[415 H I [450
] ]
101
Goal I [418]
49
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[415 H I [450
] ]
101
Goal I [418]
50
A* with f() not Admissible
53
A* Search: Tree Search
A Start
118 75
140
54
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
55
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[455 H
]
56
A* Search: Tree Search
A Start
118 75
140
[413 G F [417
] ]
97
[455 H Goal I [450
] ]
57
A* Search: Tree Search
A Start
118 75
140
58
A* Search: Tree Search
A Start
118 75
140
59
A* Search: Tree Search
A Start
118 75
140
60
A* Search: Tree Search
A Start
118 75
140
Iterative Deepening A*
Iterative Deepening
A*:IDA*
Use f(N) = g(N) + h(N) with
admissible and consistent h
N’ h(N)
h(N) c(N,N’) + h(N’)
h(N’)
(triangular inequality)
A consistent heuristic is admissible.
67
IDA* Algorithm
In the first iteration, we determine a “f-cost limit” – cut-
off value
f(n0) = g(n0) + h(n0) = h(n0), where n0 is the start node.
Use this f-value as the new limit value – cut-off value and
do another depth-first search.
4
Cutoff=4
69
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=4 4
6 6
70
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=4 4 5
6 6
71
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=4 4 5
6 6
72
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
6 5
4
Cutoff=4 4 5
6 6
73
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=5
74
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=5 4
6 6
75
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=5 4 5
6 6
76
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4
Cutoff=5 4 5
6 6
77
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4 5
Cutoff=5 4 5
6 6
78
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4 5 5
Cutoff=5 4 5
6 6
79
f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile
4 5 5
Cutoff=5 4 5
6 6
80
When to Use Search
Techniques
The search space is small, and
There are no other available techniques,
or
It is not worth the effort to develop a
more efficient technique