Professional Documents
Culture Documents
Lecture 6: Search 5
Other Time and Space Variations of A*
Finish off RBFS
Victor R. Lesser
SMA*
CMPSCI 683
Fall 2010 Anytime A*
RTA* (maybe if have time)
searches
V. Lesser; CS683, F08 V. Lesser; CS683, F08
V. Lesser; CS683, F08
RFBS(Sibiu,447/Timiso
ara)
RFBS(Riminicu,415/Fagaras)
447
More efficient than IDA* and still optimal Uses a given amount of memory to remember
Best-first Search based on next best f-contour; fewer
regeneration of nodes nodes so that they don’t have to be repeatedly
regenerated
Exploit results of search at a specific f-contour by saving next f-
countour associated with a node who successors have been
explored. It will utilize whatever memory is made
Like IDA* still suffers from excessive node regeneration available to it.
IDA* and RBFS not good for graphs
It avoids repeated states as far as its memory
Can’t check for repeated states other than those on current path
allows.
Both are hard to characterize in terms of expected
time complexity
V. Lesser; CS683, F08 V. Lesser; CS683, F08
SMA*
SMA* Example
• Expand deepest lowest f-cost leaf-node
A
0+12=12
• Best first search on f-cost
10 8
• Update f-cost of nodes whose successors B G
have higher f-cost 10+5=15 8+5=13
10 10 8 16
• Drop shallowest & highest f-cost leaf node C D H I
20+5=25 20+0=20 16+2=18 24+0=24
• Paths longer than node limit get ∞ cost. 30+5=35 30+0=30 24+0=24 24+5=29
A A A A
12 12 13 13(15) G B G B B
24(inf) 15 24 15 20(inf)
B B G G
15 15 13 13 I C D
25
24 20
inf
H
18
Reach goal Regenerate node B, Why don’t
inf remember that there C is not
node I but it we need to
is not the was node with f =15 goal node search
Update A Remember next that had been and it is at
based on lowest cost f node
cheapest so anymore
continue removed, remember max depth after finding
lowest cost f B that is removed
search successor of G has D.
successor?
V. Lesser; CS683, F08 V. Lesser; CS683, F08
f=24
At each iteration, the cutoff value is the smallest f-cost of any node that
Staged search involves periodically pruning
exceeded the cutoff on the previous iteration unpromising paths
Recursive best-first search (RBFS)
SMA* is an example of a staged search
Best-first search with only linear space
As the recursion unwinds, it forgets the sub-tree and back-up the f-value of
the best leaf as its parent’s f-value. Node expansion may be so costly (because the
SMA* proceeds like A* branching factor is high or the cost to apply operators
Expanding the best leaf until memory is full is high) that exhaustive node expansion is not practical.
Drop the worst leaf node, and back-up the value of the forgotten node to its
parent.
Complete IF there is any reachable solution.
Optimal IF any optimal solution is reachable.
V. Lesser; CS683, F08 V. Lesser; CS683, F08
Time Time
Time cost
the open list has gotten so large that you are running out of
memory?
you are running out of time and you have not yet reached an
answer?