0% found this document useful (0 votes)
50 views82 pages

Ch2 3 Informed (Heuristic) Search1 - 0

Uploaded by

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

Ch2 3 Informed (Heuristic) Search1 - 0

Uploaded by

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

Artificial Intelligence

Problem solving by searching


CSC 361

University of Berkeley, USA


http://www.aima.cs.berkeley.edu
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
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).

 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:
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

[329] C 140 [374] B

[253] E

25
Greedy Search: Tree
Search
Start
A 75
118

[329] C 140 [374] B

[253] E
80 99

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

26
Greedy Search: Tree
Search
Start
A 75
118

[329] C 140 [374] B

[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] C 140 [374] B

[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

[250] C 140 [374] B

[253] E

32
Greedy Search: Tree
Search
Start
A 75
118

[250] C 140 [374] B

[253] E
111
[244] D

33
Greedy Search: Tree
Search
Start
A 75
118

[250] C 140 [374] B

[253] E
111
[244] D

Infinite Branch !
[250] C

34
Greedy Search: Tree
Search
Start
A 75
118

[250] C 140 [374] B

[253] E
111
[244] D

Infinite Branch !
[250] C

[244] D

35
Greedy Search: Tree
Search
Start
A 75
118

[250] C 140 [374] B

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

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

[447 C E [393 B [449


] ]
]

44
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[413 G F [417
] ]

45
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[413 G F [417
] ]
97
[415 H
]

46
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[413 G F [417
] ]
97
[415 H
]
101
Goal I [418]

47
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 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

[447 C E [393 B [449


] ]
] 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

[447 C E [393 B [449


] ]
] 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:
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 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 52
A* Search: Tree Search
A Start

53
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
]

54
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[413 G F [417
] ]

55
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[413 G F [417
] ]
97
[455 H
]

56
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[413 G F [417
] ]
97
[455 H Goal I [450
] ]

57
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[473 [413 G F [417


D
] ] ]
97
[455 H Goal I [450
] ]

58
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[473 [413 G F [417


D
] ] ]
97
[455 H Goal I [450
] ]

59
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[473 [413 G F [417


D
] ] ]
97
[455 H Goal I [450
] ]

60
A* Search: Tree Search
A Start

118 75
140

[447 C E [393 B [449


] ]
] 80 99

[473 [413 G F [417


D
] ] ]
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
118
A 75 is an infinity of nodes with f <
B f(G).
C 140
111 •A* is optimal if heuristic h is
E
D 80 99 admissible.
•Time complexity depends on
G F
the quality of heuristic but is
97
still exponential.
H 211
•For space complexity, A*
101
keeps all nodes in memory. A*
I
Goal has worst case O(bd) space
complexity, but an iterative 64
Informed Search
Strategies

Iterative Deepening A*
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
66
Consistent Heuristic
 The admissible heuristic h is consistent
(or satisfies the monotone restriction) if
for every node N and every successor N’
of N: N
c(N,N’)

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.

 We expand nodes using the depth-first algorithm and


backtrack whenever f(n) for an expanded node n exceeds
the cut-off value.

 If this search does not succeed, determine the lowest f-


value among the nodes that were visited but not expanded.

 Use this f-value as the new limit value – cut-off value and
do another depth-first search.

 Repeat this procedure until a goal node is found. 68


f(N) = g(N) + h(N)
8-Puzzle with h(N) = number of misplaced tile

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

 The search space is large, and


 There is no other available techniques,
and
 There exist “good” heuristics
81
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.
82

You might also like