0% found this document useful (0 votes)
30 views66 pages

Ch2 3 Informed (Heuristic) Search

I expands directly to the goal. Greedy search returns the solution path I. 17

Uploaded by

Stephen Sal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views66 pages

Ch2 3 Informed (Heuristic) Search

I expands directly to the goal. Greedy search returns the solution path I. 17

Uploaded by

Stephen Sal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

Artificial Intelligence

Problem solving by searching


Problem Solving by Searching

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.

 Without a bias, one is forced


to look everywhere to find the
answer. Hence, the
complexity of uninformed
search is intractable.

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 only
F G H I J
in this
subtree!! K L M N

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).

 Heuristics improve the efficiency of search algorithms


by reducing the effective branching factor from b to
(ideally) a low constant b* such that
 1 =< b* << b

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.

 Three approaches to defining f:

 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

 Usually the case when solving optimization problems


 Finding a state such that the value of the metric f is optimized

 Often, in these cases, f could be a weighted sum of a set of


component values:

 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

A state X would be better than a state Y if the


estimated cost of getting from X to the goal is
lower than that of Y – because X would be closer
to the goal than Y

• 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

Best First Search


An implementation of Best
First Search
function BEST-FIRST-SEARCH (problem, eval-fn)
returns a solution sequence, or failure

queuing-fn = a function that sorts nodes by eval-fn

return GENERIC-SEARCH (problem,queuing-fn)

12
Informed Search Strategies

Greedy Search
eval-fn: f(n) = h(n)
Greedy Search
Start State Heuristic: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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

[329] 140 [374] B


C

[253] E

25
Greedy Search: Tree Search
Start
A 75
118

[329] 140 [374] B


C

[253] E
80 99

[193] [178]
G F
[366] A

26
Greedy Search: Tree Search
Start
A 75
118

[329] 140 [374] B


C

[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

[329] 140 [374] B


C

[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: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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
dist(A-E-G-H-I) =140+80+97+101=418 29
Greedy Search: Complete ?
Start State Heuristic: h(n)
A 75
118 A 366
140 B B 374
C
111 ** C 250
E
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

[250] 140 [374] B


C

[253] E

32
Greedy Search: Tree Search
Start
A 75
118

[250] 140 [374] B


C

[253] E
111
[244] D

33
Greedy Search: Tree Search
Start
A 75
118

[250] 140 [374] B


C

[253] E
111
[244] D

Infinite Branch !
[250] C

34
Greedy Search: Tree Search
Start
A 75
118

[250] 140 [374] B


C

[253] E
111
[244] D

Infinite Branch !
[250] C

[244] D

35
Greedy Search: Tree Search
Start
A 75
118

[250] 140 [374] B


C

[253] E
111
[244] D

Infinite Branch !
[250] C

[244] D

36
Greedy Search: Time and
Space Complexity ?
Start
A 75
118 • Greedy search is not optimal.
140 B
C
111
• Greedy search is incomplete
E
without systematic checking of
D 80 99
repeated states.
G F
• In the worst case, the Time
97
and Space Complexity of
H 211
Greedy Search are both O(bm)
101
I Where b is the branching factor and
Goal
m the maximum path length
37
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.

 Uniform Cost Search minimizes the cost g(n) from the


initial state to n. UCS is optimal and complete but not
efficient.

 New Strategy: Combine Greedy Search and UCS to get an


efficient algorithm which is complete and optimal.

39
A* (A Star)
 A* uses a heuristic function which
combines g(n) and h(n): f(n) = g(n) + h(n)

 g(n) is the exact cost to reach node n from


the initial state.

 h(n) is an estimation of the remaining cost


to reach the goal.
40
A* (A Star)

g(n)

f(n) = g(n)+h(n) n

h(n)

41
A* Search
Start State Heuristic: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
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 state. 42
A* Search: Tree Search
A Start

43
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C

44
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

45
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[415] H

46
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[415] H

101
Goal I [418]

47
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[415] H I [450]

101
Goal I [418]

48
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[415] H I [450]

101
Goal I [418]

49
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[415] H I [450]

101
Goal I [418]

50
A* with f() not Admissible

h() overestimates the cost to


reach the goal state
A* Search: h not admissible !
Start State Heuristic: h(n)
A 75
118 A 366
140 B B 374
C
111 C 329
E
D 80 99 D 244
E 253
G F
F 178
97 G 193
H 211 H 138
101 I 0
I
Goal f(n) = g(n) + h (n) – (H-I) Overestimated
g(n): is the exact cost to reach node n from the initial state. 52
A* Search: Tree Search
A Start

53
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C

54
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

55
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[455] H

56
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[413] G F [417]

97
[455] H Goal I [450]

57
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[473] D [413] G F [417]

97
[455] H Goal I [450]

58
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[473] D [413] G F [417]

97
[455] H Goal I [450]

59
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[473] D [413] G F [417]

97
[455] H Goal I [450]

60
A* Search: Tree Search
A Start

118 75
140

E [393] B [449]
[447] C
80 99

[473] D [413] G F [417]

97
[455] H Goal I [450]

A* not optimal !!!


61
A* Algorithm

A* with systematic checking for


repeated states …
A* Algorithm
1. Search queue Q is empty.
2. Place the start state s in Q with f value h(s).
3. If Q is empty, return failure.
4. Take node n from Q with lowest f value.
(Keep Q sorted by f values and pick the first element).
5. If n is a goal node, stop and return solution.
6. Generate successors of node n.
7. For each successor n’ of n do:
a) Compute f(n’) = g(n) + cost(n,n’) + h(n’).
b) If n’ is new (never generated before), add n’ to Q.
c) If node n’ is already in Q with a higher f value, replace it
with current f(n’) and place it in sorted order in Q.
End for
8. Go back to step 3.
63
A* Search: Analysis
Start •A* is complete except if there is an
118
A 75 infinity of nodes with f < f(G).

C 140 B •A* is optimal if heuristic h is


111 admissible.
E
D 80 99 •Time complexity depends on the
quality of heuristic but is still
G F
exponential.
97
•For space complexity, A* keeps all
H 211
nodes in memory. A* has worst
101
case O(bd) space complexity, but an
I
Goal iterative deepening version is
possible (IDA*). 64
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

 The search space is large, and


 There is no other available techniques, and
 There exist “good” heuristics

65
Conclusions
 Frustration with uninformed search led to the idea
of using domain specific knowledge in a search so
that one can intelligently explore only the relevant
part of the search space that has a good chance of
containing the goal state. These new techniques
are called informed (heuristic) search strategies.

 Even though heuristics improve the performance


of informed search algorithms, they are still time
consuming especially for large size instances.
66

You might also like