SLIDE 1 On Guaranteeing Polynomially Bounded Search Tree Size
D.Cohen1 M.Cooper2 M.Green1 D.Marx3
- Dept. of Computer Science, Royal Holloway, University of London, UK
IRIT, University of Toulouse III, 31062 Toulouse, France Institut für Informatik, Humboldt-Universität zu Berlin, Germany
The 17th International Conference on Principles and Practice of Constraint Programming, 2011
SLIDE 2
Outline
1
Background
2
Motivation
3
(Incrementally) Function
4
k-Turan
5
Where now?
SLIDE 3 Two reasons for tractability
small representation of the (partial) solution sets.
SLIDE 4 Two reasons for tractability
small representation of the (partial) solution sets.
A local (bounded width) decision procedure.
SLIDE 5 Two reasons for tractability
small representation of the (partial) solution sets.
A local (bounded width) decision procedure.
Example
Linear Equations.
Bounded treewidth, Max-closed languages.
SLIDE 6
Small representations
How? How can we find new tractable classes which are tractable because their solution sets have a small representation?
SLIDE 7
Small representations
How? How can we find new tractable classes which are tractable because their solution sets have a small representation? Its Obvious Polynomially many solutions!
SLIDE 8
Small representations
How? How can we find new tractable classes which are tractable because their solution sets have a small representation? Its Obvious Polynomially many solutions! . . . but Does not work. Such constraint networks are not recognisable
SLIDE 9 A General Framework
Theorem Let P = V, D, C be any constraint network with variable
- rdering x1 < x2 < . . . < xn such that the induced network
P[{x1, . . . , xi}] can be solved in time p(|P[{x1, . . . , xi}]|). All solutions to P can be enumerated in time p(|P|).|P|2.
SLIDE 10 A General Framework
Theorem Let P = V, D, C be any constraint network with variable
- rdering x1 < x2 < . . . < xn such that the induced network
P[{x1, . . . , xi}] can be solved in time p(|P[{x1, . . . , xi}]|). All solutions to P can be enumerated in time p(|P|).|P|2. . . . and a well-known example Grohe, Marx (2006): The number of solutions to a constraint network of size A is at most Aw, where w is the width of a fractional edge cover. This works because an induced network cannot increase the required fractional edge cover.
SLIDE 11 Functional
Definition A constraint σ, ρ is functional on variable i ∈ σ if ρ contains no two tuples differing only at variable i. A constraint network P is functional if there exists a variable
- rdering such that, for all i ∈ {1, . . . , n}, there is some
constraint of P[{x1, . . . , xi}] that is functional on xi.
SLIDE 12 Functional
Definition A constraint σ, ρ is functional on variable i ∈ σ if ρ contains no two tuples differing only at variable i. A constraint network P is functional if there exists a variable
- rdering such that, for all i ∈ {1, . . . , n}, there is some
constraint of P[{x1, . . . , xi}] that is functional on xi. Example Variables: {x1, . . . , x4}. Domain: Integers modulo 7 ({0, . . . , 6}). Constraints: x1 = 4, 2x1 + x2 = 5, 3x1 + 4x2 + x3 = 2 and x1 + x2 + x3 + x4 = 0. Ordering: x1 < x2 < x3 < x4. Solution (unique): x1 = 4, x2 = 4, x3 = 2, x4 = 4.
SLIDE 13
. . . and a new one
Definition A constraint network P is incrementally functional if there is an ordering of its variables such that for all i ∈ {1, . . . , n − 1}, each solution to P[{x1, . . . , xi}] extends to at most one solution to P[{x1, . . . , xi+1}].
SLIDE 14
. . . and a new one
Definition A constraint network P is incrementally functional if there is an ordering of its variables such that for all i ∈ {1, . . . , n − 1}, each solution to P[{x1, . . . , xi}] extends to at most one solution to P[{x1, . . . , xi+1}]. Theorem Given a constraint network P = V, D, C, it is possible to find in polynomial time the maximum-cardinality set M ⊆ V such that P[M] is incrementally functional.
SLIDE 15
. . . and a new one
Definition A constraint network P is incrementally functional if there is an ordering of its variables such that for all i ∈ {1, . . . , n − 1}, each solution to P[{x1, . . . , xi}] extends to at most one solution to P[{x1, . . . , xi+1}]. logarithmically close The class of networks which are “nearly” incrementally functional is tractable.
SLIDE 16 . . . and a surprising negative one
Definition In a constraint network P = V, D, C, a root set is a subset Q
- f the variables for which there exists a variable ordering
x1 < x2 < . . . < xn such that, for all i ∈ V − Q, there is some constraint of P[{x1, . . . , xi}] that is functional on xi.
SLIDE 17 . . . and a surprising negative one
Definition In a constraint network P = V, D, C, a root set is a subset Q
- f the variables for which there exists a variable ordering
x1 < x2 < . . . < xn such that, for all i ∈ V − Q, there is some constraint of P[{x1, . . . , xi}] that is functional on xi. Theorem The problem of finding a minimum-cardinality root set in a ternary constraint network is NP-hard. Proven by a reduction from MAX-CLIQUE
SLIDE 18 . . . and a surprising negative one
Definition In a constraint network P = V, D, C, a root set is a subset Q
- f the variables for which there exists a variable ordering
x1 < x2 < . . . < xn such that, for all i ∈ V − Q, there is some constraint of P[{x1, . . . , xi}] that is functional on xi. logarithmically close The class of networks which are “nearly” incrementally functional is tractable. The (smaller) class of networks with a “small” root set is (probably) not tractable.
SLIDE 19
Can we do it any other way?
Is this the end - my friend Is there another way - other than by the use of functional constraints or fractional edge covers?
SLIDE 20
Can we do it any other way?
Is this the end - my friend Is there another way - other than by the use of functional constraints or fractional edge covers? . . . another well-known result A k-SAT instance in which every set of k variables occurs in a clause has at most nk satisfying assignments.
SLIDE 21
k-Turan
Definition A set σ represents another set τ if σ is contained in τ. An (n, k)-Turan system is a collection of subsets of the n-element set χ representing every k-element subset of χ.
SLIDE 22
k-Turan
Definition A set σ represents another set τ if σ is contained in τ. An (n, k)-Turan system is a collection of subsets of the n-element set χ representing every k-element subset of χ. Definition An n-variable constraint network over domain D is said to be k-Turan if the scopes of the constraints σ, ρ for which: ∀a, b ∈ D, [a, b]|σ| ⊆ ρ are an (n, k)-Turan system.
SLIDE 23
k-Turan tractability
Theorem For any domain D and fixed k, the class of k-Turan constraint networks is tractable.
SLIDE 24
k-Turan examples
Example (Folklore, Mists of Time) The class of k-SAT instances where every k-tuple is restricted by a k-clause.
SLIDE 25
k-Turan examples
Example (Folklore, Mists of Time) The class of k-SAT instances where every k-tuple is restricted by a k-clause. Example (David, 1995) Constraint networks that have a functional constraint for every scope of arity k.
SLIDE 26
k-Turan examples
Example (Folklore, Mists of Time) The class of k-SAT instances where every k-tuple is restricted by a k-clause. Example (David, 1995) Constraint networks that have a functional constraint for every scope of arity k. Example (NEW!) Variables: {1, . . . , n}. Scopes: pairs with the same parity. Constraints: only disallow d − 1 tuples - 2, 2 , . . . , d, d.
SLIDE 27
Where now?
(Strong) Polynomially many Solutions
SLIDE 28
Where now?
(Strong) Polynomially many Solutions Structural: Fractional edge covers of weight at most k. Very large scopes, no limit on the relations.
SLIDE 29
Where now?
(Strong) Polynomially many Solutions Structural: Fractional edge covers of weight at most k. Very large scopes, no limit on the relations. Hybrid: Nearly incrementally functional. Functional constraints are realistic. Nice Theory.
SLIDE 30
Where now?
(Strong) Polynomially many Solutions Structural: Fractional edge covers of weight at most k. Very large scopes, no limit on the relations. Hybrid: Nearly incrementally functional. Functional constraints are realistic. Nice Theory. Hybrid: k-Turan for a fixed domain. Constraints are realistic. Scopes need not be large. Needs many scopes.
SLIDE 31
Where now?
(Strong) Polynomially many Solutions Structural: Fractional edge covers of weight at most k. Very large scopes, no limit on the relations. Hybrid: Nearly incrementally functional. Functional constraints are realistic. Nice Theory. Hybrid: k-Turan for a fixed domain. Constraints are realistic. Scopes need not be large. Needs many scopes. . . .