An Efficient Framework For Performing Execution-Constraint-Sensitive Transformations That
Decomposition-based Constraint Optimization and Distributed Execution
description
Transcript of Decomposition-based Constraint Optimization and Distributed Execution
![Page 1: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/1.jpg)
Decomposition-based Decomposition-based Constraint Optimization and Constraint Optimization and Distributed ExecutionDistributed Execution
John Stedl, Tsoline Mikaelian, Martin SachenbacherSeptember 2003
![Page 2: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/2.jpg)
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
![Page 3: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/3.jpg)
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
![Page 4: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/4.jpg)
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,…
![Page 5: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/5.jpg)
Enabling Distributed Mode Estimation Enabling Distributed Mode Estimation Through Decomposition-based Through Decomposition-based Constraint OptimizationConstraint Optimization
Martin SachenbacherSeptember 2003
![Page 6: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/6.jpg)
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
![Page 7: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/7.jpg)
CSP DecompositionCSP Decomposition
Transform CSP into equivalent acyclic instance By combining constraints responsible for cyclicity
“Compilation”
![Page 8: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/8.jpg)
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
![Page 9: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/9.jpg)
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
![Page 10: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/10.jpg)
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
![Page 11: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/11.jpg)
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
![Page 12: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/12.jpg)
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
![Page 13: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/13.jpg)
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
![Page 14: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/14.jpg)
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
![Page 15: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/15.jpg)
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…
![Page 16: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/16.jpg)
Solving Tree-Structured SCSPsSolving Tree-Structured SCSPs
Bottom-up phase for computing values Top-down phase for extracting solutions Polynomial in width, highly parallelizable
![Page 17: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/17.jpg)
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…
![Page 18: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/18.jpg)
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
![Page 19: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/19.jpg)
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)…
…
![Page 20: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/20.jpg)
DiscussionDiscussion
Conclusion– Search-free– Highly parallelizable– Tractable, if HT-width bounded
Current Work– Extension to best-first enumeration– Extension to symbolic encoding
![Page 21: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/21.jpg)
MaterialMaterial
CSP Decomposition Methods
![Page 22: Decomposition-based Constraint Optimization and Distributed Execution](https://reader035.fdocuments.in/reader035/viewer/2022062221/5681457d550346895db252f5/html5/thumbnails/22.jpg)
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] …