Decomposition-based Constraint Optimization and Distributed Execution

Preview:

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 Presentation

Citation preview

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] …

Recommended