SetA - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

SetA

Description:

SetA – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 20
Provided by: lwcp
Category:
Tags: seta | seta

less

Transcript and Presenter's Notes

Title: SetA


1
SetA
  • An Efficient BDD-Based Heuristic Search Algorithm

2
BDD-based Search
  • Binary Decision Diagram
  • A BDD is a directed acyclic graph representing a
    Boolean function
  • Each state is encoded as a bit vector

3
G
c
h0 (0,1)
(1,1) h0
b
d
a
h1 (0,0)
(1,0) h1
i
4-tuple represents search problems (S, T, i,
G) S set of states T transition
function i initial state G goal states
T(so, s1, s?0, s?1) ?s0 ? ? s1 ? s?0 ? ?
s?1 ? ?s0 ? ? s1 ? ? s?0 ? s?1 ? ?s0 ? s1 ?
s?0 ? s?1 ? s0 ? s1 ? s?0 ? ? s?1
We want to get from the start state, i, to the
goal state, G
4
(No Transcript)
5
Problems with BDD Search
  • Intermediate BDDs tend to be large compared to
    the BDD representing the result
  • Can be solved with disjunctive partitioning

6
SetA
  • Generalization of weighted A
  • f(1-w)g wh, w ? 0,1
  • Assumes finite search domain and unit-cost
    transitions
  • Expands a set of states instead of just a single
    state
  • Input is an improvement partitioning (i.e.) the
    h-value is reduced by the same amount

7
SetA Data Structures
  • Priority Queue and Reach Structure
  • Each node in the queue contains a BDD
    representing the states with particular g and h
    values
  • Lowest f-value has highest priority
  • Lowest h-value breaks ties
  • Upper bound limits the size nodes
  • Reach structure is for loop detection

8
SetA Algorithm
  • Insert initial state onto queue
  • Compute h-value on initial state
  • Loop until queue is empty or reached goal
  • Pop node of queue
  • Find the image of it and the Improvement function
  • Prune states seen before
  • Path is extracted by applying transitions
    backwards

9
Function SetA(IP, init, goal, u,
w) Q.initialize(u,w,goal) g lt- 0 h lt-
h(init) Q.insert(init, g, h) R.update(init,
g) while ?Q.empty() and ?Q.topAtGoal() top lt-
Q.pop() for j 0 to IP next lt- image(top,
IPj) R.prune(next) g lt- top.g 1 h lt-
top.h impr(IPj) Q.insert(next, g,
h) R.update(next, g) if Q.empty() then
NoPathExists else R.extractPath()
10
Weight
  • For w 0.5 SetA behaves like A
  • For w 0.0 SetA behaves like best-first search
  • For w 1.0 SetA behaves like breadth-first
    search
  • Can be used to compensate for a bad heuristic

11
Improvement Partitioning
  • A disjunctive partitioning where the transitions
    of a partition will reduce the h-value by the
    same amount
  • The improvement partitioning is non-trival to
    compute
  • Only needs to be computed once, prior to the
    search

12
Intro to IGk problem
  • A state is a set of facts and an action is a
    triple sets of facts
  • Actions are (pre, add, del)
  • Solution is non-trivial to find since the
    heuristic gives no information to guide the
    search for the first k steps

13
IGK
14
Intro to DxVyMz
  • A set of sliders are moved between the corner
    positions of hyercubes
  • A corner can be occupied by at most one slider
  • Dimension of the hyercube is y
  • There are z sliders
  • x sliders are on the same cube

15
Example D5V3M7
?
?
?
?
?
?
?
16
DxV4M15
17
Gripper Experiment
18
Logistics Experiment
19
Conclusion
  • Successfully combined BDD-based search and
    heuristic search
  • Several order of magnitude faster than BDD based
    breadth-first search and A
  • However, success may be due to an inherent
    simplicity of the benchmark domains when using
    the right heuristics
Write a Comment
User Comments (0)
About PowerShow.com