algorithmes et complexit des probl mes de … et complexit´e des probl`emes de satisfaction de...

30
Algorithmes et Complexit´ e des Probl` emes de Satisfaction de Contraintes (cours n o 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´ Ecole Polytechnique [email protected] Miki Hermann Algorithmes et complexit´ e des csp (1) 1 / 30

Upload: hoangtuyen

Post on 15-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Algorithmes et Complexite desProblemes de Satisfaction de Contraintes

(cours no 1)

Nicolas (Miki) HermannManuel Bodirsky

LIX, Ecole Polytechnique

[email protected]

Miki Hermann Algorithmes et complexite des csp (1) 1 / 30

Notes de cours

Les transparents seront disponibles sur la page web

http://www.lix.polytechnique.fr/~hermann/teaching.html

en format PDF.

Il suffit de chercher Miki Hermann sous Google, puis aller sur ma pageweb et cliquer sur le lien teaching.

Si vous avez des questions plus tard, envoyez-moi un corrier electroniqueavec la mention [mpri] au debut du sujet du message.

Miki Hermann Algorithmes et complexite des csp (1) 2 / 30

Bibliographie

E. Bohler, N. Creignou, S. Reith, and H. Vollmer.Playing with Boolean blocks, part I : Post’s lattice with applicationsto complexity theory.SIGACT News, Complexity Theory Column 42, 34(4) :38–52, 2003.

E. Bohler, N. Creignou, S. Reith, and H. Vollmer.Playing with Boolean blocks, part II : Constraint satisfactionproblems.SIGACT News, Complexity Theory Column 43, 35(1) :22–35, 2004.

N. Pippenger.Theories of Computability.Cambridge University Press, Cambridge, 1997.

T. J. Schaefer.The complexity of satisfiability problems.In Proceedings 10th Symposium on Theory of Computing(STOC’78), San Diego (California, USA), pages 216–226, 1978.

Miki Hermann Algorithmes et complexite des csp (1) 3 / 30

Prerequis

construction et analyse d’algorithmes,

complexite des problemes de decision, P, NP, coNP, . . .

Miki Hermann Algorithmes et complexite des csp (1) 4 / 30

Motivation

Rationale

Beaucoup de problemes algorithmique de decision peuvent etre(re)formules en tant que problemes de satisfaction de contraintes (csp).Il est donc preferable et souhaitable de developper et utiliser une theorieuniforme des csp pour pouvoir dire immediatement si l’instanceparticuliere d’un probleme algorithmique donne est facile (polynomiale)ou difficile (NP-complet) a resoudre.

Exemple

Le probleme d’affectation de frequences peut etre presente commek-coloriage.

La correction d’un processeur (Intel ou AMD) est systematiquementpresente en forme d’un probleme de satisfaction d’une formulepropositionnelle en forme normale conjonctive (1000 clauses et 350variables).

C’est l’un des approches serieux pour resoudre la question P 6= NP.

Miki Hermann Algorithmes et complexite des csp (1) 5 / 30

But de ce cours

Vous presenter cette theorie.

Vous apprendre vous en servir.

Vous motiver de faire la recherche dans ce domaine.

Miki Hermann Algorithmes et complexite des csp (1) 6 / 30

Domaines et Relations

Definition

Un domaine est un ensemble fini D d’elements, d’habitudeD = {0, . . . , n − 1}.

Cardinalite du domaine est note par |D| = n.

Une relation R d’arite ar(R) = k sur D est un sous-ensemble R ⊆ Dk.

Attention

Ne pas confondre cardinalite du domain D et arite de la relation R !

Miki Hermann Algorithmes et complexite des csp (1) 7 / 30

Contrainte et Satisfaction

Definition

Une contrainte est une application R(~x) de la relation R (d’arite k) surun vecteur de variables ~x = (x1, . . . , xk).

Attention

Une relation R peut donner lieu a plusieurs contraintes :

R(x, y) et R(y, x) sont des contraintes differentes

Miki Hermann Algorithmes et complexite des csp (1) 8 / 30

Contrainte et Satisfaction

Definition

Une valuation est une function I : V → D qui instancie chaque variablex ∈ V par une valeur du domaine I(x) ∈ D.

Une valuation I satisfait la contrainte R(x1, . . . , xk) si(I(x1), . . . , I(xk)) ∈ R, note par I |= R(x1, . . . , xk).

Un modele m de la contrainte R(x1, . . . , xk) est une valuation m quisatisfait R(x1, . . . , xk).

Convention

Si le vecteur de variables ~x = (x1, . . . , xk) est fixe, on associe unmodele m avec le vecteur m = (m[1], . . . ,m[k]), tel que m(xi) = m[i]pour chaque i.

Miki Hermann Algorithmes et complexite des csp (1) 9 / 30

Exemple de contraintes

Egalite et inegalite

Domaine D = {0, . . . , n − 1} :

eq = {00, 11, . . . , (n − 1)(n − 1)}

neq = D2r eq

Vecteur 33 satisfait eq(x, y), mais pas neq(x, y).

Un-parmi-trois et pas-tous-egaux

Domaine D = {0, 1} :

nae = D3r {000, 111}

1-in-3 = {100, 010, 001}

Vecteur 101 satisfait nae(x, y, z) mais pas 1-in-3(x, y, z).

Miki Hermann Algorithmes et complexite des csp (1) 10 / 30

Exercice

Exercice 1

Construisez la relation adn (all different), dont l’arite est egale a lacardinalite du domaine et qui satisfait pour chaque vecteur m ∈ adn lacondition

∀i∀j i 6= j implique m[i] 6= m[j]

pour les domaines suivants :

1 D = {0, 1},

2 D = {0, 1, 2},

3 D = {0, 1, 2, 3, 4},

4 D = {0, . . . , p − 1}, p premier.

A quoi ressemble la contrainte adn(x1, . . . , xn) ?

Miki Hermann Algorithmes et complexite des csp (1) 11 / 30

Probleme de Satisfaction de Contraintes

Probleme csp

Entree: Un domaine fini D, un ensemble de variables V et un ensemblefini de contraintes C = {R1(~x1), . . . , Rp(~xp)} sur D et V .

Question: L’ensemble de contraintes C est-il satisfaisable, c.-a-d.existe-t-il une valuation m : V → D qui satisfait toutes les contraintesRj(~xj) ∈ C ?

Miki Hermann Algorithmes et complexite des csp (1) 12 / 30

3-coloriage comme contrainte

Probleme 3col

Entree: Un graphe G = (V,E) avec les sommets V et les aretes E.

Question: Existe-t-il une fonction f : V → {0, 1, 2} telle que f(x) 6= f(y)si (x, y) ∈ E ?

Explication

Domaine D = {0, 1, 2}.

Relation 3col = D2r {00, 11, 22} = {01, 02, 10, 12, 20, 21}

Pour chaque arete (x, y) ∈ E l’ensemble C contient la contrainte3col(x, y) : C = {3col(x, y) | (x, y) ∈ E}.

Le probleme csp(D,V,C) est satisfaisable si et seulement si on peut3-colorier le graphe G.

Miki Hermann Algorithmes et complexite des csp (1) 13 / 30

Exemple de 3-coloriage

Le graphe G suivant est-il 3-coloriable ?

1 2

3 4

csp correspondant

Domaine D = {r, g, b}

V = {x1, x2, x3, x4}

C = {3col(x1, x2), 3col(x1, x3), 3col(x2, x3), 3col(x2, x4), 3col(x3, x4)}

Miki Hermann Algorithmes et complexite des csp (1) 14 / 30

Exemple de 3-coloriage

Solution

OUI

Le graphe G suivant est 3-coloriable

1 2

3 4

Explication

Le modele m = (r, g, b, r) pour le vecteur ~x = (x1, x2, x3, x4) satisfaitl’ensemble de contraintes

C = {3col(x1, x2), 3col(x1, x3), 3col(x2, x3), 3col(x2, x4), 3col(x3, x4)}

Miki Hermann Algorithmes et complexite des csp (1) 15 / 30

Parametrisation des csp

Domaine D est fixee

On dispose d’un ensemble infinit et denombrable de variables V

Classe de problemes parametree par un ensemble de relations S

Probleme csp(S)

Entree: Un ensemble fini de contraintes C = {R1(~x1), . . . , Rp(~xp)}sur D et V , ou Rj ∈ S pour chaque j.

Question: L’ensemble de contraintes C est-il satisfaisable, c.-a-d.existe-t-il une valuation m : V → D qui satisfait toutes les contraintesRj(xj) ∈ C ?

But

Classifier la complexite des csp(S) selon les ensembles de relations S

Miki Hermann Algorithmes et complexite des csp (1) 16 / 30

Complexite des csp

Theorem (Appartenance a NP)

csp(S) appartient a la classe de complexite NP pour chaque ensemble derelations S.

Demonstration.

Pour un domaine D et un ensemble de variables V utilisees dans lescontraintes du probleme il y a |D|

|V |(un nombre fini) valuations

possibles. Ayant choisi une valuation au hasard, nous pouvons verifier sielle satisfait toutes les contraintes de l’ensemble C en tempspolynomial.

Miki Hermann Algorithmes et complexite des csp (1) 17 / 30

Complexite des csp . . .

Theoreme de Ladner

Selon le choix de l’ensemble de relations S, csp(S) peut etre

NP-complet

polynomial, i.e., dans P

flottant, ni NP-complet, ni dans P, a condition que P 6= NP

3col vs 2col

csp(3col) est NP-complet.

Par contre, csp(2col) pour le domaine D = {r, b} et la relation2col = {rb, br} est polynomial. On va voir la preuve pour cette derniereplus tard.

Miki Hermann Algorithmes et complexite des csp (1) 18 / 30

csp booleens

Convention

A partir de maintenant (pour ce cours), le domaine est toujours ledomaine booleen D = {0, 1}.

Avantage

Il existe une correspondance entre les ensembles de contraintes, construitssur les relations R ∈ S et les formules ϕ en forme normale conjonctive.Nous pouvons donc caracteriser les relations booleennes par des formules.Nous pouvons aussi caracteriser les formules par des relations booleennes.

Miki Hermann Algorithmes et complexite des csp (1) 19 / 30

Formules en cnf et dnf

cnf (conjunctive normal form) = forme normale conjonctive

Un litteral est une variable x ou sa negation ¬x.Une clause est une disjonction de litteraux.Une formule en cnf est conjonction de clauses.

dnf (disjunctive normal form) = forme normale disjonctive

Un terme est une conjonction de litteraux.Une formule en dnf est une disjonction de termes.

Miki Hermann Algorithmes et complexite des csp (1) 20 / 30

Satisfaisabilite de formules en cnf

Probleme sat

Entree: Un ensemble de variables V et une formule ϕ en cnf sur V .

Question: La formule ϕ est-elle satisfaisable, c.-a-d. existe-t-il unevaluation I : V → {0, 1} qui evalue la formule ϕ a 1 ?

Theorem (Cook 1970)

Le probleme de decision sat est NP-complet.

Question

Y-a-t-il un moyen de reformuler sat en csp ?

Miki Hermann Algorithmes et complexite des csp (1) 21 / 30

sat comme csp

Pour sat c’est difficile, car nous avons besoin d’un ensemble infini derelations S. Mais il existe un autre probleme plus adapte.

Probleme 3sat

Entree: Un ensemble de variables V et une formule ϕ en CNF sur V avecau plus trois litteraux par clause.

Question: La formule ϕ est-elle satisfaisable ?

Theorem (Cook 1970)

Le probleme de decision 3sat est NP-complet.

Miki Hermann Algorithmes et complexite des csp (1) 22 / 30

De sat au 3sat

3sat est NP-complet

3sat appartient a la classe NP. La reduction de sata 3sat est basee surla possibilite de raccourcir une clause en la transformant en conjonctionde nouvelles clauses plus courtes.

Principe divide et impera

La clause (l1 ∨ l2 ∨ c) est logiquement equivalente a la conjonction declauses (l1 ∨ l2 ∨ x) ∧ (¬x ∨ c), ou x est une nouvelle variable.Formellement

l1 ∨ l2 ∨ c = ∃x (l1 ∨ l2 ∨ x) ∧ (¬x ∨ c)

Autrement dit . . .

La clause (l1 ∨ l2 ∨ c) est satisfaisable si et seulement si la formule∃x (l1 ∨ l2 ∨ x) ∧ (¬x ∨ c) est satisfaisable.

Miki Hermann Algorithmes et complexite des csp (1) 23 / 30

Des formules aux relations

Convention

Pour chaque formule ϕ nous allons noter [ϕ] l’ensemble de ses modeles.

Formules et relations booleennes correspondantes

Formule ϕ Relation [ϕ]¬x {0}

x ∨ y {01, 10, 11}x ∧ y {11}

x → y = ¬x ∨ y {00, 01, 11}x ≡ y = (¬x ∨ y) ∧ (x ∨ ¬y) {00, 11} = eq2

x 6≡ y = (x ∨ y) ∧ (¬x ∨ ¬y) {01, 10} = neq2

x ∨ y ∨ z {001, 010, 011, 100, 101, 110, 111}

Miki Hermann Algorithmes et complexite des csp (1) 24 / 30

3sat comme csp

Types de clauses de 3 variables

(x ∨ y ∨ z), (x ∨ y ∨ ¬z), (x ∨ ¬y ∨ ¬z), (¬x ∨ ¬y ∨ ¬z)

Relations correspondantes

[x ∨ y ∨ z] = {0, 1}3r {000} = or0

[x ∨ y ∨ ¬z] = {0, 1}3r {001} = or1

[x ∨ ¬y ∨ ¬z] = {0, 1}3r {011} = or2

[¬x ∨ ¬y ∨ ¬z] = {0, 1}3r {111} = or3

Contraintes correspondantes

or0(x, y, z) = (x ∨ y ∨ z), or1(x, y, z) = (x ∨ y ∨ ¬z),or2(x, y, z) = (x ∨ ¬y ∨ ¬z), or3(x, y, z) = (¬x ∨ ¬y ∨ ¬z).

Miki Hermann Algorithmes et complexite des csp (1) 25 / 30

3sat comme csp . . .

Quide des clauses de deux litteraux ?

Clauses de deux litteraux par identification de variables

(x ∨ y) = (x ∨ y ∨ y) = or0(x, y, y)(x ∨ ¬y) = (x ∨ ¬y ∨ ¬y) = or2(x, y, y)

= (x ∨ x ∨ ¬y) = or1(x, x, y)(¬x ∨ ¬y) = (¬x ∨ ¬y ∨ ¬y) = or3(x, y, y)

Clauses d’un litteral par identification de variables

x = (x ∨ x ∨ x) = or0(x, x, x)¬x = (¬x ∨ ¬x ∨ ¬x) = or3(x, x, x)

Miki Hermann Algorithmes et complexite des csp (1) 26 / 30

3sat comme csp . . .

Comment fabriquer les autres clause de 3 litteraux ? Facilement !

Permutation de variables

(x ∨ ¬y ∨ z) = or1(x, z, y)

(¬x ∨ y ∨ z) = or1(y, z, x)

(¬x ∨ y ∨ ¬z) = or2(y, x, z)

(¬x ∨ ¬y ∨ z) = or2(z, x, y)

Conclusion pour 3sat

3sat est egal a csp(or0, or1, or2, or3), i.e., csp(or0, or1, or2, or3) estNP-complet.

Miki Hermann Algorithmes et complexite des csp (1) 27 / 30

Exercice 2

Question

Est-il necessaire d’utiliser les quatre relations or0, or1, or2 et or3 ?

Precision

Nous n’allons pas tres loin avec une seule relation, mais est-t-il possiblede faire pareil avec deux relations ?

Vrai ou faux ?

1 3sat = csp(or0, or1)

2 3sat = csp(or0, or3)

3 3sat = csp(or2, or3)

4 3sat = csp(or1, or2)

Miki Hermann Algorithmes et complexite des csp (1) 28 / 30

Solution de l’Exercice 2

Solution

1 3Sat = csp(or0, or1) FAUX

2 3Sat = csp(or0, or3) VRAI

3 3Sat = csp(or2, or3) FAUX

4 3Sat = csp(or1, or2) VRAI

Information importante

Ce cours presentera la theorie qui nous permettera de decider facilementces questions.

Miki Hermann Algorithmes et complexite des csp (1) 29 / 30

Fin

C’est tout pour aujourd’hui.

Avez-vous des questions ?

Miki Hermann Algorithmes et complexite des csp (1) 30 / 30