Title: Decomposition-based Constraint Optimization and Distributed Execution
1Decomposition-based Constraint Optimization and
Distributed Execution
- John Stedl, Tsoline Mikaelian, Martin
Sachenbacher - September 2003
2Distributed Execution
- What 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
3Distributed Execution Domains
distributed hardware components
- 1. 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
satellite constellations
rover teams on Mars
group one
group two
Tsamardinos, Muscettola, Morris, Fast
Transformations of Temporal Plans for Efficient
Execution Morris, Muscettola, Vidal,
Dynamic Control of Plans with Temporal
Uncertainty
4Distributed 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
5Enabling Distributed Mode Estimation Through
Decomposition-based Constraint Optimization
- Martin Sachenbacher
- September 2003
6Constraint Satisfaction Problems
- Domains dom(xi)
- Variables X x1, x2, , xn
- Constraints C c1, c2, , cm
- Constraint cj ? dom(xj1) ? ? dom(xjk)
y u
u
x y z
y
1 10 0
0 0 00 1 11 0 11 1 1
x
z
v
7CSP Decomposition
- Transform CSP into equivalent acyclic instance
- By combining constraints responsible for
cyclicity
Compilation
8Hypertree 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)), n?N
9Example
- Boolean Polycell (see Williams, Ragno 2003)
x
a 1
Or1
And1
b 1
f 0
y
Or2
c 1
And2
g 1
d 1
z
Or3
e 0
10Example
- 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
O1 a c x
A2 y z g
ok 1 1 1fty 1 1 0fty 1 1 1
ok 1 1 1fty 0 0 1fty 0 1 1fty 1 0
1fty 1 1 1
11Example
- Hypertree Decomposition (width 2)
?-label
?-label
O3,A1,c,e,f,x,y,z Or3,And1
Shared variables
y,z
y
c,x
O2,b,d,y Or2
A2,g,y,z And2
O1,a,c,x Or1
12Example
ok ok 1 0 0 0 1 1ok ok 1 0 0 0 0 1ok ok 1 0 0 1
0 1
O3,A1,c,e,f,x,y,z Or3,And1
y,z
y
c,x
O2,b,d,y Or2
A2,g,y,z And2
O1,a,c,x Or1
ok 1 1 1fty 1 1 1fty 1 0 1fty 1 1 0fty 1 0 0
ok 1 1 1fty 1 1 1fty 1 1 0
ok 1 1 1fty 1 1 1fty 1 1 0
13Semiring-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
14Example
- 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
O1 a c x
p
A2 y z g
.99.01.01
.995.005.005.005.005
ok 1 1 1fty 1 1 0fty 1 1 1
ok 1 1 1fty 0 0 1fty 0 1 1fty 1 0
1fty 1 1 1
15Example
ok ok 1 0 0 0 1 1ok ok 1 0 0 0 0 1ok ok 1 0 0 1
0 1
.985.985.985
O3,A1,c,e,f,x,y,z Or3,And1
y,z
y
c,x
b,d,y Or2
g,y,z And2
a,c,x Or1
ok 1 1 1fty 1 1 1fty 1 0 1fty 1 1 0fty 1 0 0
ok 1 1 1fty 1 1 1fty 1 1 0
ok 1 1 1fty 1 1 1fty 1 1 0
.99.01.01.01.01
.99.01.01
.99.01.01
16Solving Tree-Structured SCSPs
- Bottom-up phase for computing values
- Top-down phase for extracting solutions
- Polynomial in width, highly parallelizable
17Example
ok ok 1 0 0 0 1 1ok ok 1 0 0 0 0 1ok ok 1 0 0 1
0 1
.0097
.985.985
O3,A1,c,e,f,x,y,z Or3,And1
y,z
y
c,x
b,d,y Or2
g,y,z And2
a,c,x Or1
ok 1 1 1fty 1 1 1fty 1 0 1fty 1 1 0fty 1 0 0
ok 1 1 1fty 1 1 1fty 1 1 0
ok 1 1 1fty 1 1 1fty 1 1 0
.99.01.01.01.01
.99.01.01
.99.01.01
18Bottom-Up Phase
- Function solve(node)
- For Each tuple ? node.relation
- For Each child ? node.children
- childTuple ? findBestConsistentTuple(c(child),t
uple) - If childTuple ? Then
- c(node) ? c(node) \ tuple
- Else value(tuple) ? value(tuple) ?
value(childTuple) - End If
- Next child
- Next tuple
Dynamic Programming
19Top-Down Solution Expansion
(True, 0)
(O3A1cxyz ok ok 1011, 0.0097)
Or3,And1
And2
(O3A1A2cxy ok ok ok 111, 0.0097)
Or2
(O2O3A1A2cx ok ok ok ok 11, 0.0097)
Or1
(O1O2O3A1A2 fty ok ok ok ok, 0.0097)
20Discussion
- Conclusion
- Search-free
- Highly parallelizable
- Tractable, if HT-width bounded
- Current Work
- Extension to best-first enumeration
- Extension to symbolic encoding
21Material
- CSP Decomposition Methods
22CSP 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
-