Heuristic Search
Srinandan Dasmahapatra
February 16, 2006
Basic ideas
•
Use problemspecific information not included in
the definition of the problem to search for
solutions
•
Bestfirst search
–
pick
the (seemingly) best
node among search nodes, based on evaluation
function
f(n)
•
Sort
queue of fringe search nodes
Q
w.r.t.
f
•
Key component of
f
is a
heuristic function
h(n)
which gives the
estimated
cost of the cheapest
path from node
n
to the goal
What uniform path cost strategies miss
•
All nodes on the concentric
circles represent equal cost
extensions (along radial
direction in Cartesian
embedding)
•
X is as good a state to reach as Y
 because nodes are
expanded in order of
cost from the starting
state only,
 without trying to bias the search
towards the goal
(uninformed)
What animal navigation seems to offer
•
Caution
: geographical goalseeking is only
analogous to searching abstract problem spaces
•
Navigation is goal targeted
–
homing pigeons,
lobsters
•
Requires both a directional sense (
“
compass
”
)
and a spatial location sense (
“
map
”
), directly
linked to specific sensory perceptual capacities
•
von Frisch (1949) discovered that bees use
polarized skylight for compass; determine e
vector orientation in isolated patches of skylight
More animal navigation analogies
•
Cataglyphis
ants in the Sahara travel thousands of times
their own body length to arrive at a pinpoint goal using
polarisation
 not informed about exact evector pattern to daytime
map,
 they successfully deal with partial skylight pattern, if
insect experiences same partial pattern during foraging
•
Internal clock tied to orientation patterns, to track
location of moving sun
–
eg
., birds
•
Lobsters seem to use magnetic field of the earth for
choosing the appropriate direction for homing
More search analogies
•
Search space cannot be examined for target goal, goal
is a function of agent
’
s state as it traverses statespace
as well
•
Example
: Bumblebee Foraging: Study of particular species of
bumblebee (
Bombus appositus
) gathering nectar from clusters of
monkshood flowers in Colorado mountains.
 Variable nectar content in flowers, depends on whether other
insects have removed some already
 No one flower was a full meal, several visited
•
Algorithm
:
 Visit flower closest to ground or next to lowest visited first
 Move upwards, selecting closest flower not already visited
Search analogies in Cells
•
How do the microtubules (MT)
the fibres growing and
shrinking
on top right (green
on bottom right) find and
attach to the
kinetochores
(DNA in blue) in order to form
the mitotic spindle which then
initiates
cell division?
A* search:
Minimise total estimated solution cost
176
100
Open and Closed Nodes
•
Fringe to be
explored is
called OPEN
•
Instead of
discarding
nodes from the
queue, place
them in a
CLOSED or
VISITED list
•
Graph search
Reminder: BFS on a graph: Goal
“
g
”
DFS on a graph: Goal
“
g
”
Reminder: DFS on a graph: Goal
“
g
”
A* search example, from A to B (tabular form)
<A,S,F,B;
450
> <A,S,F,S;>
<A,S,R,P,B;
418
>
<A,S,R,P,C;
455
>
<A,S,R,C;
526
> <A,S,O;
671
><A,T;
447
> <A,Z;
449
>
<A,S,R,P,B;
418
> <A,S,R,P,C;
455
><A,S,R,C;
526
>
<A,S,F;
417
> <A,S,O;
671
><A,T;
447
> <A,Z;
449
>
<A,S,R,C;
526
> <A,S,R,P;
415
> <A,S,R,S;>
<A,S,F;
417
> <A,S,O;
671
> <A,T;
447
> <A,Z;
449
>
<A,S,A;280+366=
646
> <A,S,F;239+178=
417
>
<A,S,R; 220+193=
413
> <A,S,O;291+380=
671
>
<A,T;
447
> <A,Z;
449
>
<A, S; 140+253=
393
> <A, T; 118+329=
447
> <A, Z; 75+374=
449
>
<A; 0+366=366>
(A 366) (B 418)
(C 455)
(F 417) (O 671) (P 415)
(R 413) (S 393) (T 447)
(Z 449)
(A 366) (C 526) (F 417)
(O 671) (P 415) (R 413)
(S 393) (T 447) (Z 449)
(A 366) (F 417) (O 671)
(R 413) (S 393) (T 447)
(Z 449)
(S 393) (T 447) (Z 449)
(A 366)
•
Each node in the left column is of the form
<
Start_City
= City_0, City_1,
…
,
City_k
; f(
City_k
) = g(
City_k
) + h(
City_k
)>
•
The right column records the
smallest fvalue
for each city
visited
A* search example (using modified SLD)
A* search example  2
A* search example  3
Reminder
G2
G1
n
s
f(G1) = C*, least
f(G2) > C*
f(n) < f(G2) means
G2 will not be expanded
<A,S,F,B; 450>
<A,S,R,P,B; 418>
Set n = <A,S,R>, State(n) = R
g(R)=220 <= g(B) = 418 (
A
R; A
B)
f(<A,S,R>)
=g
(R)+h(R)=413 < 450
f(<A,S,R,P,B>)=418,
f(<A,S,F,B>)=450
•
For search on graphs, it is
useful to introduce the notion
of
consistency/
monotonicity
to guarantee the optimality of
A*
•
c(n,a,n
’
) path cost of action
a that takes n to n
’
•
Triangle inequality
•
Ensure that as one
progresses along the path,
the
fvalues are weakly
increasing
Optimal paths for graph based search
Dynamic Programming Principle
•
Dynamic Programming Optimality Principle:
shortest path from start to goal that goes
through state X is composed of
 shortest path from start to X and
 shortest path from X to goal
•
Keeps track of expanded nodes for h = 0 case
•
String matching, speech recognition, bioinformatics,
reinforcement learning
X
S
G
Choosing Heuristic functions
Heuristic Functions and Dominance
Relaxing Constraints
Relaxing Constraints of Problem
Iterative Improvement Algorithms
Examples of Iterative Improvement Algorithms
TSP and
n
Queens
Iterative Methods for Optimisation
–
Hill Climbing
Issues
: step size (in
continuous
problems)
rate of convergence
Simulated Annealing
Properties of Simulated Annealing
•
For fixed
“
temperature
”
T, the occupation probability of
each state
x
with value
E(x)
becomes
P(x)
∝
exp ( E(x) / T)
•
T starts from a large value and then decreased; if
decreased slowly enough, goal always reached
•
Devised in 1953 by Metropolis, used in VLSI layout,
airline scheduling, physics problems,
…
, everywhere!
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment