decomposition-based constraint optimization and distributed execution
DESCRIPTION
Decomposition-based Constraint Optimization and Distributed Execution. John Stedl, Tsoline Mikaelian, Martin Sachenbacher September 2003. Distributed Execution. What is Distributed Execution? Each agent maintains a subset of the plan - PowerPoint PPT PresentationTRANSCRIPT
Decomposition-based Decomposition-based Constraint Optimization and Constraint Optimization and Distributed ExecutionDistributed Execution
John Stedl, Tsoline Mikaelian, Martin SachenbacherSeptember 2003
Distributed ExecutionDistributed ExecutionWhat is Distributed Execution?
– Each agent maintains a subset of the plan– Each agent operates autonomously using communication
to coordinate activities– Two phases:
reformulation phase to create dispatchable plan ( all agents can communicate )
temporally flexible execution of the dispatchable plan (communication may be limited )
Motivation– Reduced communication vs. a leader-follower
architecture– If agent-agent communication is limited , we need to
perform distributed execution– Reduces computation and memory requirements for
individual agent– Increase robustness ( no single point of failure )
Approach– Use intelligent distributed algorithm selection to map
centralized algorithm for STNs and STNUs in to distributed plan running algorithms
– sub-divide the problem into smaller pieces when necessary
distributed STN
Distributed Execution DomainsDistributed Execution Domains1. Full Communication and No-Uncertainty
• Use distributed versions of classical STN reformulation and dispatching algorithms*
2. Full Communication with Uncertainty• Use distributed versions of the Dynamic
Controllability algorithms for STNUs and associated dispatching algorithm**
3. Limited Communication with Uncertainty• sacrifice some temporal flexibility in plan to make
problem easier• Break up the plan into a “natural” two-level
Hierarchy where based on communication constraints such that
agents within a sub-plan are free to communicate no communication allowed between different sub-plans
• Leverage work on strong and dynamic controllability
* Tsamardinos, Muscettola, & Morris, “Fast Transformations of Temporal Plans for Efficient Execution”** Morris, Muscettola, & Vidal, “Dynamic Control of Plans with Temporal Uncertainty”
rover teams on Mars
satellite constellations
distributed hardware components
group one group two
Distributed Mode EstimationDistributed Mode Estimation Based on centralized N-Step mode estimation, framed as an OCSP. Solve the OCSP using hypertree decomposition Exploit tree decomposition for distributed problem solving Distributed ME process:
Plant ModelCCA
observations commands
HypertreeDecomposition
Distributed algorithm for solution extraction
Offline compilation phase Online solution phase
Constraint Hypergraph
Dynamic Programming
U1,U2,U3,…
Enabling Distributed Mode Estimation Enabling Distributed Mode Estimation Through Decomposition-based Through Decomposition-based Constraint OptimizationConstraint Optimization
Martin SachenbacherSeptember 2003
Constraint Satisfaction ProblemsConstraint Satisfaction Problems
Domains dom(xi)
Variables X = x1, x2, …, xn
Constraints C = c1, c2, …, cm
Constraint cj dom(xj1) … dom(xjk)
x y z
0 0 00 1 11 0 11 1 1
y u
1 10 0
y
z v
x
u
CSP DecompositionCSP Decomposition
Transform CSP into equivalent acyclic instance By combining constraints responsible for cyclicity
“Compilation”
Hypertree DecompositionHypertree Decomposition
See Gottlob et al., Artificial Intelligence 124(2000) Tree T = (N,E) with labeling functions , such that:
– For each cj C, there is at least one n N such that scope(cj) (n) (“covering”)
– For each variable xi X, the set {n N | xi (n)} induces a connected subtree of T (“connectedness”)
– For each n N, (n) scope((n))
– For each n N, scope((n)) (Tn) (n), where Tn is the subtree of T rooted at n
HT-width of a hypertree decomposition is defined as max(|(n)|), nN
ExampleExample
Boolean Polycell (see Williams, Ragno 2003)
And1
And2
f = 0
Or2
g = 1
Or1
Or3
x
y
z
b = 1
d = 1
a = 1
e = 0
c = 1
ExampleExample
Variables– a, b, c, d, e, f, g, x, y, z with domain {0,1}– O1, O2, O3, A1, A2 with domain {ok,fty}
Constraints– Or1(O1,a,c,x), Or2(O2,b,d,y), Or3(O3,c,e,z) model or-gates– And1(A1,x,y,f), And2(A2,y,z,g) model and-gates
A2 y z g
ok 1 1 1fty 0 0 1fty 0 1 1fty 1 0 1fty 1 1 1
O1 a c x
ok 1 1 1fty 1 1 0fty 1 1 1
ExampleExample
Hypertree Decomposition (width 2)
{O3,A1,c,e,f,x,y,z} {Or3,And1}
{A2,g,y,z} {And2} {O1,a,c,x} {Or1}{O2,b,d,y} {Or2}
y,z y c,x
-label-label
Shared variables
ExampleExample
Resulting acyclic CSP
ok 1 1 1fty 1 1
1fty 1 0
1fty 1 1
0fty 1 0
0
ok ok 1 0 0 0 1 1ok ok 1 0 0 0 0 1ok ok 1 0 0 1 0 1
…
ok 1 1 1fty 1 1
1fty 1 1
0
ok 1 1 1fty 1 1
1fty 1 1
0
{O3,A1,c,e,f,x,y,z} {Or3,And1}
{A2,g,y,z} {And2} {O1,a,c,x} {Or1}{O2,b,d,y} {Or2}
y,z y c,x
Semiring-CSPs and OptimizationSemiring-CSPs and Optimization
Domains dom(xi)
Variables X = x1, x2, …, xn
Constraints C = c1, c2, …, cm
Set S, Constraint ci : dom(xi1) … dom(xik) S Operators (defines projection) and (defines join)
on S with neutral elements 0 and 1 (S, , , 0, 1) forms semiring structure Type T V specifies variables appearing in solutions
ExampleExample
Boolean Polycell with probabilities– Or-gates: p(ok)=.99, p(fty)=.01– And-gates: p(ok)=.995, p(fty)=.005– Semiring ([0,1], max, *, 0, 1)– T = {O1,O2,O3,A1,A2}
p
.99
.01
.01
O1 a c x
ok 1 1 1fty 1 1 0fty 1 1 1
p
.995
.005
.005
.005
.005
A2 y z g
ok 1 1 1fty 0 0 1fty 0 1 1fty 1 0 1fty 1 1 1
ExampleExample
Resulting acyclic SCSP
ok 1 1 1fty 1 1
1fty 1 0
1fty 1 1
0fty 1 0
0
ok ok 1 0 0 0 1 1ok ok 1 0 0 0 0 1ok ok 1 0 0 1 0 1
…
ok 1 1 1fty 1 1
1fty 1 1
0
ok 1 1 1fty 1 1
1fty 1 1
0
{O3,A1,c,e,f,x,y,z} {Or3,And1}
{g,y,z} {And2} {a,c,x} {Or1}{b,d,y} {Or2}
y,z y c,x
.99
.01
.01
.01
.01
.99
.01
.01
.99
.01
.01
.985
.985
.985…
Solving Tree-Structured SCSPsSolving Tree-Structured SCSPs
Bottom-up phase for computing values Top-down phase for extracting solutions Polynomial in width, highly parallelizable
ExampleExample
Bottom-Up Phase
ok 1 1 1fty 1 1
1fty 1 0
1fty 1 1
0fty 1 0
0
ok ok 1 0 0 0 1 1ok ok 1 0 0 0 0 1ok ok 1 0 0 1 0 1
…
ok 1 1 1fty 1 1
1fty 1 1
0
ok 1 1 1fty 1 1
1fty 1 1
0
{O3,A1,c,e,f,x,y,z} {Or3,And1}
{g,y,z} {And2} {a,c,x} {Or1}{b,d,y} {Or2}
y,z y c,x
.99
.01
.01
.01
.01
.99
.01
.01
.99
.01
.01
.0097
.985
.985…
Bottom-Up PhaseBottom-Up Phase
Function solve(node)For Each tuple node.relation
For Each child node.children
childTuple findBestConsistentTuple(c(child),tuple)
If childTuple = Then
c(node) c(node) \ { tuple }
Else value(tuple) value(tuple) value(childTuple)
End If
Next child
Next tuple
Dynamic Programming
Top-Down Solution ExpansionTop-Down Solution Expansion
{Or3,And1}
{And2}
{Or1}
{Or2}
(True, 0)
(O3A1cxyz = ok ok 1011, 0.0097)
(O1O2O3A1A2 = fty ok ok ok ok, 0.0097)
…
…(O3A1A2cxy = ok ok ok 111, 0.0097)
(O2O3A1A2cx = ok ok ok ok 11, 0.0097)…
…
DiscussionDiscussion
Conclusion– Search-free– Highly parallelizable– Tractable, if HT-width bounded
Current Work– Extension to best-first enumeration– Extension to symbolic encoding
MaterialMaterial
CSP Decomposition Methods
CSP Decomposition MethodsCSP Decomposition Methods
Biconnected Components [Freuder ’85] Treewidth [Robertson and Seymour ’86] Tree Clustering [Dechter Pearl ’89] Cycle Cutset [Dechter ’92] Bucket Elimination [Dechter ‘97] Tree Clustering with Minimization [Faltings ’99] Hinge Decomposition [Gyssens and Paredaens ’84] Hypertree Decomposition [Gottlob et al. ’99] …