0% found this document useful (0 votes)
32 views19 pages

Hueristic Searchh

The document discusses several heuristic search methods including hill climbing, beam search, and greedy search. Hill climbing uses a heuristic function to select the best child node at each step. Beam search is similar to breadth-first search but only keeps the best nodes up to a fixed width at each level. Greedy search always expands the node with the best heuristic value first.

Uploaded by

Farheen Nawazi
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)
32 views19 pages

Hueristic Searchh

The document discusses several heuristic search methods including hill climbing, beam search, and greedy search. Hill climbing uses a heuristic function to select the best child node at each step. Beam search is similar to breadth-first search but only keeps the best nodes up to a fixed width at each level. Greedy search always expands the node with the best heuristic value first.

Uploaded by

Farheen Nawazi
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/ 19

Heuristic Search Methods

Methods that use a heuristic function to provide


specific knowledge about the problem:

Heuristic Functions
Hill climbing
Beam search
Hill climbing (2)
Greedy search
Heuristic Functions
 To further improve the quality of the previous
methods, we need to include problem-specific
knowledge on the problem.
 How to do this in such a way that the algorithms
remain generally applicable ???

HEURISTIC FUNCTIONS:
 f: States --> Numbers
 f(T) : expresses the quality of the state T
– allow to express problem-specific knowledge,
BUT: can be imported in a generic way in the
algorithms.

2
Examples (1):
 Imagine the problem of finding a route on a road
map and that the NET below is the road map:
4 4
3 A B C
S 5 5
G
4 D 2 E F 3
4

 Define f(T) = the straight-line distance from T to G

A 10.4 B 6.7 C 4
11 The estimate
S
8.9 G can be wrong!
D E 6.9 F 3
3
Examples (2): 8-puzzle
 f1(T) = the number correctly placed tiles on the
board: 1 3 2
f1 8 4 =4
5 6 7

 f2(T) = number or incorrectly placed tiles on board:


gives (rough!) estimate of how far we are from goal
1 3 2
f2 8 4 =4
5 6 7

Most often, ‘distance to goal’ heuristics are more useful !


4
Examples (3):
Manhattan distance
 f3(T) = the sum of ( the horizontal + vertical
distance that each tile is away from its final
destination):
gives a better estimate of distance from the goal node

1 3 2
f2 8 4 =1+1+2+2=6
5 6 7

5
Hill climbing

A basic heuristic search method:


depth-first + heuristic
Hill climbing_1
 Example: using the straight-line distance:

S
 Perform depth-first,
A 10.4 D 8.9 BUT:
 instead of left-to-
right selection,
A 10.4 6.9
E  FIRST select the child
with the best heuristic
value
6.7 B F 3.0

7
Hill climbing_1 algorithm:
1. QUEUE <-- path only containing the root;

2. WHILE QUEUE is not empty


AND goal is not reached

DO remove the first path from the QUEUE;


create new paths (to all children);
reject the new paths with loops;
sort new paths (HEURISTIC) ;
add the new paths to front of QUEUE;

3. IF goal reached
THEN success;
ELSE failure;
8
Beam search

Narrowing the width of the breadth-first search


Beam search (1):
Depth 1) S  Assume a pre-
fixed WIDTH
10.4 8.9 (example : 2 )
A D

 Perform breadth-
Depth 2) first, BUT:
S
 Only keep the
A D WIDTH best new
nodes
6.7 8.9 10.4 6.9 depending on
B D A E heuristic
X X
ignore ignore at each new level.
10
Beam search (2):
Depth 3) S

A D  Optimi-
zation:
4.0 B D A E
6.9 X X 6.7 B 3.0 ignore
_C E F
leafs
X
end
ignore that are
not goal
Depth 4) S nodes
(see C)
A D

B D A E
_C E X X B F
X
10.4 A 0.0
_C G
11
Beam search algorithm:
 See exercises!

Properties:
 Completeness:
 Hill climbing: YES (backtracking), Beam search: NO

 Speed/Memory:
 Hill climbing:
 same as Depth-first (in worst case)
 Beam search:
 QUEUE always has length WIDTH, so memory
usage is constant = WIDTH, time is of the order
of WIDTH*m or WIDTH*d if no solution is found
12
Hill climbing_2
 == Beam search with a width of 1.

 Inspiring Example: climbing a hill in the fog.


Heuristic function: check the change in altitude in 4
directions: the strongest increase is the direction in
which to move next.

 Is identical to Hill climbing_1, except for dropping


the backtracking.
 Produces a number of classical problems:

13
Problems with
Hill climbing_2:
Foothills: Plateaus

Local
maximum

Ridges

14
Comments:
 Foothills are local minima: hill climbing_2 can’t
detect the difference.
 Plateaus don’t allow you to progress in any direction.

Foothills and plateaus require random jumps to be


combined with the hill climbing algorithm.

 Ridges neither: the directions you have fixed in


advance all move downwards for this surface.
Ridges require new rules, more directly targeted to
the goal, to be introduced (new directions to move) .

15
Local search
 Hill climbing_2 is an example of local S
search. A
 In local search, we only keep track of 1
path and use it to compute a new path in B
the next step. C
 QUEUE is always of the form: D
 ( p)

 Another example:
 MINIMAL COST search: A
3 4
 If p is the current path:
B C
 the next path extends p by adding the
2 3 5
node with the smallest cost from the
endpoint of p D E F
16
Greedy search

Always expand the heuristically best nodes first.


Greedy search, or
Heuristic best-first search:

S 30

10 40
1 20  At each step,
3 select the
node with the
35 15 best (in this
2 27 18 case: lowest)
heuristic
value.
25 45 The ‘open’
nodes

18
Greedy search algorithm:
1. QUEUE <-- path only containing the root;

2. WHILE QUEUE is not empty


AND goal is not reached

DO remove the first path from the QUEUE;


create new paths (to all children);
reject the new paths with loops;
add the new paths and sort the entire QUEUE;
(HEURISTIC)
3. IF goal reached
THEN success;
ELSE failure;
19

You might also like