Top Banner
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
30

Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

Sep 15, 2018

Download

Documents

hoangtuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 2: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 3: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 4: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

Prerequis

construction et analyse d’algorithmes,

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

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

Page 5: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 6: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 7: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 8: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 9: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 10: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 11: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 12: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 13: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 14: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 15: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 16: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 17: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 18: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 19: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 20: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 21: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 22: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 23: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 24: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 25: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 26: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 27: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 28: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 29: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

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

Page 30: Algorithmes et Complexit des Probl mes de … et Complexit´e des Probl`emes de Satisfaction de Contraintes (cours no 1) Nicolas (Miki) Hermann Manuel Bodirsky LIX, ´Ecole Polytechnique

Fin

C’est tout pour aujourd’hui.

Avez-vous des questions ?

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