Chapitre 12: Quelques problèmes NP-complets

Informatique, Mathématiques · course

Browse all mathématiques documents

Chapitre 12

Quelques probl mes

NP-complets

Maintenant que nous connaissons la NP-compl tude dau moins un probl me (SAT),

nous allons montrer quun tr s grand nombre de probl mes sont NP-complets.

Le livre en recensait plus de 300 en 1979. Nous navons

pas lambition den pr senter autant, mais de d crire quelques probl mes NP-complets

c l bres, de fa on montrer quelques preuves de NP-compl tude.

12.1 Quelques probl mes NP-complets

12.1.1 Autour de SAT

D nition 12.1 (3-SAT)

Donn e: Un ensemble de variables {x1, , xn} et une formule F = C1'C2 '

C(cid:96) avec Ci = yi,1 ( yi,2 ( yi,3, o pour tout i, j, yi,j est soit xk, soit xk pour

lun des xk.

R ponse: D cider si F est satisable : cest- -dire d cider sil existe x1, , xn

{0, 1}n tel que F s value en vraie pour cette valeur de ses variables x1, , xn.

Th or me 12.1 Le probl me 3-SAT est NP-complet.

D monstration : Notons tout dabord que 3 SAT est bien dans NP. En effet, la don-

n e dune affectation de valeurs de v rit aux variables constitue un certicat v riable

en temps polynomial.

On va r duire SAT 3 SAT. Soit F une formule SAT. Soit C une clause de F ,

par exemple C = x ( y ( z ( u ( v ( w ( t. On introduit de nouvelles variables a, b, c, d

associ es cette clause, et on remplace C par la formule

(x ( y ( a) ' ( a ( z ( b) ' ( b ( u ( c) ' ( c ( v ( d) ' ( d ( w ( t).

Il est facile de v rier quune assignation de x, y, z peut tre compl t e par une as-

signation de a, b, c, d de fa on rendre cette formule vraie si et seulement si C est vraie.

1

2

CHAPITRE 12. QUELQUES PROBL MES NP-COMPLETS

En appliquant cette construction toutes les clauses de F et en prenant la conjonction

des formules ainsi produites, on obtient ainsi une formule 3 SAT dont la satisfaction

de F (cid:48) quivalente celle de F .

Le temps de calcul se r duit crire les clauses, dont la longueur est polynomiale.

Par cons quent, lensemble du processus de r duction se r alise donc bien en temps

(cid:3)

polynomial, et on a prouv , partir de SAT que 3 SAT est NP-complet.

Remarque 12.1 Le probl me 2 SAT, o lon consid rerait des clauses avec deux

litt raux est lui dans P.

D nition 12.2 (NAESAT)

Donn e: Un ensemble de variables {x1, , xn} et un ensemble de clauses yi,1 (

( yi,ki, o pour tout i, j, yi,j est soit xk, soit xk pour lun des xk.

R ponse: D cider sil existe une affectation des variables xi {0, 1} de telle sorte

que chaque clause contienne au moins un litt ral vrai et au moins un litt ral faux

(cest- -dire, pour tout i, il y a un j et un k avec yi,j = 1 et yi,k = 0).

Th or me 12.2 Le probl me NAESAT est NP-complet.

D monstration : Le probl me est dans NP car la donn e dune affectation des

variables est un certicat valide v riable ais ment en temps polynomial.

On va r duire SAT NAESAT. Soit F une formule de SAT sur les variables

{x1, , xn}. On ajoute une unique variable distincte z et on forme les clauses pour

NAESAT en rempla ant chaque clause Ci = yi,1 ( ( yi,k de F en C (cid:48)

i = yi,1 (

( yi,k ( z.

Cette transformation se r alise bien en temps polynomial.

Si linstance donn e de SAT est satisable, la m me affectation des variables tout

en xant pour z la valeur 0 fournit une affectation valide pour NAESAT.

R ciproquement, supposons que linstance construite de NAESAT soit satisfai-

sable. Si la valeur de v rit de z dans laffectation correspondante est 0, alors les va-

leurs des variables xi dans laffectation donnent une affectation valide pour la formule

F dorigine (pour linstance de SAT ). Si au contraire z vaut 1, on change toutes les va-

leurs de toutes les variables dans laffectation. Laffectation reste valide pour NAESAT

car au moins un litt ral par clause dans laffectation initiale valait 0, et vaut donc main-

tenant 1, tandis que z vaut 0. On a donc construit une affectation dans laquelle z vaut

0, et en vertu du cas pr c dent linstance de SAT initiale est satisfaisable.

pondante pour NAESAT. Donc NAESAT est NP-complet.

On a donc bien prouv l quivalence entre satisfaisabilit de F et linstance corres-

(cid:3)

En utilisant la m me r duction sur 3SAT, on prouve que NAE4SAT est NP-

complet. On va utiliser cette remarque pour prouver :

Corollaire 12.1 NAE3SATest NP-complet.

D monstration : On va r duire NAE4SAT NAE3SAT. Soit C = x ( y ( z ( t

une clause 4 litt raux. On introduit une nouvelle variable uC, et on forme les deux

clauses C1 = x ( y ( uC et C2 = z ( t ( uC. En faisant ainsi pour toutes les clauses,

on construit une instance F (cid:48) de NAE3SAT en temps polynomial.

12.1. QUELQUES PROBL MES NP-COMPLETS

3

Supposons que F (cid:48) soit une instance positive de NAE3SAT, et consid rons laffec-

tation des valeurs de v rit correspondante. Si uC = 0, alors x ou y est 0, et z ou t est

1, donc x ( y ( z ( t a au moins un litt ral 1 et au moins un litt ral 0 ; de m me, si

uC = 1 ; donc F est une instance positive de de NAE4SAT.

Inversement, si F est une instance positive de NAE4SAT, consid rons laffectation

de valeurs de v rit correspondante. Dans x ( y ( z ( t, si x et y sont tous deux 1,

on affecte uC 1 ; sinon si x et y sont tous les deux 0, on affecte uC 0 ; sinon, on

affecte uC la valeur de v rit ad quate pour la clause uC ( z ( t. Cela produit une

assignation d montrant que F (cid:48) est une instance positive de NAE3SAT.

L encore la r duction est polynomiale, et NAE3SAT est dans NP de fa on triviale.

(cid:3)

12.1.2 Autour de STABLE

D nition 12.3 (STABLE)

Donn e: Un graphe G = (V, E) non-orient et un entier k.

R ponse: D cider sil existe V (cid:48) V , avec |V (cid:48)| = k, tel que u, v V (cid:48) (u, v) (cid:54)

E.

Th or me 12.3 Le probl me STABLE est NP-complet.

D monstration : STABLE est bien dans NP, car la donn e de V (cid:48) est un certicat

facilement v riable en temps polynomial.

On va r duire le probl me 3 SAT STABLE, cest- -dire, tant donn une for-

mule F du type 3 SAT, construire en temps polynomial un graphe G, de sorte que

lexistence dun stable dans G soit quivalente lexistence dune affectation de va-

leurs de v rit qui satisfait F .

Soit F = (cid:86)

1djdk(x1j ( x2j ( x3j). On construit un graphe G avec 3k sommets,

un pour chaque occurrence dun litt ral dans une clause.

Pour chaque variable xi de 3 SAT, G poss de une ar te entre chaque sommet

associ un litt ral xi et chaque sommet associ un litt ral xi (ainsi un stable

de G correspond une affectation de valeurs de v rit une partie des variables) ;

Pour chaque clause C, on associe un triangle : par exemple pour une clause de

F de la forme C = (x1 ( x2 ( x3), alors G poss de les ar tes (x1, x2),

( x2, x3), (x3, x1) (ainsi un stable de G contient au plus un des trois sommets

associ s la clause C).

Soit k le nombre de clauses dans F . On d montre que F est satisable si et seule-

ment si G poss de un stable de taille k.

En effet, si F est satisable, on consid re une assignation des variables satisfaisant

F . Pour chaque clause C de F , on choisit yC un litt ral de C rendu vrai par lassigna-

tion : cela d nit k sommets formant un stable de G.

R ciproquement, si G a un stable de taille k, alors il a n cessairement un sommet

dans chaque triangle. Ce sommet correspond un litt ral rendant la clause associ e

vraie, et forme une assignation des variables coh rente par construction des ar tes.

La r duction est clairement polynomiale.

Deux probl mes classiques sont reli s STABLE.

(cid:3)

4

CHAPITRE 12. QUELQUES PROBL MES NP-COMPLETS

D nition 12.4 (CLIQUE)

Donn e: Un graphe G = (V, E) non-orient et un entier k.

R ponse: D cider sil existe V (cid:48) V , avec |V (cid:48)| = k, tel que u, v V (cid:48) (u, v)

E.

Th or me 12.4 Le probl me CLIQUE est NP-complet.

D monstration : La r duction partir de STABLE consiste passer au compl -

mentaire sur les ar tes. En effet, il suft de prouver quun graphe G = (V, E) a

un stable de taille k si et seulement si son graphe compl mentaire G = (V, E) (o

(cid:3)

E = {(u, v)|(u, v) / E}) a une clique de taille k.

D nition 12.5 (RECOUVREMENT DE SOMMETS)

Donn e: Un graphe G = (V, E) non-orient et un entier k.

R ponse: D cider sil existe V (cid:48) V , avec |V (cid:48)| d k, tel que toute ar te de G ait

au moins une extr mit dans V (cid:48).

Th or me 12.5 Le probl me RECOUVREMENT DE SOMMETS est NP-complet.

D monstration : La r duction partir de STABLE consiste passer au compl -

(cid:3)

mentaire sur les sommets.

D nition 12.6 (COUPURE MAXIMALE)

Donn e: Un graphe G = (V, E) non-orient et un entier k.

Advertisement

R ponse: D cider sil existe une partition V = V1*V2 telle que le nombre dar tes

entre V1 et V2 soit au moins k.

Th or me 12.6 Le probl me COUPURE MAXIMALE est NP-complet.

D monstration : On r duit NAE3SAT COUPURE MAXIMALE. Supposons

donc donn e une instance de NAE3SAT, dans laquelle on peut supposer sans perte

de g n ralit quune clause ne contient pas simultan ment une variable et son com-

pl mentaire. Quitte remplacer u ( v par ((u ( v ( w) ' (u ( v ( w)), on peut

aussi supposer que chaque clause contient exactement 3 litt raux. Enn, si lon a deux

clauses (u ( v ( w) et (u ( v ( z), on peut, en introduisant deux variables t1 et t2

et en proc dant comme pour r duire NAE4SAT NAE3SAT, r crire ces deux clauses

comme (u ( t1 ( t2) ' (v ( w ( t1) ' (v ( z ( t2). Bref, on peut donc supposer que

deux clauses donn es ont au plus une variable en commun.

On note x1, , xn les variables de la formule F .

On va construire un graphe G = (V, E) de la fa on suivante : G poss de 2n som-

mets o pour chaque variable u de F , correspondent deux sommets u et u. G poss de

une ar te entre chaque couple de sommets (u, v) tels que u et v apparaissent dans la

m me clause, et une ar te entre les sommets u et u pour toute variable u.

Les r ductions dans le premier paragraphe de la preuve permettent de voir qu

chaque clause correspond un triangle et que deux de ces triangles ont des ar tes dis-

tinctes.

Si on note n le nombre de variables, et m le nombre de clauses, le graphe G a donc

2n sommets et 3m + n ar tes. Il est alors facile de voir que le nombre dar tes dans une

12.1. QUELQUES PROBL MES NP-COMPLETS

5

coupure correspondant une affectation NAE3SAT valide est 2m + n : lar te entre u

et u pour chaque variable u, et deux des ar tes du triangle uvw pour chaque clause

u ( v ( w.

Inversement, toute coupure de G a au plus (2m + n) ar tes, car une coupure ne peut

inclure que deux ar tes par triangle associ une clause. Par cons quent, une coupure

de valeur 2m + n fournit imm diatement une affectation NAE3SAT valide.

En dautres termes, r soudre linstance de NAE3SAT revient r soudre COU-

PURE MAXIMALE sur (G, 2m + n).

La r duction tant polynomiale, et puisque COUPUREMAXIMALE est dans NP

(cid:3)

car la donn e de V1 est un certicat valide v riable en temps polynomial.

12.1.3 Autour de CIRCUIT HAMILTONIEN

Le probl me CIRCUIT HAMILTONIEN est souvent la base de propri t s li es

aux chemins dans les graphes (nous reprenons la d nition de ce probl me, m me sil

a d j t d ni dans le chapitre pr c dent).

D nition 12.7 (CIRCUIT HAMILTONIEN)

Donn e: Un graphe G = (V, E) (non-orient ).

R ponse: D cider sil existe un circuit hamiltonien, cest- -dire un chemin de G

passant une fois et une seule par chacun des sommets et revenant son point de

d part.

Th or me 12.7 Le probl me CIRCUIT HAMILTONIEN est NP-complet.

D monstration : On va d montrer ce fait en r duisant RECOUVREMENT DE

SOMMETS ce probl me.

La technique consiste construire, partant dune instance de RECOUVREMENT

DE SOMMETS, un graphe dans lequel chaque ar te initiale sera remplac e par un

motif admettant exactement deux chemins hamiltoniens, cest- -dire des chemins

visitant une fois et une seule chaque sommet. Lun de ces deux chemins correspondra

au cas o le sommet correspondant appartient la couverture, lautre au cas o il ny

appartient pas.

Il reste ensuite pr ciser comment recoller ces diff rents motifs pour quun circuit

hamiltonien global corresponde exactement une r union de chemins hamiltoniens

travers chaque motif, et pour assurer quon obtient bien le bon r sultat au probl me

RECOUVREMENT DE SOMMETS initial en r solvant CIRCUIT HAMILTONIEN

dans ce graphe.

Notons (G = (V, E), k) linstance de RECOUVREMENT DE SOMMETS tu-

di e.

Le motif que nous allons utiliser est le suivant :

6

CHAPITRE 12. QUELQUES PROBL MES NP-COMPLETS

u1

u2

u3

u4

u5

u6

v1

v2

v3

v4

v5

v6

Pour obtenir un parcours de ce motif traversant une fois et une seule chaque som-

met, seules deux solutions sont possibles : soit un passage en deux fois, une fois

u1u2u3u4u5u6 puis ult rieurement v1v2v3v4v5v6 (dans un sens ou dans lautre) ; ou

alors un passage en une seule fois u1u2u3v1v2v3v4v5v6u4u5u6 (ou le m me en inver-

sant les u et les v).

chaque ar te (u, v) du graphe de d part, on associe un motif de ce type, en faisant

correspondre le sommet u au c t u et le sommet v au c t v. On raccorde ensuite entre

eux bout bout tous les c t s de tous les motifs correspondant un m me sommet ; on

forme donc une cha ne associ e un sommet donn , avec encore deux sorties libres.

On raccorde alors chacune de ces deux sorties k nouveaux sommets s1, , sk. On

note le graphe ainsi construit H dans la suite.

Supposons maintenant donn un recouvrement du graphe initial de taille k, dont les

sommets sont {g1, , gk}. On peut alors construire un circuit hamiltonien de H de la

fa on suivante :

partir de s1 ;

parcourir la cha ne g1 de la fa on suivante. Quand on traverse une ar te (g1, h),

si h est aussi dans la couverture, on traverse simplement le c t g1, sinon, on

parcourt les deux c t s simultan ment ;

une fois la cha ne g1 nie, on revient en s2 et on repart par g2 et ainsi de suite.

Il est clair que tous les sommets sk sont atteints une fois et une seule.

Consid rons un sommet h du motif correspondant une ar te (u, v). On peut tou-

jours supposer que u est dans la couverture, disons u = g1. Il sensuit que si h est du

c t de u, h sera atteint une fois au moins. On voit en vertu du second item quil ne sera

plus atteint dans la suite. Si h est du c t de v, et que v nest pas dans la couverture,

h est parcouru lors du parcours de u. Si v = gi, h est parcouru lors du parcours de

la cha ne correspondant gi et ce moment-l seulement. On a donc bien un circuit

hamiltonien.

R ciproquement, supposons que lon dispose dun circuit hamiltonien de H. La

construction de notre motif impose que venant dun sommet si, on traverse enti rement

une cha ne u puis lon passe un autre des sommets sj. On traverse ainsi k cha nes ;

les k sommets correspondants forment alors une couverture. En effet, si (u, v) est une

ar te, le motif correspondant est parcouru par le chemin hamiltonien ; or il ne peut

l tre que lors du parcours dune boucle correspondant une des deux extr mit s de

lar te.

donc bien NP-complet.

Enn, la r duction est trivialement polynomiale. CIRCUIT HAMILTONIEN est

(cid:3)

Comme dans la section pr c dente, on peut alors en d duire la NP-compl tude de

nombreuses variantes.

12.1. QUELQUES PROBL MES NP-COMPLETS

7

D nition 12.8 (VOYAGEUR DE COMMERCE)

Donn e: Un couple (n, M ), o M est une matrice n n dentiers et un entier k.

R ponse: D cider sil existe une permutation de [1, 2, , n] telle que

(cid:88)

1didn

M (i) (i+1) d k.

Corollaire 12.2 Le probl me VOYAGEUR DE COMMERCE est NP-complet.

Ce probl me porte ce nom, car on peut voir cela comme l tablissement de la tour-

n e dun voyageur de commerce devant visiter n villes, dont les distances sont donn es

par la matrice M de fa on faire moins de k kilom tres.

D monstration :

On r duit CIRCUIT HAMILTONIEN VOYAGEUR DE COMMERCE. Pour ce

faire, tant donn un graphe G = (V, E), on pose V = {x1, , xn}. On consid re

alors la matrice M n n dentiers telle que

Mi,j =

(cid:26) 1

2

si (i, j) E;

sinon.

Montrons alors que CIRCUIT HAMILTONIEN(V, E) ssi VOYAGEUR DE COMMERCE(n, M, n).

Sil existe un circuit hamiltonien dans G on peut en effet construire la permutation

comme d crivant lordre de parcours des sommets du graphe G : par construction, la

somme des distances des ar tes sur ce circuit vaudra n.

Inversement, tant donn e une permutation avec cette propri t , le fait que les n1

termes de la somme soient au moins gaux 1 implique quils sont tous gaux 1, et

Advertisement

donc que les ar tes ( (i), (i+1)) existent dans le graphe G : on a donc bien un circuit

(cid:3)

hamiltonien.

D nition 12.9 (CIRCUIT LE PLUS LONG)

Donn e: Un graphe G = (V, E) non-orient , avec des distances sur chaque ar te,

un entier r.

R ponse: D cider sil existe un circuit de G ne passant pas deux fois par le m me

sommet dont la longueur est e r.

Corollaire 12.3 Le probl me CIRCUIT LE PLUS LONG est NP-complet.

D monstration : On construit une r duction partir de CIRCUIT HAMILTO-

NIEN : pour cela, un graphe G pour CIRCUIT HAMILTONIEN, on associe chaque

ar te le poids 1. La recherche dun cycle hamiltonien est alors trivialement identique

(cid:3)

la recherche dun circuit de longueur e n dans le graphe.

12.1.4 Autour de 3-COLORABILITE

Nous avons d j d nit ce que nous appelions un (bon) coloriage de graphes dans

le chapitre pr c dent. Le plus petit entier k tel quun graphe soit (bien) coloriable est

appel le nombre chromatique du graphe.

Il est connu que les graphes planaires sont toujours coloriables avec 4 couleurs.

8

CHAPITRE 12. QUELQUES PROBL MES NP-COMPLETS

D nition 12.10 (3-COLORABILITE)

Donn e: Un graphe G = (V, E) non-orient .

R ponse: D cider sil existe un coloriage du graphe utilisant au plus 3 couleurs.

Th or me 12.8 Le probl me 3-COLORABILITE est NP-complet.

D monstration : 3-COLORABILITE est dans NP, car la donn e des sommets co-

lor s par chacune des 3 couleurs constitue un certicat v riable en temps polynomial.

On va r duire 3-SAT 3-COLORABILITE. On se donne donc une conjonction de

clauses 3 litt raux, et il nous faut partir de l construire un graphe. Comme dans les

autres r ductions de 3-SAT, il faut parvenir traduire deux contraintes : une variable

peut prendre la valeur 0 ou 1 dune part, et les r gles d valuation dune clause dautre

part.

On construit un graphe ayant 3 + 2n + 5m sommets, les trois permiers sont not s

V RAI, F AU X, N SP . Ces trois sommets sont reli s deux deux en triangle, de

sorte quils doivent tre tous trois de couleurs diff rentes. On appellera les couleurs

correspondantes V RAI, F AU X, N SP .

On associe un sommet chaque variable et au compl mentaire de chaque variable.

Pour assurer quune variable prenne la valeur V RAI ou F AU X, pour chaque variable

xi on construit un triangle dont les sommets sont xi, xi, et N SP . Cela impose que

soit couleur(xi) = V RAI et couleur( xi) = F AU X, ou couleur(xi) = F AU X

et couleur( xi) = V RAI.

Il nous reste donc encoder les r gles d valuation dune clause. Pour ce faire, on

introduit le sous-graphe suivant, qui correspond une clause x ( y ( z :

3

4

2

x

y

z

0

1

V RAI

Il est facile de voir que si ce motif (o les trois sommets distingu s et les triangles

construits sur les variables sont implicites) est 3-coloriable, alors les sommets 0 et

1 sont F AU X et N SP . Si 1 est F AU X, comme un sommet correspondant une

variable doit tre V RAI ou F AU X, on a couleur(z) = V RAI. Si 0 est F AU X,

alors 2 ne peut pas tre F AU X, donc 3 ou 4 lest, et la variable correspondante est

colori e V RAI.

R ciproquement, si lune des variables est vraie, on peut facilement construire une

3-coloration du motif.

Consid rons alors le graphe form des trois sommets distingu s, des triangles for-

m s sur les variables, et des motifs donn s. Si ce graphe est 3-coloriable, alors en

particulier tout sous-graphe est coloriable. Les triangles de variables sont en particu-

lier coloriables. partir dune 3-coloration du graphe, on construit une affectation de

valeurs de v rit en mettant 1 toutes les variables colori es par V RAI. Cette affec-

tation est coh rente (une variable et son compl mentaire ont bien une valeur oppos e)

12.1. QUELQUES PROBL MES NP-COMPLETS

9

et au moins une variable par clause est 1, en vertu des propri t s du motif ci-dessus.

Inversement, tant donn une affectation de valeurs de v rit , il est ais de d duire une

3-coloration du graphe.

Lexistence dune 3-coloration du graphe est donc quivalente la satisfaisabilit

de la formule initiale.

La r duction est manifestement polynomiale ; on a donc bien prouv que 3-SAT se

(cid:3)

r duisait 3-COLORABILITE ; ce dernier est donc bien NP-complet.

12.1.5 Autour de SOMME DE SOUS-ENSEMBLE

D nition 12.11 (SOMME DE SOUS-ENSEMBLE)

Donn e: Un ensemble ni dentiers E et un entier t.

R ponse: D cider sil existe E(cid:48) E tel que (cid:80)

xE(cid:48) x = t.

Th or me 12.9 Le probl me SOMME DE SOUS-ENSEMBLE est NP-complet.

D monstration : Le fait que SOMME DE SOUS-ENSEMBLE est dans NP vient

du fait que la donn e de E(cid:48) constitue un certicat v riable en temps polynomial.

On va maintenant r duire une version de RECOUVREMENT DE SOMMETS dans

laquelle on cherche construire une couverture de taille exactement k SOMME DE

SOUS-ENSEMBLE. Il est facile de voir que cette version de RECOUVREMENT DE

SOMMETS est essentiellement quivalente la version classique, car il suft de d ci-

der pour chaque l d l0 sil existe une couverture de taille l pour savoir sil existe une

couverture de taille au plus l0.

On se donne un graphe G = (V, E) dans lequel on souhaite construire un recou-

vrement de sommets de taille k. On num rote les sommets et ar tes ; soit B = (bij) la

matrice dincidence sommets-ar tes, cest- -dire que bij = 1 si lar te i est incidente

au sommet j, bij = 0 sinon.

On va construire un ensemble F dentiers, tel que chaque sommet corresponde

un entier de F . On veut pouvoir lire sur la somme des l ments dun sous-ensemble les

ar tes dont un des sommets au moins appartient au sous-ensemble, de fa on ce quon

ait bien une couverture de sommets si et seulement si cest le cas pour toutes les ar tes.

Cela peut se faire en exprimant les entiers dans une base b xer ult rieurement, et

en faisant correspondre au sommet sj lentier (cid:80) bijbi. On veut aussi pouvoir compter

le nombre de sommets pr sents dans la couverture, qui doit tre gal k ; pour ce faire,

il suft dajouter un terme bn, si les ar tes sont num rot es de 0 n 1.

Il subsiste une difcult : pour quun sous-ensemble de somme t = (cid:80)n

i=0 aibi

corresponde une couverture de sommets, le choix que lon vient juste de faire impose

que (noter que tous les ai sauf an valent au plus 2, car une ar te est incidente deux

sommets exactement) :

an = k ;

ai e 1.

Les sp cications du probl me ne permettent pas de prendre en compte le second

item. On peut contourner le probl me en ajoutant F les entiers bi correspondant

lar te i.

10

CHAPITRE 12. QUELQUES PROBL MES NP-COMPLETS

On peut alors choisir comme but

t = kbn +

n1

(cid:88)

i=0

2bi.

(12.1)

ce stade, on va imposer que la base b soit au moins gale 4 ; comme dans

toute somme d l ments de F il y a au plus trois termes bi pour i < n, cela entra ne

quaucune retenue ne peut se produire dans laddition (on permet toujours au coef-

cient de bn dexc der b 1), et donc que lon peut lire sur l quation (12.1) le nombre

doccurrences du terme bi.

Pour tout sous-ensemble F (cid:48) de somme t, on a donc :

il y a k termes correspondant des sommets dans F (cid:48) (cf. le terme en bn pour

chaque ar te i) ;

F (cid:48) contient au moins un terme correspondant une des deux extr mit s de i ;

en effet, t contenant 2 termes bi, il peut contenir soit les deux extr mit s de

lar te, soit lentier correspondant lar te et celui correspondant lune des

deux extr mit s.

Inversement, tant donn e une couverture de sommets, on construit lensemble F (cid:48)

en prenant les sommets de la couverture, et les ar tes dont un seul des deux sommets

est dans la couverture.

On a donc bien r duit RECOUVREMENT DE SOMMETS SOMME DE SOUS-

ENSEMBLE.

Il est facile de voir que la r duction seffectue en temps polynomial, et donc que

(cid:3)

lon a bien prouv le th or me.

Advertisement

On peut en d duire :

D nition 12.12 (SAC A DOS)

Donn e: Un ensemble de poids a1, , an, un ensemble de valeurs v1, , vn,

un poids limite A, et un entier V .

R ponse: D cider sil existe E(cid:48) {1, 2, , n} tel que (cid:80)

iE(cid:48) ai d A et (cid:80)

iE(cid:48) vi e

V .

Corollaire 12.4 Le probl me SAC A DOS est NP-complet.

D monstration : A partir de SOMME DE SOUS-ENSEMBLE : tant donn e E =

{e1, , en} et t une instance de SOMME DE SOUS-ENSEMBLE, on consid re vi =

(cid:3)

ai = ei, et V = A = t.

D nition 12.13 (PARTITION)

Donn e: Un ensemble ni dentiers E.

R ponse: D cider sil existe E(cid:48) E tel que (cid:80)

xE(cid:48) x = (cid:80)

x(cid:54)E(cid:48) x.

Th or me 12.10 Le probl me PARTITION est NP-complet.

D monstration : On va r duire SOMME DE SOUS-ENSEMBLE PARTITION.

xE x.

Soit (E, t) une instance de SOMME DE SOUS-ENSEMBLE. On pose S = (cid:80)

12.2. EXERCICES

11

Quitte changer t en S t (ce qui revient changer lensemble obtenu en son com-

pl mentaire), on peut supposer que 2t d S.

Lid e naturelle consisterait ajouter l l ment u = S 2t E ; le r sultat de

partition serait alors deux sous-ensembles (A(cid:48) et son compl mentaire) de somme S t ;

lun des deux contient l l ment S 2t, donc en enlevant ce dernier, on trouve un

ensemble de termes de E de somme t. Malheureusement, cette technique choue si

S 2t est d j dans E.

Au lieu de cela, on prend le nombre X = 2S et X (cid:48) = S + 2t, et on applique

PARTITION E(cid:48) = E * {X, X (cid:48)}. Il existe une partition de E(cid:48) si et seulement sil

existe un sous-ensemble de E de somme t. En effet, sil existe une partition de E(cid:48),

il existe deux sous-ensembles compl mentaires de somme 2S + t. Chacun des deux

sous-ensembles doit contenir soit X, soit X (cid:48), car sinon sa somme ne peut exc der

2S + t ; donc un des deux ensembles contient X et non X (cid:48), et on obtient en enlevant

X un sous-ensemble F de E de taille t. R ciproquement, tant donn un tel F , (F *

{X}, E F * {X (cid:48)}) constitue une partition de E(cid:48). On a donc bien r duit SOMME

DE SOUS-ENSEMBLE PARTITION.

Reste justier que la r duction est bien polynomiale. Lessentiel de la r duction

est le calcul de A et A, qui est bien polynomial en la taille des entr es (laddition de k

(cid:3)

nombres de n bits se fait en temps O(k log n)).

12.2 Exercices

12.2.1 Variantes polynomiales

Exercice 12.1. Un graphe G = (V, E) est dit Eul rien sil existe un cycle empruntant

exactement une fois chaque ar te du graphe G.

Montrer quun graphe connexe est Eul rien si et seulement si chacun de ses som-

mets a un degr e pair.

Proposer un algorithme polynomial qui d termine si le graphe est Eul rien.

Exercice 12.2.

On sint resse 2SAT.

1. Proposer une valuation t qui satisfait 1(u1, u2, u3) = (u2 ( u3) ' ( u2 (

u3) ' (u2 ( u1).

2. Que se passe-t-il pour 2(u1, u2) = (u2 ( u3) ' ( u2 ( u3) ' ( u3 ( u1) '

( u3 ( u1) ?

3. Montrer que u ( v = ( u v) ' ( v u).

A partir dune instance de 2SAT nous construisons un graphe orient G =

(V, E) avec

un sommet par litt ral

et un arc par implication (en transformant chaque clause par deux implica-

tions)

4. Dessiner les graphes G 1 et G 2.

12

CHAPITRE 12. QUELQUES PROBL MES NP-COMPLETS

5. Montrer quil existe une variable u telle que G contient un cycle entre u vers

u dans G, si et seulement si nest pas satisable.

6. Montrer que 2-SAT peut se r soudre en temps polynomial.

Etant donn s n chevaliers, et connais-

Exercice 12.3.

sant toutes les paires de f roces ennemis parmi eux, est-il possible de les placer autour

dune table circulaire de telle sorte quaucune paire de f roces ennemis ne soit c te

c te ?

12.2.2 NP-compl tude

Exercice 12.4.

D nition : une cha ne hamiltonienne est une cha ne qui passe une fois et une seule

par chaque sommet du graphe.

Prouver que le probl me suivant est NP-complet.

CHAINE HAMILTONIENNE

Donn es : un graphe non-orient G de n sommets, deux sommets u et v distincts de G.

Question : G contient-il une chaine hamiltonienne dont ses extr mit s sont les sommets

u et v ?

Exercice 12.5. Prouver que le probl me suivant est NP-complet.

CHA NE

Donn es : un graphe non-orient G de n sommets, deux sommets u et v distincts de G.

Question : G contient-il une chaine de longueur n/2 entre u et v ?

Exercice 12.6. Prouver que le probl me suivant est NP-complet.

Probl me ARBRE

Donn es : Un graphe G = (V, E), et un entier k.

Question : Existe-t-il un arbre couvrant tous les sommets de G ayant moins de k

feuilles ?

Exercice 12.7. Soit G = (V, E) un graphe.

Une couverture de sommets S du graphe G est un sous-ensemble de sommets tel

que toutes les ar tes de G sont incidentes au moins un sommet de S.

Un ensemble dominant C du graphe G est un sous-ensemble de sommets tel que

tout sommet est soit dans C soit voisin dun sommet de C.

Soit G = (V, E) un graphe connexe. Nous allons construire un graphe G(cid:48) =

(V (cid:48), E(cid:48)) partir de G tel que

V (cid:48) = V * E ;

E(cid:48) = E * {(v, a)|v V, a E, v est extremit de lar te a dans G}

1. Montrer que si S est une couverture de sommets du graphe G, alors S est un

ensemble dominant de G(cid:48).

12.3. NOTES BIBLIOGRAPHIQUES

13

Graphe G

Graphe G(cid:48) (sans les ar tes de G)

2. Montrer que si S(cid:48) est un ensemble dominant de G(cid:48), alors il existe une couverture

S V du graphe G et de cardinalit inf rieure ou gale S(cid:48).

3. Exprimer le probl me de minimisation de lensemble dominant sous forme de

probl me de d cision.

4. Montrer que ce probl me est dans NP.

5. Montrer que ce probl me est dans NP-complet.

Exercice 12.8. Nous allons nous concentrer sur le probl me du k-centre : tant donn

un ensemble de villes dont les distances sont sp ci es, choisir k villes an dinstaller

des entrep ts de fa on minimiser la distance maximale dune ville lentrep t le plus

proche. Un tel ensemble de k villes est appel k-centre.

Le probl me associ de d cision est le suivant :

Probl me k-CENTRE

Donn es : un graphe complet K = (V, E) muni dune fonction de poids w sur les

ar tes, et des entiers strictement positifs k et b.

Question : Existe-il un ensemble S de sommets tel que |S| = k et tel que tout sommet

v de V satisfait la condition suivante

min{w(v, u) : u S} d b

1. Montrer que k-CENTRE est dans NP.

2. Montrer que k-CENTRE est NP-complet sachant que DOMINANT est NP-complet.

12.3 Notes bibliographiques

Lectures conseill es Le livre recense plus de 300 pro-

bl mes NP-complets et est dune lecture assez agr able. On peut trouver plusieurs

mises jour de cette liste sur le web.

Bibliographie Ce chapitre est repris du polycopi du cours INF550

de l cole polytechnique.

svuzt123456svuzt654321Index

(Ag, r, Ad), voir arbre binaire

(V, E), voir graphe

(q, u, v), voir conguration dune machine

de Turing

., voir concat nation

Ac, voir compl mentaire

F (G/p), voir substitution

L(M ), voir langage accept par une ma-

Advertisement

chine de Turing

, voir double implication

, voir d nition inductive / diff rentes

notations dune, voir implica-

tion

, voir alphabet

, voir ensemble des mots sur un alpha-

bet

), voir intersection de deux ensembles

*, voir union de deux ensembles

(cid:15), voir mot vide

a, voir quivalence entre formules, voir

quivalence entre probl mes

, voir quanticateur

, voir quanticateur

dm, voir r duction

|w|, voir longueur dun mot

d, voir r duction

P(E), voir parties dun ensemble

|=, voir cons quence s mantique

, voir n gation

(cid:54)|=, voir cons quence s mantique

, voir partie dun ensemble

, voir produit cart sien de deux ensembles

(cid:96), voir d monstration, voir relation suc-

cesseur entre congurations dune

machines de Turing

uqv, voir conguration dune machine de

Turing

(cid:104)(cid:104)M (cid:105), w(cid:105), voir codage dune paire

(cid:104)M (cid:105), voir codage dune machine de Tu-

ring

(cid:104)m(cid:105), voir codage

(cid:104) (cid:105), voir codage dune formule

(cid:104)w1, w2(cid:105), voir codage dune paire

2-SAT, 2

3-COLORABILITE, 7

3-SAT, 1

Arith, voir expressions arithm tiques

Arith(cid:48), voir expressions arithm tiques pa-

renth s es

circuit

hamiltonien dun graphe, 5

CIRCUIT HAMILTONIEN, 5

CIRCUIT LE PLUS LONG, 7

CLIQUE, 3

codage

notation, voir (cid:104).(cid:105)

dune formule

notation, voir (cid:104) (cid:105)

dune machine de Turing

notation, voir (cid:104)M (cid:105)

dune paire

notation, voir (cid:104)(cid:104)M (cid:105), w(cid:105), voir (cid:104)w1, w2(cid:105)

coloriage dun graphe, 7

compl mentaire

notation, voir Ac

du probl me de larr t des machines

de Turing

notation , voir HALTING PROBLEM

(, voir disjonction

', voir conjonction

compl tude

RE-compl tude, voir RE-complet

14

INDEX

concat nation

notation, voir .

15

de larr t des machines de Turing

notation, voir HALTING PROBLEM

conguration dune machine de Turing

notation, voir (q, u, v), voir uqv

COUPURE MAXIMALE, 4

produit cart sien

de deux ensembles

notation, voir

quivalence

entre probl mes

notation, voir a

graphe

R, voir d cidable

RE, voir r cursivement num rable

RECOUVREMENT DE SOMMETS, 4

r cusivement num rable

notation, voir RE

notation, voir (V, E)

r duction

HALTING PROBLEM, voir probl me

de larr t des machines de Tu-

ring

HALTING PROBLEM, voir compl -

mentaire du probl me de larr t

dune machine de Turing

intersection de deux ensembles

notation, voir )

langage

notation, voir d, voir dm

relation successeur entre congurations dune

machine de Turing

notation, voir (cid:96)

SAC A DOS, 10

SAT, 1, 2

satisfaction

dune formule, 1

SOMME DE SOUS-ENSEMBLE, 9

STABLE, 3

accept par une machine de Turing

notation, voir L(M )

union de deux ensembles

notation, voir *

VOYAGEUR DE COMMERCE, 6

longueur dun mot

notation, voir |w|

mot

vide

notation, voir (cid:15)

NAE3SAT, 2

NAESAT, 2

nombre chromatique dun graphe, 7

NP, 1

NP-compl tude, 17, 9, 10

partie

dun ensemble

notation, voir

parties

dun ensemble

notation, voir P(E)

PARTITION, 10

probl me

16

INDEX

Bibliographie

Cori, R., Hanrot, G., Kenyon, C., and Steyaert, J.-M. (2010).

Conception et analyse dalgorithmes. Cours de lEcole Polytechnique.

Garey, M. R. and Johnson, D. S. (1979). Computers and

Intractability. W. H. Freeman and Co.

17