Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Agenda

Objectives:
• Memory-bounded heuristic search:
– Iterative-deepening A∗ (IDA∗)
– Recursive best-first search (RBFS)
Memory-bounded heuristic search:
Iterative-deepening A∗ (IDA∗):
• Reduce the memory requirements for A∗ by
adapting the idea of iterative deepening to the
heuristic search context
• The cutoff used is the f-cost (g+h) rather than
the depth
• The cutoff value is the smallest f-cost of any
node that exceeded the cutoff on the previous
iteration
• It suffers from the real valued costs
Memory-bounded heuristic search:
Iterative-deepening A∗ (IDA∗):
Overview of the IDA* algorithm:
1.Set an initial cutoff value.
2.Perform a depth-first search from the start node,
limiting the search depth to the current cutoff value.
3.If the goal node is found, return the solution.
4.If the search exceeds the cutoff value, increase the
cutoff value and repeat the search.
5.Repeat steps 2-4 until the goal node is found or the
search space is exhausted.
Memory-bounded heuristic search:
Iterative-deepening A∗ (IDA∗):

A
straight-line distance to node G:
h(A)=3 h(B)=2 h(C)=1 h(D)=2

/ \
h(E)=1 h(F)=1 h(G)=0

B C
edge costs :
A-B: 2 A-C: 3 B-D: 1 B-E: 2

/ \ / \
C-F: 2 C-G: 3

D EF G
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
• Simple recursive algorithm that attempts to
mimic the operation of standard best-first
search
• Its structure is similar to that of a recursive
depth-first search, but rather than continuing
indefinitely down the current path
• It uses the f limit variable to keep track of the
f-value of the best alternative path available
from any ancestor of the current node.
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
• It takes a problem instance, a node, and an f-limit as inputs.
• node: The current node being explored.
• f limit: The current f-limit.
• It follows these steps:
• Goal Test: If the current node is a goal state, return the
solution.
• Expansion: Generate the successors of the current node.
• Update f-values: Update the f-values of the successors based
on the node's f-value.
• Recursive Exploration: Recursively explore the successors
with the lowest f-value.
• Backtrack: If the recursive exploration fails, update the f-limit
and backtrack to the next best alternative.
Memory-bounded heuristic search:
Recursive best-first search (RBFS):

A
straight-line distance to node G:
h(A)=3 h(B)=2 h(C)=1 h(D)=2

/ \
h(E)=1 h(F)=1 h(G)=0

B C
edge costs :
A-B: 1 A-C: 4 B-D: 1 B-E: 2

/ \ / \
C-F: 2 C-G: 3

D EF G
Memory-bounded heuristic search:
Recursive best-first search (RBFS):
• RBFS is somewhat more efficient than IDA∗, but still suffers
from excessive node regeneration.
• Each mind change, could require many reexpansions of
forgotten nodes to recreate the best path and extend it one
more node
• RBFS is an optimal algorithm if the heuristic function h(n) is
admissible.
• Space complexity is linear in the depth of the deepest optimal
solution
• Time complexity is rather difficult to characterize: it depends
both on the accuracy of the heuristic function and on how
often the best path changes as nodes are expanded.
Memory-bounded heuristic search:
Learning to search better:
• Could an agent learn how to search better?
• The answer is yes, and the method rests on an important
concept called the metalevel state space.
• Each state in a metalevel state space captures the internal
(computational) state of a program that is searching in an
object-level state space
• Each action in the metalevel state space is a computation
step that alters the internal state
• Metalevel learning algorithm can learn from the experiences to
avoid exploring unpromising subtrees
• The goal of learning is to minimize the total cost of problem
solving, trading off computational expense and path cost

You might also like