22
Decomposition-based Decomposition-based Constraint Optimization and Constraint Optimization and Distributed Execution Distributed Execution John Stedl, Tsoline Mikaelian, Martin Sachenbacher September 2003

Decomposition-based Constraint Optimization and Distributed Execution

  • Upload
    karlyn

  • View
    44

  • Download
    0

Embed Size (px)

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

Page 1: Decomposition-based  Constraint Optimization and  Distributed Execution

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MaterialMaterial

CSP Decomposition Methods

Page 22: Decomposition-based  Constraint Optimization and  Distributed Execution

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