Heuristic Search Methods: Understanding the Role of Heuristics in Pathfinding Algorithms, Study notes of Computer Science

An introduction to heuristic search methods, explaining what heuristics are and how they are used to aid discovery in pathfinding algorithms. Various search methods, including ordered or best-first search, hill climbing, and the a* algorithm. It also discusses the importance of heuristic information and the admissibility condition.

Typology: Study notes

Pre 2010

Uploaded on 09/17/2009

koofers-user-3q9
koofers-user-3q9 🇺🇸

8 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Heuristic Search Methods
A heuristic (heuristic rule, heuristic method) is a rule of
thumb, strategy, trick, simplification, or any other kind of
device which drastically limits search for solutions in large
problem spaces. Heuristics do not guarantee optimal
solutions; in fact, they do not guarantee any solution at all: all
that can be said for a useful heuristic is that it offers
solutions which are good enough most of the time.
Feigenbaum and Feldman, 1963, p. 6
What is a heuristic?
Heuristic Search Methods
The blind-search methods ... are exhaustive methods for
finding paths to a goal state. In principle, these methods
provide a solution to the path-finding problem, but it is often
infeasible to use these methods because the search will
expand too many nodes before a path is found. ... For many
tasks it is possible to state principles or rules of thumb to help
reduce the search. Any such technique used to speed up the
search depends on special information about the problem
being represented by the graph. Let us call information of
this sort heuristic information (serving to aid discovery) and
call search procedures using it heuristic search methods.
Nilsson, 1971, p. 53
What is a heuristic?
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Heuristic Search Methods: Understanding the Role of Heuristics in Pathfinding Algorithms and more Study notes Computer Science in PDF only on Docsity!

Heuristic Search Methods

A heuristic ( heuristic rule , heuristic method ) is a rule of

thumb, strategy, trick, simplification, or any other kind of

device which drastically limits search for solutions in large

problem spaces. Heuristics do not guarantee optimal

solutions; in fact, they do not guarantee any solution at all: all

that can be said for a useful heuristic is that it offers

solutions which are good enough most of the time.

Feigenbaum and Feldman, 1963, p. 6

What is a heuristic?

Heuristic Search Methods

The blind-search methods ... are exhaustive methods for

finding paths to a goal state. In principle, these methods

provide a solution to the path-finding problem, but it is often

infeasible to use these methods because the search will

expand too many nodes before a path is found. ... For many

tasks it is possible to state principles or rules of thumb to help

reduce the search. Any such technique used to speed up the

search depends on special information about the problem

being represented by the graph. Let us call information of

this sort heuristic information (serving to aid discovery) and

call search procedures using it heuristic search methods.

Nilsson, 1971, p. 53

What is a heuristic?

Ways to Use Heuristic Information

Ordered or Best-First Search

• Use an evaluation function, f* , to estimate the

promise of a node

• Compute f* for each node and select the node with

the minimal value to examine next

• Goal is to reduce the number of nodes examined

• Effectiveness depends on f*

Example:

f* =

Hill Climbing

• Variant of Generate and Test

• Steps involved:

1. Generate a proposed solution

2. If it is a goal, stop

3. If not, generate a set of new proposed solutions

4. Evaluate each with the heuristic

5. Select the best and repeat the process

• A simple heuristic is used to estimate how close a

given state is to the goal state

Local maximas

or foothills:

Ridge:

Plateau:

Problems which can occur

z

y

x

y

x

z

y

x

y

x

z

y

x

y

x

• Given some search tree:

Why not combine the two?!

What we have

searched so

far

What we have

yet to search

Example

h*

b 8

c 10

d 8

e 5

f 5

g 4

h 2

i -

a

b

c

d

e

f

g

h

i

h*

b 8

c 10

d 8

e 5

f 5

g 4

h 2

i -

a

b

c

d

e

f

g

h

i

7 a

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

7 a

b c d

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

2

2

5

4

1

6 4

3

3

3

5 5 4

1 7 a

b c d

3 4 2

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

(^1 7) a

b c d

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

(^1 7) a

b c d

c f

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

(^1 7) a

b c d

c f

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

(^1 7) a

b c d

c e

16 14 c f

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

7 a

b c d

c e

16 14 c f

b e g

g

21 b 15 e f h

14 15 15 i

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

7 a

b c d

c e

16 14 c f

b e g

g

21 b 15 e f h

14 15 15 i

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

7 a

b c d

c e

16 14 c f

b e g

g

21 b 15 e f h

14 15 15 i

h* b 8 c 10 d 8 e 5 f 5 g 4 h 2 i -

a

b

c

d

e

f

g

h

i

7 a

b c d

c e

16 14 c f

b e g

g

21 b 15 e f h

14 15 15 i