0% found this document useful (0 votes)
16 views

Informed Search

Uploaded by

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

Informed Search

Uploaded by

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

School of Engineering & Technology

K.R. Mangalam University, Gurugram (Haryana)


Informed
Search
Informed Methods Add
Domain-Specific Information
• Add domain-specific information to select what is
the best path to continue searching along
• Define a heuristic function, h(n), that estimates the
"goodness" of a node n with respect to reaching a
goal.
• Specifically, h(n) = estimated cost (or distance) of
minimal cost path from n to a goal state.
• h(n) is about cost of the future search, g(n) past
search
• h(n) is an estimate (rule of thumb), based on
domain-specific information that is computable
from the current state description. Heuristics do
Heuristics
• Examples:
• Missionaries and Cannibals: Number of people on starting
river bank
• 8-puzzle: Number of tiles out of place (i.e., not in their goal
positions)
• 8-puzzle: Sum of Manhattan distances each tile is from its goal
position
• 8-queen: # of un-attacked positions – un-positioned queens
• In general:
• h(n) >= 0 for all nodes n
• h(n) = 0 implies that n is a goal node
• h(n) = infinity implies that n is a deadend from which a goal
cannot be reached
Best First Search

• Order nodes on the OPEN list by


increasing value of an evaluation
function, f(n) , that incorporates
domain-specific information in some
way.
• Example of f(n):
• f(n) = g(n) (uniform-cost)
• f(n) = h(n) (greedy algorithm)
• f(n) = g(n) + h(n) (algorithm A)
• This is a generic way of referring to the
class of informed methods.
Greedy Search
• Evaluation function f(n) = h(n),
sorting open nodes by increasing a
values of f.
• Selects node to expand believed to
h=2 b g h=4

be closest (hence it's "greedy") to a c h h=1


h=1
goal node (i.e., smallest f = h value)
• Not admissible, as in the example. h=1 d i h=0
Assuming all arc costs are 1, then
Greedy search will find goal f, h=1 e
which has a solution cost of 5,
while the optimal solution is the h=0 f
path to goal i with cost 3.
Algorithm A
8
• Use as an evaluation function S
f(n) = g(n) + h(n)
1 5 8
• The h(n) term represents a 1
“depth-first“ factor in f(n) A 5 B C 8
• g(n) = minimal cost path from 9
3 5
the start state to state n 1
generated so far 4 D
G
• The g(n) term adds a "breadth- 9
first" component to f(n).
(h*(D)=2, h*(C)=2)
• Ranks nodes on OPEN list by
estimated cost of solution from f(D)=4+9=13 C is chosen
f(B)=5+5=10 next to expand
start node through the given f(C)=8+1=9
node to goal.
Algorithm A
OPEN := {S}; CLOSED := {};
repeat
Select node n from OPEN with minimal f(n) and place n on CLOSED;
if n is a goal node exit with success;
Expand(n);
For each child n' of n do
if n' is not already on OPEN or CLOSED then
put n’ on OPEN; set backpointer from n' to n
compute h(n'), g(n')=g(n)+ c(n,n'), f(n')=g(n')+h(n');
else if n' is already on OPEN or CLOSED and if g(n') is lower for the
new version of n' then
discard the old version of n‘;
Put n' on OPEN; set backpointer from n' to n
until OPEN = {};
exit with failure
Algorithm A*

• Algorithm A with constraint that h(n) <= h*(n)


• h*(n) = true cost of the minimal cost path from n to
any goal.
• g*(n) = true cost of the minimal cost path from S to
n.
• f*(n) = h*(n)+g*(n) = true cost of the minimal cost
solution path from S to to any goal going through n.
• h is admissible when h(n) <= h*(n) holds.
• Using an admissible heuristic guarantees that the
first solution found will be an optimal one.
• A* is complete whenever the branching factor is
finite, and every operator has a fixed positive cost
Some Observations on A*

• Null heuristic: If h(n) = 0 for all n, then this is an


admissible heuristic and A* acts like Uniform-Cost
Search.
• Better heuristic: If h1(n) <= h2(n) <= h*(n) for all
non-goal nodes, then h2 is a better heuristic than
h1
• If A1* uses h1, and A2* uses h2, then every node expanded
by A2* is also expanded by A1*.
• In other words, A1 expands at least as many nodes as A2*.
• We say that A2* is better informed than A1*.
• The closer h is to h*, the fewer extra nodes that
will be expanded
• Perfect heuristic: If h(n) = h*(n) for all n, then only
the nodes on the optimal solution path will be
Example search space
start state
parent pointer

8
0 S arc cost

1 5 8

1 A 8 5 B
4
8 C 3
3 9 h value
7 4 5 g value

4 D  8 E 
9 G 0

goal state
Example
n g(n) h(n) f(n) h*(n)
S 0 8 8 9
A 1 8 9 9
B 5 4 9 4
C 8 3 11 5
D 4 inf inf inf
E 8 inf inf inf
G 9 0 9 0

