Upload
buikiet
View
216
Download
0
Embed Size (px)
Citation preview
23rd International Conference on Artificial Intelligence
Constraint Satisfaction and Fair Multi-Objective Optimization Problems:
Foundations, Complexity, and Islands of Tractability
Gianluigi Greco and Francesco Scarcello
Constraint Satisfaction Problems
• Distribute the goods/ presents to the kids
• Goods are indivisible
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
Constraint Satisfaction Problems
Variables
K1, K2, and K3
Domain
g1, g2 , …, g7
Constraints
K1 {g1, g2 , g3}
K2 {g2, g3 , g4 , g5}
K3 {g4, g5 , g6 , g7}
K1 K2, K2 K3
• Distribute the goods/ presents to the kids
• Goods are indivisible
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
Constraint Satisfaction Problems
• Distribute the goods/ presents to the kids
• Goods are indivisible
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
Solution
K1 → g2
K2 → g4
K3 → g6
Variables
K1, K2, and K3
Domain
g1, g2 , …, g7
Constraints
K1 {g1, g2 , g3}
K2 {g2, g3 , g4 , g5}
K3 {g4, g5 , g6 , g7}
K1 K2, K2 K3
Optimization Functions in CSPs
• Distribute the goods/ presents to the kids
• Goods are indivisible
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
• Kids have preferences over the presents
Valuation Function: = +
(K1/g1) = 3
(K1/g2) = 10
…
Value of the Solution
(K1/g1) + (K2/g4) + (K3/g6) = 21
Optimal (MAX) Solution
Maximizes the social welfare
3
10
6 4
2 2 3
6
9 2
2
Multi-Objective Optimization
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Different Valuations:
h is defined on Kh
Combination Strategies:
Multi-Objective Optimization
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Different Valuations:
h is defined on Kh
Combination Strategies:
MAX-SUM (social welfare)
10 2 9
Multi-Objective Optimization
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Different Valuations:
h is defined on Kh
Combination Strategies:
MAX-SUM (social welfare)
LEX
10 2 9
10 3 2
Multi-Objective Optimization
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Different Valuations:
h is defined on Kh
Combination Strategies:
MAX-SUM (social welfare)
LEX
PARETO
10 2 9
10 3 2
3 6 9 e.g.
Related Literature
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Different Valuations:
h is defined on Kh
Combination Strategies:
MAX-SUM (social welfare)
LEX
PARETO
10 2 9
10 3 2
3 6 9 e.g.
[Bistarelli et al., Rossi et al.]
[Freuder et al.]
[Torrens and Faltings]
Related Literature
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Santa’s goal is to distribute presents in a way
that the least lucky kid is as happy as possible.
Related Literature
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Santa’s goal is to distribute presents in a way
that the least lucky kid is as happy as possible. Social welfare = 19 (max 21)
Related Literature
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Santa’s goal is to distribute presents in a way
that the least lucky kid is as happy as possible.
FAIR OPTIMIZATION
MAX-MIN
[Snow and Freuder, Dubois and Fortemps, Bouveret and Lematre]
Social welfare = 19 (max 21)
Related Literature
K1 K3
g1
K2
g2 g3 g4 g5 g6 g7
3
10
6 4
2 2 3
6
9 2
2
Santa’s goal is to distribute presents in a way
that the least lucky kid is as happy as possible.
FAIR OPTIMIZATION
MAX-MIN
[Snow and Freuder, Dubois and Fortemps, Bouveret and Lematre]
Social welfare = 19 (max 21)
Limited expressiveness • functions on one variable/constraint
No complexity analysis
The Model
is a set of valuation functions
is such that
with
is a commutative, associative, and closed binary operator
The Model
is a set of valuation functions
is such that
with
is a commutative, associative, and closed binary operator
10 2 9
10 3 2
3 6 9
(possible solutions)
4 6 6
4 6 9
…
…
…
The Model
is a set of valuation functions
is such that
with
is a commutative, associative, and closed binary operator
10 2 9
10 3 2
3 6 9
(possible solutions)
4 6 6
4 6 9
…
…
…
The Model
is a set of valuation functions
is such that
with
is a commutative, associative, and closed binary operator
10 2 9
10 3 2
3 6 9
(possible solutions)
4 6 6
4 6 9
…
…
…
lex
The Model
is a set of valuation functions
is such that
with
is a commutative, associative, and closed binary operator
10 2 9
10 3 2
3 6 9
(possible solutions)
4 6 6
4 6 9
…
…
…
lex
Complexity of (LEX)MAX-MIN Solutions
Constraint satisfaction is NP-hard
Even without optimization functions…
Tractable classes of CSPs Based on the values in the constraint relations
Based on the structure of the constraint scopes
Complexity of (LEX)MAX-MIN Solutions
Constraint satisfaction is NP-hard
Even without optimization functions…
Tractable classes of CSPs Based on the values in the constraint relations
Based on the structure of the constraint scopes Treewidth [Dechter & Pearl]
Complexity of (LEX)MAX-MIN Solutions
Constraint satisfaction is NP-hard
Even without optimization functions…
Tractable classes of CSPs Based on the values in the constraint relations
Based on the structure of the constraint scopes
K1 K2
K1
K3 K2
K2 K3
Complexity of (LEX)MAX-MIN Solutions
Constraint satisfaction is NP-hard
Even without optimization functions…
Tractable classes of CSPs Based on the values in the constraint relations
Based on the structure of the constraint scopes
K1 K2
further variable/constraints K1
K3 K2
K2 K3
K4
Complexity of (LEX)MAX-MIN Solutions
Vertices correspond to the hyperedges
Each variable induces a connected subtree
K1 K2
further variable/constraints K1
K3 K2
K2 K3
K4
{K1,K2,K3}
{K1,K2} {K2,K3}
{K2,K3,K4}
Complexity of (LEX)MAX-MIN Solutions
Vertices correspond to the hyperedges
Each variable induces a connected subtree
K1 K2
further variable/constraints K1
K3 K2
K2 K3
K4
{K1,K2,K3}
{K1,K2} {K2,K3}
{K2,K3,K4}
Complexity of (LEX)MAX-MIN Solutions
Vertices correspond to the hyperedges
Each variable induces a connected subtree
K1 K2
further variable/constraints K1
K3 K2
K2 K3
K4
{K1,K2,K3}
{K1,K2} {K2,K3}
{K2,K3,K4}
Complexity of Acyclic Instances
Restrictions on
in P
[Gottlob et al.]
in P
in P in P
Dynamic programming
Complexity of Acyclic Instances
Restrictions on
in P
[Gottlob et al.]
in P
in P in P
Dynamic programming
in P
Complexity of Acyclic Instances
Restrictions on
in P weakly NP-hard
[Gottlob et al.]
• Reduction from «Partition»
• Pseudo-polynomial
in P
in P in P
Dynamic programming
in P
Complexity of Acyclic Instances
Restrictions on
in P weakly NP-hard
[Gottlob et al.]
• Reduction from «Partition»
• Pseudo-polynomial
NP-hard in P
in P
Reduction from «Set Packing»
in P
Dynamic programming
in P
Complexity of Acyclic Instances
Restrictions on
in P weakly NP-hard
[Gottlob et al.]
• Reduction from «Partition»
• Pseudo-polynomial
NP-hard in P
in P
Reduction from «Set Packing»
NP-hard
in P
Dynamic programming
in P
Complexity of Acyclic Instances
Restrictions on
in P weakly NP-hard
[Gottlob et al.]
• Reduction from «Partition»
• Pseudo-polynomial
NP-hard in P
in P
Reduction from «Set Packing»
NP-hard
in P
Dynamic programming
in P a novel machinery is needed
Guards for Valuation Functions
A set of variables W is a guard for a valuation function if
separates the hypergraph in components where its domain
variables do not occur together with any variable occurring in
other valuation functions
W
Guards for Valuation Functions
W defines 3 components
C1
C2
C3
A set of variables W is a guard for a valuation function if
separates the hypergraph in components where its domain
variables do not occur together with any variable occurring in
other valuation functions
Guards for Valuation Functions
W defines 3 components
C1
C2
C3
A set of variables W is a guard for a valuation function if
separates the hypergraph in components where its domain
variables do not occur together with any variable occurring in
other valuation functions
Guards for Valuation Functions
W defines 3 components
C1
C2
C3
covers X1, which is in the domain of
A set of variables W is a guard for a valuation function if
separates the hypergraph in components where its domain
variables do not occur together with any variable occurring in
other valuation functions
Guards for Valuation Functions
W defines 3 components
C1
C2
C3
covers X1, which is in the domain of
C2 (and C1) does not contain variables in the domain of and
A set of variables W is a guard for a valuation function if
separates the hypergraph in components where its domain
variables do not occur together with any variable occurring in
other valuation functions
Guards for Valuation Functions
W defines 3 components
C1
C2
C3
covers X1, which is in the domain of
C2 (and C1) does not contain variables in the domain of and
is a guard for ; in fact, it is also a guard for the other functions
Decomposition Methods
Common Ideas
Generalize the notion of graph or hypergraph acyclicity
Associate a width to each instance, expressing its degree of cyclicity
Polynomial time algorithms for bounded-width CSP instances, running
in O(n w+1· logn)
Bounded-width CSP instances can be recognized in polynomial time
Bounded-width decompositions can be computed in polynomial time
Noticeable Examples
Tree decompositions
(Generalized) Hypertree decompositions
Generalized Hypertree Decompositions
),','(),',()',',,,(
)','()','()',',(),(
),(),',()',',',,(),,',,(
FXBqFXBpYXYXJj
ZYhZXgZFFfZYe
ZXdZCCcFCYYSbFCXXSaans
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(J,X,Y,X’,Y’)
j(_,X,Y,_,_), c(C,C’,Z) j(_,_,_,X’,Y’), f(F,F’,Z’)
d(X,Z) e(Y,Z) h(Y’,Z’) g(X’,Z’), f(F,_,Z’)
p(B,X’,F) q(B’,X’,F)
Basic Conditions(1/2)
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(J,X,Y,X’,Y’)
j(_,X,Y,_,_), c(C,C’,Z) j(_,_,_,X’,Y’), f(F,F’,Z’)
d(X,Z) e(Y,Z) h(Y’,Z’) g(X’,Z’), f(F,_,Z’)
p(B,X’,F) q(B’,X’,F)
• We group edges
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(J,X,Y,X’,Y’)
j(_,X,Y,_,_), c(C,C’,Z) j(_,_,_,X’,Y’), f(F,F’,Z’)
d(X,Z) e(Y,Z) h(Y’,Z’) g(X’,Z’), f(F,_,Z’)
p(B,X’,F) q(B’,X’,F)
• Edges can partially be used
j(_,_,_,X’,Y’), f(F,F’,Z’)
Basic Conditions(2/2)
Connectdness Condition
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(J,X,Y,X’,Y’)
j(_,X,Y,_,_), c(C,C’,Z) j(_,_,_,X’,Y’), f(F,F’,Z’)
d(X,Z) e(Y,Z) h(Y’,Z’) g(X’,Z’), f(F,_,Z’)
p(B,X’,F) q(B’,X’,F)
Hypertree Decompositions (HTD)
a(S,X,X’,C,F), b(S,Y,Y’,C’,F’)
j(J,X,Y,X’,Y’)
j(_,X,Y,_,_), c(C,C’,Z) j(_,_,_,X’,Y’), f(F,F’,Z’)
d(X,Z) e(Y,Z) h(Y’,Z’) g(X’,Z’), f(F,_,Z’)
p(B,X’,F) q(B’,X’,F)
Does not appear in
the subtrees rooted at v
J X Y
HTD = Generalized HTD +Special Condition
Each variable not used
at some vertex v
Decomposition Methods and Guards
An instance is guarded via the given method if there is an output
Ai such that each valution function is guarded by some hyperedge
Input CSP A1 An
set of equivalent acyclic instances
Decomposition Methods and Guards
An instance is guarded via the given method if there is an output
Ai such that each valution function is guarded by some hyperedge
Input CSP A1 An
set of equivalent acyclic instances
is guarded via hypertree decomposition (width k=3)
Proof Idea
in P, if guarded via
guard for
variables in the domain of
X1
solutions with optimal values, computed via dynamic programming
Proof Idea
in P, if guarded via
guard for
variables in the domain of
X1
solutions with optimal values, computed via dynamic programming
X1 Xn
acyclic instance, with 1 function over n variables
Main Results
in P weakly NP-hard
NP-hard in P
in P
NP-hard
in P in P
(acyclic) instances of this kind are always guarded via width: h x k+1
in P, if guarded via
Main Results
in P weakly NP-hard
NP-hard in P
in P
NP-hard
in P in P
in P
(acyclic) instances of this kind are always guarded via width: h x k+1
in P, if guarded via