• h*(n) is the (hypothetical) perfect heuristic.


• Since h(n) <= h*(n) for all n, h is admissible
• Optimal path = S B G with cost 9.
Greedy Algorithm

f(n) = h(n)

node exp. OPEN list


{S(8)}
S {C(3) B(4) A(8)}
C {G(0) B(4) A(8)}
G {B(4) A(8)}

• Solution path found is S C G with cost 13.


• 3 nodes expanded.
A* Search
f(n) = g(n) + h(n)

node exp. OPEN list


{S(8)}
S {A(9) B(9) C(11)}
A {B(9) G(10) C(11) D(inf)
E(inf)}
B {G(9) G(10) C(11) D(inf)
E(inf)}
G {C(11) D(inf) E(inf)}
Proof of the Optimality of A*
• Let l* be the optimal solution path (from S to G), let f* be its cost
• At any time during the search, one or more node on l* are in OPEN
• We assume that A* has selected G2, a goal state with a suboptimal
solution (g(G2) > f*).
• We show that this is impossible.
• Let node n be the shallowest OPEN node on l*
• Because all ancestors of n along l* are expanded,
g(n)=g*(n)
• Because h(n) is admissible, h*(n)>=h(n). Then
f* =g*(n)+h*(n) >= g*(n)+h(n) = g(n)+h(n)= f(n).
• If we choose G2 instead of n for expansion, f(n)>=f(G2).
• This implies f*>=f(G2).
• G2 is a goal state: h(G2) = 0, f(G2) = g(G2).
• Therefore f* >= g(G2)
• Contradiction.
Iterative Deepening A* (IDA*)
• Idea:
• Similar to IDDF except now at each iteration the DF search is
not bound by the current depth_limit but by the current
f_limit
• At each iteration, all nodes with f(n) <= f_limit will be
expanded (in DF fashion).
• If no solution is found at the end of an iteration, increase
f_limit and start the next iteration
• f_limit:
• Initialization: f_limit := h(s)
• Increment: at the end of each (unsuccessful) iteration,
f_limit := max{f(n)|n is a cut-off node}
• Goal testing: test all cut-off nodes until a solution
is found
• Admissible if h is admissible
Automatic generation of h functions
• Original problem P Relaxed problem P'
A set of constraints removing one or more
constraints
P is complex P' becomes simpler
• Use cost of a best solution path from n in P' as h(n)
for P
• Admissibility:
h* h
cost of best solution in P >= cost of best solution in P'

Solution space of P

Solution space of P'


Automatic generation of h functions
• Example: 8-puzzle
• Constraints: to move from cell A to cell B
cond1: there is a tile on A
cond2: cell B is empty
cond3: A and B are adjacent (horizontally or vertically)
• Removing cond2:
h2 (sum of Manhattan distances of all misplaced tiles)
• Removing cond2 and cond3:
h1 (# of misplaced tiles)
• Removing cond3:
h3, a new heuristic function
h3:
repeat
if the current empty cell A is to be occupied by tile x
in the goal, move x to A. Otherwise, move into A any
arbitrary misplaced tile.
until the goal is reached
• h2>= h3 >= h1

h1(start) = 7
h2(start) = 18
h3(start) = 7
• Example: TSP. A legal tour is a (Hamiltonian) circuit
– It is a connected second degree graph (each node has
exactly two adjacent edges)
Removing the connectivity constraint leads to h1:
find the cheapest second degree graph from the
given graph
(with o(n^3) complexity)

The given A legal tour Other second degree graphs


complete
graph
• It is a spanning tree (when an edge is removed) with
the constraint that each node has at most 2 adjacent
edges)
Removing the constraint leads to h2:
find the cheapest minimum spanning tree from the
given graph
(with O(n^2/log n)

The given graph A legal tour Other MST


Complexity of A* search

• In general, exponential time and space complexity


• For subexponential growth of # of nodes
expanded, need
|h(n)-h*(n)| <= O(log h*(n)) for all n
For most problem we have |h(n)-h*(n)| <= O(h*(n)
• Relaxing optimality
• Weighted evaluation function
F(n)=(1-w)*g(n)+w*h(n)
w=0: uniformed-cost search
w=1: greedy algorithm
w=1/2: A* algorithm
• Dynamic weighting
f(n)=g(n)+h(n)+ [1- d(n)/N]*h(n)
d(n): depth of node n
N: anticipated depth of an optimal goal
at beginning of search: << N
d (n) encourages DF search at
f (n)  g of
beginning  (1   )h(n)
(n)search:
d (n)  Nback to A*
 g (n)  h((solution
Itf (isn) -admissible n) cost found is <= (1+ )
solution found by A*) 
• A * : another -admissible algorithm
do not put a new node n on OPEN unless
f(n) <= smallest f value among all nodes already in
OPE
• Pruning OPEN list
• Find a solution using some quick but non-admissible
method (e.g., greedy algorithm, hill-climbing, neural
networks) with cost f+
• Do not put a new node n on OPEN unless f(n)<=f+
• Admissible: suppose f(n)>f+>=f*, the least cost solution
sharing the current path from s to n would have cost
g(n)+h*(n)>=g(n)+h(n)=f(n)>f*
Iterative Improvement Search

• Another approach to search involves


starting with an initial guess at a
solution and gradually improving it
until it is one.
• Some examples:
• Hill Climbing
• Simulated Annealing
• Genetic algorithm
Hill Climbing on a Surface of States

Height Defined by
Evaluation
Function
Hill Climbing Search
• If there exists a successor n’ for the current state n
such that
• h(n’) < h(n)
• h(n’) <= h(t) for all the successors t of n,
• then move from n to n’. Otherwise, halt at n.
• Looks one step ahead to determine if any
successor is better than the current state; if there
is, move to the best successor.
• Similar to Greedy search in that it uses h, but does
not allow backtracking or jumping to an alternative
path since it doesn’t “remember” where it has
been.
• OPEN = {current-node}
Hill climbing example

2 8 3 1 2 3
start 1 6 4 h=4 goal 8 4 h=0
7 5 7 6 5

5 5 2
2 8 3 1 2 3
1 4 h=3 8 4 h=1
7 6 5 7 6 5

3 4
2 3 2 3
1 8 4 1 8 4 h=2
7 6 5 7 6 5
h=3 4

f(n) = (number of tiles out of place)


Drawbacks of Hill-Climbing
• Problems:
• Local Maxima:
• Plateaus: the space has a broad flat plateau
with a singularity as it’s maximum
• Ridges: steps to the North, East, South and West
may go down, but a step to the NW may go up.
• Remedy:
• Random Restart.
• Multiple HC searches from different start states
• Some problems spaces are great for Hill
Climbing and others horrible.
Simulated Annealing
• Simulated Annealing (SA) exploits an analogy between
the way in which a metal cools and freezes into a
minimum energy crystalline structure (the annealing
process) and the search for a minimum in a more
general system.
• Each state n has an energy value f(n), where f is an
evaluation function
• SA can avoid becoming trapped at local minimum
energy state by introducing randomness into search so
that it not only accepts changes that decreases state
energy, but also some that increase it.
• SAs use a a control parameter T, which by analogy with
the original application is known as the system
“temperature” irrespective of the objective function
Algorithm outline for SA
current := a randomly generated state;
T := T_0 /* initial temperature T0 >>0 */
forever do
if T <= T_end then return current;
next := a randomly generated new state; /* next != current */
= f(next) – f(current);
E := next with probability
current 1 ;
pE 
T := schedule(T); 1  e TEby/ T a cooling schedule */
/* reduce

Commonly used cooling schedule


• T := T * alpha where 0 < alpha < 1 is a cooling constant
• T_k := T_0 / log (1+k)
Click• to
T edit
E Master 1title
E
E / T
style 1  e
 1 positive 0.5 increase
negative 0.5 decrease
0 positive 0.0 no change
negative 1.0 decrease
• Probability of the system is at any particular state
depends on the state’s energy (Boltzmann distribution)
1  E / T
P  e , where Z  e  E / T
Z
• If time taken to cool is infinite then
P (stays at minimum energy state g*)

P (stays at any other state n)
Genetic Algorithms
• Emulating biological evolution (survival of the fittest by natural selection
process )
population
selection of parents for reproduction
(based on a fitness function)
parents
reproduction (cross-over + mutation)
next generation of population

• Population of individuals (each individual is represented as a string of symbols:


genes and chromosomes)
• Fitness function: estimates the goodness of individuals
• Selection: only those with high fitness function values are allowed to reproduce
• Reproduction:
crossover allows offsprings to inherit good features from their parents
mutation (randomly altering genes) may produce new (hopefully good) features
bad individuals are throw away when the limit of population size is reached
• To ensure good results, the population size must be large
• starts out high and gradually (very slowly) decreases toward 0.
Informed Search Summary
• Best-first search is general search where the minimum cost nodes (according
to some measure) are expanded first.
• Greedy search uses minimal estimated cost h(n) to the goal state as measure.
This reduces the search time, but the algorithm is neither complete nor
optimal.
• A* search combines uniform-cost search and greedy search: f(n) = g(n) + h(n)
and handles state repetitions and h(n) never overestimates.
• A* is complete, optimal and optimally efficient, but its space
complexity is still bad.
• The time complexity depends on the quality of the heuristic
function.
• IDA* and SMA* reduce the memory requirements of A*.
• Hill-climbing algorithms keep only a single state in memory, but can get stuck
on local optima.
• Simulated annealing escapes local optima, and is complete and optimal given
a long enough cooling schedule (in probability).
• Genetic algorithms escapes local optima, and is complete and optimal given a
long enough cooling schedule (in probability).

You might also like