SlideShare une entreprise Scribd logo
Université Saad Dahleb de Blida

Faculté des Sciences
Département d’Informatique

Licence Génie des Systèmes Informatique (GSI)
Semestre 5 (3ème année)

ALGORITHMIQUE 02

CHAPITRE VI:
NP-COMPLÉTUDE
AROUSSI
2013-2014

Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PLAN DU CHAPITRE VI
 Introduction

(Vocabulaire Général)

 Classification

 Notion

de Réduction

 Théorie

de NP-Complétude

 Quelques


de Problème

Problèmes NP-Complets

Conclusion

2
INTRODUCTION
PROBLÈME DE DÉCISION


Pour des raisons de simplicité et techniques, la théorie de
la NP-Complétude se limite à l’étude des problèmes de

décision dont la solution est formulée en termes
oui/non.


Un problème de décision est une paire P =(X,Y), où


X est l’ensemble des instances de P ;



Y est l’ensemble des instances-«oui»



X  Y est l’ensemble des instances-«non»
3
INTRODUCTION
PROBLÈME DE DÉCISION


Un algorithme pour un problème de décision (X,Y) est un
algorithme qui calcule la fonction F : X →{0, 1}, définie

par



Cette restriction aux problèmes de décision est justifiée
par le fait que les autres problèmes qui ne sont pas de

décision, comme les problèmes d’optimisation et de
recherche, peuvent être facilement transformés en un
problème de décision équivalent.

4
INTRODUCTION
PROBLÈME DE DÉCISION VS AUTRES PROBLÈMES


Problème de Recherche:

Exemple

Entrée

Réponse

Algorithme de recherche
(Trouver un arbre recouvrant)

G (X, E) non
orienté

Arbre recouvrant

Algorithme de décision
(Existence d’un arbre recouvrant)

G (X, E) non
orienté

Oui/Non

Réduction de la recherche à la décision par test
d'hypothèse (La connexité de G)
5
INTRODUCTION
PROBLÈME DE DÉCISION VS AUTRES PROBLÈMES


Problème d’Optimisation:

Exemple

Entrée

Réponse

Algorithme d’optimisation
(Trouver un arbre recouvrant de poids
minimum)

G (X, E, W)
non orienté

Arbre
recouvrant
minimum

Algorithme de décision
(Existence d’un arbre recouvrant de poids
 k)

G (X, E, W)
non orienté

Oui/Non

Lorsque le critère d'optimisation est borné a priori,
réduction de l'optimisation à la décision par test
d'hypothèse (La connexité de G et le poids de l’arbre
recouvrant).

6
INTRODUCTION
ALGORITHME DÉTERMINISTE VS NON-DÉTERMINISTE


Un algorithme déterministe est un algorithme dont la
solution qu’il produit peut être déduite des spécifications
de l’algorithme lui-même.



Un algorithme non déterministe est un algorithme dont

la solution est devinée puis vérifiée.

7
INTRODUCTION
ALGORITHME EFFICACE


Pour différentes raisons, la convention suivante s’est
imposée en informatique :

Un algorithme est efficace (ou facile) si sa complexité en
temps est polynomiale, c’est-à-dire en O(nk) pour un entier

k.


Un problème est de complexité polynomiale s'il existe un
algorithme de complexité polynomiale le résolvant.

8
CLASSIFICATION DES PROBLÈMES
CLASSE P


La classe P regroupe tous les problèmes de décision qui
peuvent être résolus par un algorithme déterministe de
complexité polynomiale.



Exemple:


Problème de l’existence de l’arbre de recouvrement de poids  k
(Algorithme de Kruskal)



9
Problème de l’existence d’un chemin de longueur  k (Algorithme

de Dijkstra)
CLASSIFICATION DES PROBLÈMES
CLASSE NP


La classe NP (Non deterministic Polynomial) regroupe

tous les problèmes de décision qui peuvent être résolus
par un algorithme non-déterministe de complexité
polynomiale (i.e. dont la solution peut être vérifiée en

temps polynomial)


Pour montrer qu’un problème est dans la classe
NP, il suffit de trouver un algorithme qui vérifie si une sol
ution donnée est valide en temps polynomiale.
10
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 1: Problème de Satisfaction en calcul

propositionnel (SAT)


Soit F = (x1, ...., xn) une formule du calcul propositionnel
en Forme Normale Conjonctive, i.e. F = C1  C2  .....  Cm
pour une collection de clauses {C1, C2, ....., Cm} sur l’

ensemble X = {x1, ...., xn } de variables booléennes
(littéraux).


Décider si F est satisfiable, c-à-d décider s’il existe x1, ....,

xn  {0, 1}n tel que F s’évalue en vraie pour cette valeur 11
de
ses variables (toutes les clauses de C soient vraies).
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 2: Problème de K-SAT (k>2)



Soit F = (x1, ...., xn) une formule du calcul propositionnel

en Forme Normale Conjonctive, i.e. F = C1  C2  .....  Cm
pour une collection de clauses {C1, C2, ....., Cm} sur
l’ensemble X = {x1, ...., xn } tel que chaque clause

contient exactement k littéraux |Ci| = k.


Décider si F est satisfiable, c-à-d décider s’il existe x1, ....,
xn  {0, 1}n tel que F s’évalue en vraie pour cette valeur de
ses variables (toutes les clauses de C soient vraies).

12
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 3: Problème de sac à dos entier



Soient un ensemble d’objets avec un poids Pi et une
valeur Vi, une capacité de sac à dos Pmax et un objectif de
valeur Vmax.



Déterminer s’il existe un ensemble d’objets dont le poids
total  Pmax et la valeur totale  Vmax.
13
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 4: Problème du cycle hamiltonien


Soit G = (X, E) un graphe non orienté



Déterminer s’il existe un cycle hamiltonien, c’est-à-dire décider

s’il existe un chaîne de G passant une fois et une seule par
chacun des sommet et revenant à son point de départ.


Variantes:

chaîne

hamiltonien,

hamiltonien, chemin hamiltonienne.

circuit
14
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 5: Problème de voyageur de commerce
(PVC)


Un représentant doit visiter n villes. Il souhaite faire une tournée

en visitant chaque ville exactement une fois et en terminant sa
tournée dans la ville de départ.


Le voyage entre la ville i et la ville j a un coût c (i, j), et le
représentant souhaite effectuer une tournée dont le coût total est
15

minimum.
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 5: Problème de voyageur de commerce
(PVC)


Le problème de décision correspondant est:


Soit un graphe G= (V, E, C) non orienté.



Décider s’il existe une tournée de coût  k.

16
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 6: Problème de Coloriage de Graphe


Étant donnée le graphe G = (X, E) non orienté,
déterminer le nombre minimal de couleurs pour
colorier les sommets X du G tel que deux sommets
adjacent soient de couleur différente.
17
CLASSIFICATION DES PROBLÈMES
CLASSE NP


Problème 6: Problème de Coloriage de Graphe



Le problème de décision correspondant est:


Soient un graphe G = (X, E) et un entier k



Déterminer si le graphe G admet un coloriage avec au
moins de k couleurs.



Ce problème de décision est connu sous le nom du
18

problème K-Coloriabilité
CLASSIFICATION DES PROBLÈMES
COMPARAISON ENTRE LES DEUX CLASSES P ET NP


Clairement, P  NP mais la question qui se pose est :

P = NP ?



C’est l’une des questions (voire la question) non résolue les
plus célèbres qui défie les chercheurs depuis plus de 40 ans :

elle a été placée parmi la liste des sept problèmes du prix du
millénaire réputés insurmontables posés par le l’institut Clay

Mathematical en 2000. L’institut offre un million de dollars
à qui déterminerait la réponse à cette question.

19
CLASSIFICATION DES PROBLÈMES
COMPARAISON ENTRE LES DEUX CLASSES P ET NP


Clairement, P  NP mais la question qui se pose est :

P = NP ?



Intérêt: Si P = NP, alors tous les problèmes vérifiables
polynomialement seraient décidables en temps polynomial.



La plupart des personnes pensent que ces deux classes sont
distinctes car il y a un très grand nombre de problèmes pour
lesquels on n’arrive pas à produire d’algorithme polynomiaux
depuis plus de 40 ans.

20
NOTION DE RÉDUCTION
IDÉE


Soient A et B deux problèmes. Si A se réduit à B (noté A

 B) , alors


le problème A est plus facile que le problème B, ou



le problème B est plus difficile que le problème A.

21
NOTION DE RÉDUCTION
DÉFINITION


Soient A (XA, YA) et B (XB, YB) deux problèmes de

décision. Une réduction de A vers B (A  B) est une
fonction R : XA  XB calculable en temps polynomial telle
que

aYA ssi R(a) YB :

R

22
NOTION DE RÉDUCTION
PROPRIÉTÉS


Soient A (XA, YA), B (XB, YB) et C (XC, YC) des problèmes
de décision.


AA



A  B et B  C impliquent A  C.



A  B

et B  A

impliquent A  B (A et B sont

équivalents).
23
NOTION DE RÉDUCTION
APPLICATION À LA COMPARAISON DE DIFFICULTÉ


Intuitivement, si un problème est plus facile qu’un
problème polynomial, alors il est polynomial.



Formellement :


Si A  B, et si B  P alors A  P.



Si A  B, et si A  P alors B  P.

24
THÉORIE NP-COMPLÉTUDE
DÉFINITION


Un problème B est dit NP-complet, si
1.
2.



B  NP
 A  NP, A  B.

Les problèmes NP-complets sont donc les plus difficiles de
la classe NP.

25
THÉORIE NP-COMPLÉTUDE
PREUVE


Pour prouver la NP-complétude d’un problème B, il suffit
de prouver que :
1.

B est dans NP;

2.

A  B pour un problème A que l’on sait déjà NPcomplet.



La difficulté est d’arriver à en produire un premier
26

problème NP-Complet.
THÉORIE NP-COMPLÉTUDE
PROBLÈME 1: SAT


Théorème 1 (Cook-Levin, 1971): Le problème SAT est

NP-complet.


Le problème SAT est le premier problème montré comme
NP-complet.



Résultat admis: la preuve consiste en un codage d'une

machine de Turing qui vérifie les solutions de P en temps
polynomial.


Ce théorème va être utilisé pour en montrer par réduction

d’autres problèmes NP-Complet.

27
THÉORIE NP-COMPLÉTUDE
PROBLÈME 2: 3-SAT


Théorème 2 (Cook-Levin, 1971): Le problème de 3SAT est NP-Complet.



Preuve 2: Il faut montrer que :
1.

3-SAT est dans NP;

2.

SAT  3-SAT (réduire SAT à 3-SAT).

Fsat

R

F3-sat

F3-sat
est elle
satisfiable?

Oui
28

Non
THÉORIE NP-COMPLÉTUDE
PREUVE 2 : LE PROBLÈME DE DE 3-SAT EST NP-COMPLET


Preuve 2: SAT  3-SAT (réduire SAT à 3-SAT).



Toute clause du problème SAT peut être remplacée de manière
équivalente par un ensemble de clauses 3-SAT qui contiennent
chacune exactement trois littéraux.

29
THÉORIE NP-COMPLÉTUDE
PREUVE 2 : LE PROBLÈME DE DE 3-SAT EST NP-COMPLET


Preuve 2: SAT  3-SAT (réduire SAT à 3-SAT).



Toute clause du problème SAT peut être remplacée de manière
équivalente par un ensemble de clauses 3-SAT qui contiennent
chacune exactement trois littéraux.

30
THÉORIE NP-COMPLÉTUDE
PREUVE 2 : LE PROBLÈME DE DE 3-SAT EST NP-COMPLET


Preuve 2: SAT  3-SAT (réduire SAT à 3-SAT).



La

satisfiabilité

des

clauses

Z’

est

donc

équivalente

à

la

satisfaisabilité de l’ensemble initiale Z.


La réduction est manifestement polynomiale ; on a donc bien prouvé
que SAT se réduisait à 3-SAT; ce dernier est donc bien NP-complet

31
THÉORIE NP-COMPLÉTUDE
PROBLÈME 3: 3-COLORIABLE


Théorème 3: Le problème de 3-Coloriable est NPComplet.



Preuve 3: Il faut montrer que :
1.

3-Coloriable est dans NP;

2.

3-SAT  3-Coloriable (réduire 3-SAT à 3-Coloriable).

F3-sat

R

G = (V, E)

G
est il 3Coloriable
?

Non

Oui
32
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME


DE

3-COLORIABLE EST NP-COMPLET

Preuve 3: 3-SAT  3-Coloriable.

On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:


Les trois premiers sont notés VRAI, FAUX, NSP. Ces trois sommets
sont reliés deux à deux en triangle, de sorte qu’ils doivent être tous

trois

de

couleurs

différentes.

On

appellera

les

couleurs

correspondantes CVRAI(e.g. vert), CFAUX(e.g. rouge), CNSP (e.g. bleu)
NSP

VRAI

FAUX

33
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME


DE

3-COLORIABLE EST NP-COMPLET

Preuve 3: 3-SAT  3-Coloriable.

On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:


On associe un sommet à chaque variable (Xi) et au complémentaire
de chaque variable (Not Xi). Pour assurer qu’une variable prenne la

valeur VRAI ou FAUX, pour chaque variable xi on construit un
triangle dont les sommets sont Xi, NOT Xi, et NSP.
NSP

Xi

NSP

Not
Xi

Xi

Not
Xi

34
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME


DE

3-COLORIABLE EST NP-COMPLET

Preuve 3: 3-SAT  3-Coloriable.

On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:


Pour chaque clause {A, B, C}, on introduit le motif :
A

3
2

B

4

C



0

Ce motif sous graphe est 3-coloriable

VRAI

1

35
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME


DE

3-COLORIABLE EST NP-COMPLET

Preuve 3: 3-SAT  3-Coloriable.

On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:


Ce motif est 3-coloriable

A

3
2

B

CVRAI ou CFAUX
A

CVRAI ou CFAUX C

4

VRAI

C

1

3
2

B

0

0

4

VRAI

1

36
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME


3-COLORIABLE EST NP-COMPLET

DE

Preuve 3: 3-SAT  3-Coloriable.

On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:


Ce motif est 3-coloriable

A

3
2

CVRAI ou CFAUX

B

4

VRAI

C
CVRAI ou CFAUX

A

C

1

3
2

B

0

0

4

VRAI

1

37
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME

DE

3-COLORIABLE EST NP-COMPLET



Preuve 3: 3-SAT  3-Coloriable.



Considérons alors le graphe formé des trois sommets distingués, des
triangles formés sur les variables, et des motifs donnés. Si ce graphe
est 3-coloriable, alors en particulier tout sous-graphe est coloriable.



À partir d’une 3-coloration du graphe, on construit une affectation de
valeurs de vérité en mettant à 1 toutes les variables coloriées par

CVRAI.

Cette affectation est cohérente (une variable et son

complémentaire ont bien une valeur opposée) et au moins une
variable par clause est à 1.


Inversement, étant donné une affectation de valeurs de vérité, il est
38
aisé de déduire une 3-coloration du graphe.
THÉORIE NP-COMPLÉTUDE
PREUVE 3 : LE PROBLÈME

DE

3-COLORIABLE EST NP-COMPLET



Preuve 3: 3-SAT  3-Coloriable.



L’existence d’une 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 réduisait à 3-COLORABILITE ;
ce dernier est donc bien NP-complet.
39
THÉORIE NP-COMPLÉTUDE
PROBLÈME 4: CYCLE HAMILTONIEN


Théorème 4 (Karp, 1972): Le problème de Cycle
Hamiltonien est NP-Complet.



Preuve 4: Il faut montrer que :
1.

Cycle Hamiltonien est dans NP;

2.

Plusieurs méthodes:
a.

3-SAT  Cycle Hamiltonien.

b.

3-SAT  Recouvrement de Sommets Cycle Hamiltonien

c.

40

3-SAT  Stable  Recouvrement de Sommets  Cycle
hamiltonien
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET


Preuve 4 (Papadimitriou et Steiglitz, 1982) :

3-SAT  Cycle Hamiltonien.
F3-sat

R

G = (V, E)

G
contient il
un C. H?

Oui

Non

41
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET


Preuve 4 (Papadimitriou et Steiglitz, 1982) :



On construit le graphe de la manière suivante:



Pour chaque variable, on introduit le sous graphe suivant:
X

Not X


Chaque nouvelle variable est liée à la précédente
X1

X2

Xn
42
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET





Preuve 4 (Papadimitriou et Steiglitz, 1982) :

On construit le graphe de la manière suivante:
Pour chaque clause, on introduit la structure B :

Aucun cycle hamiltonien de
G ne peut traverser à la fois

L1, L2 et L3.

U'

L3

L2

L1

U

43
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET





Preuve 4 (Papadimitriou et Steiglitz, 1982) :

On construit le graphe de la manière suivante:
Les clauses sont liées comme suit:

C1

X1

C2

X2

Cm

Xn
44
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET





Preuve 4 (Papadimitriou et Steiglitz, 1982) :

On construit le graphe de la manière suivante:
Les littéraux de chaque clause sont liés aux variables la structure A
suivante:

45
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET


Preuve 4 (Papadimitriou et Steiglitz, 1982) :



Par exemple, le graphe suivant présente ces clauses

C1

C2

A
A

A

C3
A

A

A
A

A
X1

A
46

X2

X3
THÉORIE NP-COMPLÉTUDE
PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET


Preuve 4 (Papadimitriou et Steiglitz, 1982) :



Nous affirmons maintenant que G est hamiltonien si et seulement si
F3-sat est satisfaisable. Soit C un cycle hamiltonien. On définit un
assignement en fixant un littéral à vrai si et seulement si C contient
l’arête correspondante. D’après les propriétés des structures A et B,
chaque clause contient un littéral qui est vrai.



Inversement, tout assignement satisfaisant définit un ensemble
d’arêtes qui correspondent à des littéraux qui sont vrai. Comme
chaque clause contient un littéral qui est vrai, cet ensemble d’arêtes
peut être complété en un cycle hamiltonien de G.



Enfin, la réduction est trivialement polynomiale.

47
THÉORIE NP-COMPLÉTUDE
PROBLÈME 5: PVC


Théorème

5:

Le

problème

du

voyageur

de

Commerce (PVC) est NP-Complet.


Preuve 5: Il faut montrer que :
1.

2.



PVC est dans NP;
Cycle Hamiltonien  PVC.

Le problème PVC revient à trouver un cycle hamiltonien
48

C dont la somme des poids des arêtes soit minimum.
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6: SAC À DOS


Théorème 6: Le problème du sac à dos est NPComplet.



Preuve 6: Il faut montrer que :

1.

Sac à Dos est dans NP;

2.

3-SAT  Stable 

Recouvrement des sommets 

Somme de sous ensemble  Sac à dos
49
THÉORIE NP-COMPLÉTUDE
PREUVE 6 : LE PROBLÈME DE SAC À DOS EST NP-COMPLET


Preuve 6: 3-SAT  Stable 

Recouvrement des

sommets  Somme de sous ensemble  Sac à dos.


Théorème 6.1 (Karp, 1972): Le problème du stable est NP-

Complet.


Théorème 6.2 (Karp, 1972): Le problème du recouvrement des
sommets est NP-Complet.



Théorème 6.3 (Karp, 1972): Le problème de somme de sous
50

ensemble est NP-Complet.
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.1: STABLE


Soit un graphe non orienté G et un entier k. Le problème
consiste à décider s’il existe un ensemble d'au moins k
sommets, ne contenant aucune paire de sommets voisins.



On appelle un tel ensemble un stable ou un ensemble

indépendant de G.
51
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.1: STABLE


Théorème 6.1 (Karp, 1972): Le problème du stable
est NP-Complet.



Preuve 6.1: Il faut montrer que :

1.

Stable est dans NP;

2.

3-SAT  Stable.
F3-sat

R

G = (V, E)

G
contient il un
stable de
taille k?

Oui
52

Non
THÉORIE NP-COMPLÉTUDE
PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET


Preuve 6.1: 3-SAT  Stable



On construit un graphe G avec 3m sommets (m le nombre
des clauses):



Pour chaque littéral xi, G possède une arête entre chaque
sommet associé à un littéral xi et chaque sommet associé

à un littéral not xi


Xi

Not
Xi

Ainsi, un stable de G correspond à une affectation de
valeurs de vérité à une partie des variables;
53
THÉORIE NP-COMPLÉTUDE
PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET


Preuve 6.1: 3-SAT  Stable



On construit un graphe G avec 3m sommets (m le nombre
des clauses):



Pour chaque clause C = L1  L2  L3, on associe un
triangle.

L1

L3


Ainsi,

L2

un stable de G contient au plus un des trois

sommets associés à la clause C

54
THÉORIE NP-COMPLÉTUDE
PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET


Preuve 6.1: 3-SAT  Stable



Par exemple, le graphe suivant présente ces clauses

X1

Not
X2

Not
X1
Not
X3

X2

Not
X3

Not
X1

X3

Not
X2

55
THÉORIE NP-COMPLÉTUDE
PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET


Preuve 6.1: 3-SAT  Stable



Soit m le nombre de clauses dans F. On démontre que F
est satisfiable ssi G possède un stable de taille m.



En effet, si F est satisfiable, on considère une assignation
des variables satisfaisant F. Pour chaque clause C de F,
on choisit un littéral de C rendu vrai par l’assignation :
cela définit m sommets formant un stable de G.

56
THÉORIE NP-COMPLÉTUDE
PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET


Preuve 6.1: 3-SAT  Stable



Réciproquement, si G a un stable de taille m, 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.

57
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.2: RECOUVREMENT DES SOMMETS


Soit un graphe non orienté G et un entier k. Le problème
consiste à décider s’il existe un ensemble d'au plus k
sommets couvrants toutes les arêtes (au moins une des 2

extrémités est couverte).


Théorème

6.2

(Karp,

1972):

Le

problème

du

recouvrement des sommets est NP-Complet.
58
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.2: RECOUVREMENT DES SOMMETS


Preuve 6.2: Il faut montrer que :

1.

Stable est dans NP;

2.

Stable  Recouvrement des sommets.



Le problème recouvrement des sommets est équivalent
au problème stable par passage au complémentaire:

Si G = (V, E) admet un stable X de taille k alors V-X
59

est un couvrant de taille n-k de G.
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE


Soit un ensemble fini d'entiers E et un entier t. Le
problème consiste à décider s’il existe un sous ensemble
E’ E tel que



Théorème 6.2 (Karp, 1972): Le problème de somme

de sous ensemble est NP-Complet.
60
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE


Preuve 6.3: Il faut montrer que :

1.

Stable est dans NP;

2.

Recouvrement des sommets  Somme de sous ensemble.

Un graphe
G = (A, B)

R

Oui
Un ensemble
d’entier E et
un entier t

?

Non
61
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE


Preuve 6.3: Recouvrement des sommets  Somme

de sous ensemble.


Numéroter les sommets (A) entre 0 et n-1 et les arêtes (B) entre 0 et
m-1.



Soit D = (dij) la matrice d’incidence arête-sommet, c.-à-d.: que dij = 1
si l’arête i est incidente au sommet j, dij = 0 sinon.



Construire l'ensemble E à partir de G comme suit:



Pour chaque arête i est associé l'entier bi (b4)



Pour chaque sommet j est associé un poids aj tel que:

62
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE


Preuve 6.3: Recouvrement des sommets  Somme

de sous ensemble.


Construire l'ensemble E à partir de G comme suit:



Pour chaque arête i est associé l'entier bi (b4)



Pour chaque sommet j est associé un poids aj tel que:



On construit l'entier t :
63
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE


Preuve 6.3: Recouvrement des sommets  Somme

de sous ensemble.
1.

Pour tout sous-ensemble E’ de somme t, il y a k termes
correspondant à des sommets dans E’.

2.

Inversement, étant donnée une couverture de sommets,

on construit l’ensemble E’ en prenant tout simplement
les sommets de la couverture.
3.

Il est facile de voir que la réduction s’effectue en temps

polynomial.

64
THÉORIE NP-COMPLÉTUDE
PROBLÈME 6: SAC À DOS


Théorème 6: Le problème du sac à dos est NPComplet.



Preuve 6: Il faut montrer que :

1.

Sac à Dos est dans NP;

2.

Somme de sous ensemble  Sac à dos



En particulier pour ai = pi et Pmax = Vmax = t, on trouve
65

problème de somme de sous ensemble.
SOURCES DE CE COURS


Olivier Bournez, Fondements de l’informatique Logique, modèles, et calculs,

Chapitre 12: Quelques problèmes NP-complets, Cours INF423 de l’Ecole
Polytechnique, 2013, pp. 234.


Jean Fonlupt et Alexandre Skoda. Optimisation combinatoire – Théorie et

algorithmes, Chapitre 15: NP-complétude, 2010, 664p.


Gilles Schaeffer, Cours 4: Réduction et NP-complétude, 2010, pp. 124,
Disponible

sur

http://www.enseignement.polytechnique.fr/informatique/INF550/Cours1011/
INF550-2010-5.pdf


Johanne Cohen, La NP-complétude, PRISM/CNRS, 2012, pp. 95, Disponible
66

sur http://www.prism.uvsq.fr/~joco/enseignement/Complexite.pdf

Contenu connexe

Tendances

Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
Mestari-Mohammed
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabouAchraf Manaa
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
Sana Aroussi
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
Sana Aroussi
 
L’optimisation par essaims de particules
L’optimisation par essaims de particulesL’optimisation par essaims de particules
L’optimisation par essaims de particules
chagra bassem
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéSana Aroussi
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
Niji
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
Mohamed Heny SELMI
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
Boris Guarisma
 
Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmis
kamar MEDDAH
 
chap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdfchap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdf
donixwm
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
Mohamed Heny SELMI
 
Problème De Sac à Dos
Problème De Sac à Dos Problème De Sac à Dos
Problème De Sac à Dos
chagra bassem
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
Sana Aroussi
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
Yassine Badri
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
Mohamed Heny SELMI
 

Tendances (20)

Diviser Pour Régner
Diviser Pour RégnerDiviser Pour Régner
Diviser Pour Régner
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
L’optimisation par essaims de particules
L’optimisation par essaims de particulesL’optimisation par essaims de particules
L’optimisation par essaims de particules
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalité
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Introduction au Deep Learning
Introduction au Deep Learning Introduction au Deep Learning
Introduction au Deep Learning
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
Algorithme Colonie de fourmis
Algorithme Colonie de fourmisAlgorithme Colonie de fourmis
Algorithme Colonie de fourmis
 
chap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdfchap2 algorithme de recherche.pdf
chap2 algorithme de recherche.pdf
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 
Problème De Sac à Dos
Problème De Sac à Dos Problème De Sac à Dos
Problème De Sac à Dos
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
 

Similaire à Chapitre vi np complétude

La recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoireLa recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoire
sarah Benmerzouk
 
csp_sir_C1_4.pptx
csp_sir_C1_4.pptxcsp_sir_C1_4.pptx
csp_sir_C1_4.pptx
Alkalimatayiba
 
NP-complet.ppt
NP-complet.pptNP-complet.ppt
NP-complet.ppt
MbarkiIsraa
 
Décidabilité et complexité 4_4 _ Problèmes NP-Complets.pdf
Décidabilité et complexité 4_4 _ Problèmes NP-Complets.pdfDécidabilité et complexité 4_4 _ Problèmes NP-Complets.pdf
Décidabilité et complexité 4_4 _ Problèmes NP-Complets.pdf
DariusSteves
 
À la chasse aux bugs avec la Laboratoire d'informatique formelle
À la chasse aux bugs avec la Laboratoire d'informatique formelleÀ la chasse aux bugs avec la Laboratoire d'informatique formelle
À la chasse aux bugs avec la Laboratoire d'informatique formelle
Sylvain Hallé
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdf
donixwm
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
Mouloudi1
 
Regression logistque
Regression  logistqueRegression  logistque
Regression logistque
Ferdaous HDIOUD
 
presentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfpresentation kadimi wahidi.pdf
presentation kadimi wahidi.pdf
mouadwahidi
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexes
Ahmed Ali
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
MbarkiIsraa
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)DriNox NordisTe
 
Oral 1 CAPES Maths - L'intégration en terminale
Oral 1 CAPES Maths - L'intégration en terminaleOral 1 CAPES Maths - L'intégration en terminale
Oral 1 CAPES Maths - L'intégration en terminale
Dany-Jack Mercier
 
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
RichardTerrat1
 
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII :  Systèmes linéaires Modélisation & SimulationCHAPITRE VIII :  Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
Mohammed TAMALI
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeJiijishady
 
Programmation par contraintes
Programmation par contraintesProgrammation par contraintes
Programmation par contraintes
Orochi Krizalid
 
02_Propositions (1).pdf
02_Propositions (1).pdf02_Propositions (1).pdf
02_Propositions (1).pdf
BellaSalima
 
Compter les triangles en PROLOG
Compter les triangles en PROLOGCompter les triangles en PROLOG
Compter les triangles en PROLOG
Jean Rohmer
 

Similaire à Chapitre vi np complétude (20)

La recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoireLa recherche opérationnelle et l'optimisation combinatoire
La recherche opérationnelle et l'optimisation combinatoire
 
Oc1 2013
Oc1 2013Oc1 2013
Oc1 2013
 
csp_sir_C1_4.pptx
csp_sir_C1_4.pptxcsp_sir_C1_4.pptx
csp_sir_C1_4.pptx
 
NP-complet.ppt
NP-complet.pptNP-complet.ppt
NP-complet.ppt
 
Décidabilité et complexité 4_4 _ Problèmes NP-Complets.pdf
Décidabilité et complexité 4_4 _ Problèmes NP-Complets.pdfDécidabilité et complexité 4_4 _ Problèmes NP-Complets.pdf
Décidabilité et complexité 4_4 _ Problèmes NP-Complets.pdf
 
À la chasse aux bugs avec la Laboratoire d'informatique formelle
À la chasse aux bugs avec la Laboratoire d'informatique formelleÀ la chasse aux bugs avec la Laboratoire d'informatique formelle
À la chasse aux bugs avec la Laboratoire d'informatique formelle
 
chap 3 complexité (3).pdf
chap 3 complexité (3).pdfchap 3 complexité (3).pdf
chap 3 complexité (3).pdf
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Regression logistque
Regression  logistqueRegression  logistque
Regression logistque
 
presentation kadimi wahidi.pdf
presentation kadimi wahidi.pdfpresentation kadimi wahidi.pdf
presentation kadimi wahidi.pdf
 
Omp math nombres-complexes
Omp math nombres-complexesOmp math nombres-complexes
Omp math nombres-complexes
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)Algorithmique seconde (corrigés et commentaires)
Algorithmique seconde (corrigés et commentaires)
 
Oral 1 CAPES Maths - L'intégration en terminale
Oral 1 CAPES Maths - L'intégration en terminaleOral 1 CAPES Maths - L'intégration en terminale
Oral 1 CAPES Maths - L'intégration en terminale
 
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
Algorithmes récursifs : une introduction pragmatique pour un enseignement au ...
 
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII :  Systèmes linéaires Modélisation & SimulationCHAPITRE VIII :  Systèmes linéaires Modélisation & Simulation
CHAPITRE VIII : Systèmes linéaires Modélisation & Simulation
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
 
Programmation par contraintes
Programmation par contraintesProgrammation par contraintes
Programmation par contraintes
 
02_Propositions (1).pdf
02_Propositions (1).pdf02_Propositions (1).pdf
02_Propositions (1).pdf
 
Compter les triangles en PROLOG
Compter les triangles en PROLOGCompter les triangles en PROLOG
Compter les triangles en PROLOG
 

Plus de Sana Aroussi

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
Sana Aroussi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
Sana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
Sana Aroussi
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
Sana Aroussi
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
Sana Aroussi
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
Sana Aroussi
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
Sana Aroussi
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Sana Aroussi
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursSana Aroussi
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurSana Aroussi
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 

Plus de Sana Aroussi (19)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 

Dernier

Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 

Dernier (13)

Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 

Chapitre vi np complétude

  • 1. Université Saad Dahleb de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatique (GSI) Semestre 5 (3ème année) ALGORITHMIQUE 02 CHAPITRE VI: NP-COMPLÉTUDE AROUSSI 2013-2014 Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2. PLAN DU CHAPITRE VI  Introduction (Vocabulaire Général)  Classification  Notion de Réduction  Théorie de NP-Complétude  Quelques  de Problème Problèmes NP-Complets Conclusion 2
  • 3. INTRODUCTION PROBLÈME DE DÉCISION  Pour des raisons de simplicité et techniques, la théorie de la NP-Complétude se limite à l’étude des problèmes de décision dont la solution est formulée en termes oui/non.  Un problème de décision est une paire P =(X,Y), où  X est l’ensemble des instances de P ;  Y est l’ensemble des instances-«oui»  X Y est l’ensemble des instances-«non» 3
  • 4. INTRODUCTION PROBLÈME DE DÉCISION  Un algorithme pour un problème de décision (X,Y) est un algorithme qui calcule la fonction F : X →{0, 1}, définie par  Cette restriction aux problèmes de décision est justifiée par le fait que les autres problèmes qui ne sont pas de décision, comme les problèmes d’optimisation et de recherche, peuvent être facilement transformés en un problème de décision équivalent. 4
  • 5. INTRODUCTION PROBLÈME DE DÉCISION VS AUTRES PROBLÈMES  Problème de Recherche: Exemple Entrée Réponse Algorithme de recherche (Trouver un arbre recouvrant) G (X, E) non orienté Arbre recouvrant Algorithme de décision (Existence d’un arbre recouvrant) G (X, E) non orienté Oui/Non Réduction de la recherche à la décision par test d'hypothèse (La connexité de G) 5
  • 6. INTRODUCTION PROBLÈME DE DÉCISION VS AUTRES PROBLÈMES  Problème d’Optimisation: Exemple Entrée Réponse Algorithme d’optimisation (Trouver un arbre recouvrant de poids minimum) G (X, E, W) non orienté Arbre recouvrant minimum Algorithme de décision (Existence d’un arbre recouvrant de poids  k) G (X, E, W) non orienté Oui/Non Lorsque le critère d'optimisation est borné a priori, réduction de l'optimisation à la décision par test d'hypothèse (La connexité de G et le poids de l’arbre recouvrant). 6
  • 7. INTRODUCTION ALGORITHME DÉTERMINISTE VS NON-DÉTERMINISTE  Un algorithme déterministe est un algorithme dont la solution qu’il produit peut être déduite des spécifications de l’algorithme lui-même.  Un algorithme non déterministe est un algorithme dont la solution est devinée puis vérifiée. 7
  • 8. INTRODUCTION ALGORITHME EFFICACE  Pour différentes raisons, la convention suivante s’est imposée en informatique : Un algorithme est efficace (ou facile) si sa complexité en temps est polynomiale, c’est-à-dire en O(nk) pour un entier k.  Un problème est de complexité polynomiale s'il existe un algorithme de complexité polynomiale le résolvant. 8
  • 9. CLASSIFICATION DES PROBLÈMES CLASSE P  La classe P regroupe tous les problèmes de décision qui peuvent être résolus par un algorithme déterministe de complexité polynomiale.  Exemple:  Problème de l’existence de l’arbre de recouvrement de poids  k (Algorithme de Kruskal)  9 Problème de l’existence d’un chemin de longueur  k (Algorithme de Dijkstra)
  • 10. CLASSIFICATION DES PROBLÈMES CLASSE NP  La classe NP (Non deterministic Polynomial) regroupe tous les problèmes de décision qui peuvent être résolus par un algorithme non-déterministe de complexité polynomiale (i.e. dont la solution peut être vérifiée en temps polynomial)  Pour montrer qu’un problème est dans la classe NP, il suffit de trouver un algorithme qui vérifie si une sol ution donnée est valide en temps polynomiale. 10
  • 11. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 1: Problème de Satisfaction en calcul propositionnel (SAT)  Soit F = (x1, ...., xn) une formule du calcul propositionnel en Forme Normale Conjonctive, i.e. F = C1  C2  .....  Cm pour une collection de clauses {C1, C2, ....., Cm} sur l’ ensemble X = {x1, ...., xn } de variables booléennes (littéraux).  Décider si F est satisfiable, c-à-d décider s’il existe x1, ...., xn  {0, 1}n tel que F s’évalue en vraie pour cette valeur 11 de ses variables (toutes les clauses de C soient vraies).
  • 12. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 2: Problème de K-SAT (k>2)  Soit F = (x1, ...., xn) une formule du calcul propositionnel en Forme Normale Conjonctive, i.e. F = C1  C2  .....  Cm pour une collection de clauses {C1, C2, ....., Cm} sur l’ensemble X = {x1, ...., xn } tel que chaque clause contient exactement k littéraux |Ci| = k.  Décider si F est satisfiable, c-à-d décider s’il existe x1, ...., xn  {0, 1}n tel que F s’évalue en vraie pour cette valeur de ses variables (toutes les clauses de C soient vraies). 12
  • 13. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 3: Problème de sac à dos entier  Soient un ensemble d’objets avec un poids Pi et une valeur Vi, une capacité de sac à dos Pmax et un objectif de valeur Vmax.  Déterminer s’il existe un ensemble d’objets dont le poids total  Pmax et la valeur totale  Vmax. 13
  • 14. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 4: Problème du cycle hamiltonien  Soit G = (X, E) un graphe non orienté  Déterminer s’il existe un cycle hamiltonien, c’est-à-dire décider s’il existe un chaîne de G passant une fois et une seule par chacun des sommet et revenant à son point de départ.  Variantes: chaîne hamiltonien, hamiltonien, chemin hamiltonienne. circuit 14
  • 15. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 5: Problème de voyageur de commerce (PVC)  Un représentant doit visiter n villes. Il souhaite faire une tournée en visitant chaque ville exactement une fois et en terminant sa tournée dans la ville de départ.  Le voyage entre la ville i et la ville j a un coût c (i, j), et le représentant souhaite effectuer une tournée dont le coût total est 15 minimum.
  • 16. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 5: Problème de voyageur de commerce (PVC)  Le problème de décision correspondant est:  Soit un graphe G= (V, E, C) non orienté.  Décider s’il existe une tournée de coût  k. 16
  • 17. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 6: Problème de Coloriage de Graphe  Étant donnée le graphe G = (X, E) non orienté, déterminer le nombre minimal de couleurs pour colorier les sommets X du G tel que deux sommets adjacent soient de couleur différente. 17
  • 18. CLASSIFICATION DES PROBLÈMES CLASSE NP  Problème 6: Problème de Coloriage de Graphe  Le problème de décision correspondant est:  Soient un graphe G = (X, E) et un entier k  Déterminer si le graphe G admet un coloriage avec au moins de k couleurs.  Ce problème de décision est connu sous le nom du 18 problème K-Coloriabilité
  • 19. CLASSIFICATION DES PROBLÈMES COMPARAISON ENTRE LES DEUX CLASSES P ET NP  Clairement, P  NP mais la question qui se pose est : P = NP ?  C’est l’une des questions (voire la question) non résolue les plus célèbres qui défie les chercheurs depuis plus de 40 ans : elle a été placée parmi la liste des sept problèmes du prix du millénaire réputés insurmontables posés par le l’institut Clay Mathematical en 2000. L’institut offre un million de dollars à qui déterminerait la réponse à cette question. 19
  • 20. CLASSIFICATION DES PROBLÈMES COMPARAISON ENTRE LES DEUX CLASSES P ET NP  Clairement, P  NP mais la question qui se pose est : P = NP ?  Intérêt: Si P = NP, alors tous les problèmes vérifiables polynomialement seraient décidables en temps polynomial.  La plupart des personnes pensent que ces deux classes sont distinctes car il y a un très grand nombre de problèmes pour lesquels on n’arrive pas à produire d’algorithme polynomiaux depuis plus de 40 ans. 20
  • 21. NOTION DE RÉDUCTION IDÉE  Soient A et B deux problèmes. Si A se réduit à B (noté A  B) , alors  le problème A est plus facile que le problème B, ou  le problème B est plus difficile que le problème A. 21
  • 22. NOTION DE RÉDUCTION DÉFINITION  Soient A (XA, YA) et B (XB, YB) deux problèmes de décision. Une réduction de A vers B (A  B) est une fonction R : XA  XB calculable en temps polynomial telle que aYA ssi R(a) YB : R 22
  • 23. NOTION DE RÉDUCTION PROPRIÉTÉS  Soient A (XA, YA), B (XB, YB) et C (XC, YC) des problèmes de décision.  AA  A  B et B  C impliquent A  C.  A  B et B  A impliquent A  B (A et B sont équivalents). 23
  • 24. NOTION DE RÉDUCTION APPLICATION À LA COMPARAISON DE DIFFICULTÉ  Intuitivement, si un problème est plus facile qu’un problème polynomial, alors il est polynomial.  Formellement :  Si A  B, et si B  P alors A  P.  Si A  B, et si A  P alors B  P. 24
  • 25. THÉORIE NP-COMPLÉTUDE DÉFINITION  Un problème B est dit NP-complet, si 1. 2.  B  NP  A  NP, A  B. Les problèmes NP-complets sont donc les plus difficiles de la classe NP. 25
  • 26. THÉORIE NP-COMPLÉTUDE PREUVE  Pour prouver la NP-complétude d’un problème B, il suffit de prouver que : 1. B est dans NP; 2. A  B pour un problème A que l’on sait déjà NPcomplet.  La difficulté est d’arriver à en produire un premier 26 problème NP-Complet.
  • 27. THÉORIE NP-COMPLÉTUDE PROBLÈME 1: SAT  Théorème 1 (Cook-Levin, 1971): Le problème SAT est NP-complet.  Le problème SAT est le premier problème montré comme NP-complet.  Résultat admis: la preuve consiste en un codage d'une machine de Turing qui vérifie les solutions de P en temps polynomial.  Ce théorème va être utilisé pour en montrer par réduction d’autres problèmes NP-Complet. 27
  • 28. THÉORIE NP-COMPLÉTUDE PROBLÈME 2: 3-SAT  Théorème 2 (Cook-Levin, 1971): Le problème de 3SAT est NP-Complet.  Preuve 2: Il faut montrer que : 1. 3-SAT est dans NP; 2. SAT  3-SAT (réduire SAT à 3-SAT). Fsat R F3-sat F3-sat est elle satisfiable? Oui 28 Non
  • 29. THÉORIE NP-COMPLÉTUDE PREUVE 2 : LE PROBLÈME DE DE 3-SAT EST NP-COMPLET  Preuve 2: SAT  3-SAT (réduire SAT à 3-SAT).  Toute clause du problème SAT peut être remplacée de manière équivalente par un ensemble de clauses 3-SAT qui contiennent chacune exactement trois littéraux. 29
  • 30. THÉORIE NP-COMPLÉTUDE PREUVE 2 : LE PROBLÈME DE DE 3-SAT EST NP-COMPLET  Preuve 2: SAT  3-SAT (réduire SAT à 3-SAT).  Toute clause du problème SAT peut être remplacée de manière équivalente par un ensemble de clauses 3-SAT qui contiennent chacune exactement trois littéraux. 30
  • 31. THÉORIE NP-COMPLÉTUDE PREUVE 2 : LE PROBLÈME DE DE 3-SAT EST NP-COMPLET  Preuve 2: SAT  3-SAT (réduire SAT à 3-SAT).  La satisfiabilité des clauses Z’ est donc équivalente à la satisfaisabilité de l’ensemble initiale Z.  La réduction est manifestement polynomiale ; on a donc bien prouvé que SAT se réduisait à 3-SAT; ce dernier est donc bien NP-complet 31
  • 32. THÉORIE NP-COMPLÉTUDE PROBLÈME 3: 3-COLORIABLE  Théorème 3: Le problème de 3-Coloriable est NPComplet.  Preuve 3: Il faut montrer que : 1. 3-Coloriable est dans NP; 2. 3-SAT  3-Coloriable (réduire 3-SAT à 3-Coloriable). F3-sat R G = (V, E) G est il 3Coloriable ? Non Oui 32
  • 33. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME  DE 3-COLORIABLE EST NP-COMPLET Preuve 3: 3-SAT  3-Coloriable. On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:  Les trois premiers sont notés VRAI, FAUX, NSP. Ces trois sommets sont reliés deux à deux en triangle, de sorte qu’ils doivent être tous trois de couleurs différentes. On appellera les couleurs correspondantes CVRAI(e.g. vert), CFAUX(e.g. rouge), CNSP (e.g. bleu) NSP VRAI FAUX 33
  • 34. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME  DE 3-COLORIABLE EST NP-COMPLET Preuve 3: 3-SAT  3-Coloriable. On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:  On associe un sommet à chaque variable (Xi) et au complémentaire de chaque variable (Not Xi). Pour assurer qu’une variable prenne la valeur VRAI ou FAUX, pour chaque variable xi on construit un triangle dont les sommets sont Xi, NOT Xi, et NSP. NSP Xi NSP Not Xi Xi Not Xi 34
  • 35. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME  DE 3-COLORIABLE EST NP-COMPLET Preuve 3: 3-SAT  3-Coloriable. On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:  Pour chaque clause {A, B, C}, on introduit le motif : A 3 2 B 4 C  0 Ce motif sous graphe est 3-coloriable VRAI 1 35
  • 36. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME  DE 3-COLORIABLE EST NP-COMPLET Preuve 3: 3-SAT  3-Coloriable. On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:  Ce motif est 3-coloriable A 3 2 B CVRAI ou CFAUX A CVRAI ou CFAUX C 4 VRAI C 1 3 2 B 0 0 4 VRAI 1 36
  • 37. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME  3-COLORIABLE EST NP-COMPLET DE Preuve 3: 3-SAT  3-Coloriable. On construit un graphe ayant 3 + 2 n + 5 m sommets tels que:  Ce motif est 3-coloriable A 3 2 CVRAI ou CFAUX B 4 VRAI C CVRAI ou CFAUX A C 1 3 2 B 0 0 4 VRAI 1 37
  • 38. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME DE 3-COLORIABLE EST NP-COMPLET  Preuve 3: 3-SAT  3-Coloriable.  Considérons alors le graphe formé des trois sommets distingués, des triangles formés sur les variables, et des motifs donnés. Si ce graphe est 3-coloriable, alors en particulier tout sous-graphe est coloriable.  À partir d’une 3-coloration du graphe, on construit une affectation de valeurs de vérité en mettant à 1 toutes les variables coloriées par CVRAI. Cette affectation est cohérente (une variable et son complémentaire ont bien une valeur opposée) et au moins une variable par clause est à 1.  Inversement, étant donné une affectation de valeurs de vérité, il est 38 aisé de déduire une 3-coloration du graphe.
  • 39. THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME DE 3-COLORIABLE EST NP-COMPLET  Preuve 3: 3-SAT  3-Coloriable.  L’existence d’une 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 réduisait à 3-COLORABILITE ; ce dernier est donc bien NP-complet. 39
  • 40. THÉORIE NP-COMPLÉTUDE PROBLÈME 4: CYCLE HAMILTONIEN  Théorème 4 (Karp, 1972): Le problème de Cycle Hamiltonien est NP-Complet.  Preuve 4: Il faut montrer que : 1. Cycle Hamiltonien est dans NP; 2. Plusieurs méthodes: a. 3-SAT  Cycle Hamiltonien. b. 3-SAT  Recouvrement de Sommets Cycle Hamiltonien c. 40 3-SAT  Stable  Recouvrement de Sommets  Cycle hamiltonien
  • 41. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET  Preuve 4 (Papadimitriou et Steiglitz, 1982) : 3-SAT  Cycle Hamiltonien. F3-sat R G = (V, E) G contient il un C. H? Oui Non 41
  • 42. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET  Preuve 4 (Papadimitriou et Steiglitz, 1982) :  On construit le graphe de la manière suivante:  Pour chaque variable, on introduit le sous graphe suivant: X Not X  Chaque nouvelle variable est liée à la précédente X1 X2 Xn 42
  • 43. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET    Preuve 4 (Papadimitriou et Steiglitz, 1982) : On construit le graphe de la manière suivante: Pour chaque clause, on introduit la structure B : Aucun cycle hamiltonien de G ne peut traverser à la fois L1, L2 et L3. U' L3 L2 L1 U 43
  • 44. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET    Preuve 4 (Papadimitriou et Steiglitz, 1982) : On construit le graphe de la manière suivante: Les clauses sont liées comme suit: C1 X1 C2 X2 Cm Xn 44
  • 45. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET    Preuve 4 (Papadimitriou et Steiglitz, 1982) : On construit le graphe de la manière suivante: Les littéraux de chaque clause sont liés aux variables la structure A suivante: 45
  • 46. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET  Preuve 4 (Papadimitriou et Steiglitz, 1982) :  Par exemple, le graphe suivant présente ces clauses C1 C2 A A A C3 A A A A A X1 A 46 X2 X3
  • 47. THÉORIE NP-COMPLÉTUDE PREUVE 4 : LE PROBLÈME DE CYCLE HAMILTONIEN EST NP-COMPLET  Preuve 4 (Papadimitriou et Steiglitz, 1982) :  Nous affirmons maintenant que G est hamiltonien si et seulement si F3-sat est satisfaisable. Soit C un cycle hamiltonien. On définit un assignement en fixant un littéral à vrai si et seulement si C contient l’arête correspondante. D’après les propriétés des structures A et B, chaque clause contient un littéral qui est vrai.  Inversement, tout assignement satisfaisant définit un ensemble d’arêtes qui correspondent à des littéraux qui sont vrai. Comme chaque clause contient un littéral qui est vrai, cet ensemble d’arêtes peut être complété en un cycle hamiltonien de G.  Enfin, la réduction est trivialement polynomiale. 47
  • 48. THÉORIE NP-COMPLÉTUDE PROBLÈME 5: PVC  Théorème 5: Le problème du voyageur de Commerce (PVC) est NP-Complet.  Preuve 5: Il faut montrer que : 1. 2.  PVC est dans NP; Cycle Hamiltonien  PVC. Le problème PVC revient à trouver un cycle hamiltonien 48 C dont la somme des poids des arêtes soit minimum.
  • 49. THÉORIE NP-COMPLÉTUDE PROBLÈME 6: SAC À DOS  Théorème 6: Le problème du sac à dos est NPComplet.  Preuve 6: Il faut montrer que : 1. Sac à Dos est dans NP; 2. 3-SAT  Stable  Recouvrement des sommets  Somme de sous ensemble  Sac à dos 49
  • 50. THÉORIE NP-COMPLÉTUDE PREUVE 6 : LE PROBLÈME DE SAC À DOS EST NP-COMPLET  Preuve 6: 3-SAT  Stable  Recouvrement des sommets  Somme de sous ensemble  Sac à dos.  Théorème 6.1 (Karp, 1972): Le problème du stable est NP- Complet.  Théorème 6.2 (Karp, 1972): Le problème du recouvrement des sommets est NP-Complet.  Théorème 6.3 (Karp, 1972): Le problème de somme de sous 50 ensemble est NP-Complet.
  • 51. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.1: STABLE  Soit un graphe non orienté G et un entier k. Le problème consiste à décider s’il existe un ensemble d'au moins k sommets, ne contenant aucune paire de sommets voisins.  On appelle un tel ensemble un stable ou un ensemble indépendant de G. 51
  • 52. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.1: STABLE  Théorème 6.1 (Karp, 1972): Le problème du stable est NP-Complet.  Preuve 6.1: Il faut montrer que : 1. Stable est dans NP; 2. 3-SAT  Stable. F3-sat R G = (V, E) G contient il un stable de taille k? Oui 52 Non
  • 53. THÉORIE NP-COMPLÉTUDE PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET  Preuve 6.1: 3-SAT  Stable  On construit un graphe G avec 3m sommets (m le nombre des clauses):  Pour chaque littéral xi, G possède une arête entre chaque sommet associé à un littéral xi et chaque sommet associé à un littéral not xi  Xi Not Xi Ainsi, un stable de G correspond à une affectation de valeurs de vérité à une partie des variables; 53
  • 54. THÉORIE NP-COMPLÉTUDE PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET  Preuve 6.1: 3-SAT  Stable  On construit un graphe G avec 3m sommets (m le nombre des clauses):  Pour chaque clause C = L1  L2  L3, on associe un triangle. L1 L3  Ainsi, L2 un stable de G contient au plus un des trois sommets associés à la clause C 54
  • 55. THÉORIE NP-COMPLÉTUDE PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET  Preuve 6.1: 3-SAT  Stable  Par exemple, le graphe suivant présente ces clauses X1 Not X2 Not X1 Not X3 X2 Not X3 Not X1 X3 Not X2 55
  • 56. THÉORIE NP-COMPLÉTUDE PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET  Preuve 6.1: 3-SAT  Stable  Soit m le nombre de clauses dans F. On démontre que F est satisfiable ssi G possède un stable de taille m.  En effet, si F est satisfiable, on considère une assignation des variables satisfaisant F. Pour chaque clause C de F, on choisit un littéral de C rendu vrai par l’assignation : cela définit m sommets formant un stable de G. 56
  • 57. THÉORIE NP-COMPLÉTUDE PREUVE 6.1 : LE PROBLÈME DE STABLE EST NP-COMPLET  Preuve 6.1: 3-SAT  Stable  Réciproquement, si G a un stable de taille m, 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. 57
  • 58. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.2: RECOUVREMENT DES SOMMETS  Soit un graphe non orienté G et un entier k. Le problème consiste à décider s’il existe un ensemble d'au plus k sommets couvrants toutes les arêtes (au moins une des 2 extrémités est couverte).  Théorème 6.2 (Karp, 1972): Le problème du recouvrement des sommets est NP-Complet. 58
  • 59. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.2: RECOUVREMENT DES SOMMETS  Preuve 6.2: Il faut montrer que : 1. Stable est dans NP; 2. Stable  Recouvrement des sommets.  Le problème recouvrement des sommets est équivalent au problème stable par passage au complémentaire: Si G = (V, E) admet un stable X de taille k alors V-X 59 est un couvrant de taille n-k de G.
  • 60. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE  Soit un ensemble fini d'entiers E et un entier t. Le problème consiste à décider s’il existe un sous ensemble E’ E tel que  Théorème 6.2 (Karp, 1972): Le problème de somme de sous ensemble est NP-Complet. 60
  • 61. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE  Preuve 6.3: Il faut montrer que : 1. Stable est dans NP; 2. Recouvrement des sommets  Somme de sous ensemble. Un graphe G = (A, B) R Oui Un ensemble d’entier E et un entier t ? Non 61
  • 62. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE  Preuve 6.3: Recouvrement des sommets  Somme de sous ensemble.  Numéroter les sommets (A) entre 0 et n-1 et les arêtes (B) entre 0 et m-1.  Soit D = (dij) la matrice d’incidence arête-sommet, c.-à-d.: que dij = 1 si l’arête i est incidente au sommet j, dij = 0 sinon.  Construire l'ensemble E à partir de G comme suit:  Pour chaque arête i est associé l'entier bi (b4)  Pour chaque sommet j est associé un poids aj tel que: 62
  • 63. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE  Preuve 6.3: Recouvrement des sommets  Somme de sous ensemble.  Construire l'ensemble E à partir de G comme suit:  Pour chaque arête i est associé l'entier bi (b4)  Pour chaque sommet j est associé un poids aj tel que:  On construit l'entier t : 63
  • 64. THÉORIE NP-COMPLÉTUDE PROBLÈME 6.3: SOMME DE SOUS ENSEMBLE  Preuve 6.3: Recouvrement des sommets  Somme de sous ensemble. 1. Pour tout sous-ensemble E’ de somme t, il y a k termes correspondant à des sommets dans E’. 2. Inversement, étant donnée une couverture de sommets, on construit l’ensemble E’ en prenant tout simplement les sommets de la couverture. 3. Il est facile de voir que la réduction s’effectue en temps polynomial. 64
  • 65. THÉORIE NP-COMPLÉTUDE PROBLÈME 6: SAC À DOS  Théorème 6: Le problème du sac à dos est NPComplet.  Preuve 6: Il faut montrer que : 1. Sac à Dos est dans NP; 2. Somme de sous ensemble  Sac à dos  En particulier pour ai = pi et Pmax = Vmax = t, on trouve 65 problème de somme de sous ensemble.
  • 66. SOURCES DE CE COURS  Olivier Bournez, Fondements de l’informatique Logique, modèles, et calculs, Chapitre 12: Quelques problèmes NP-complets, Cours INF423 de l’Ecole Polytechnique, 2013, pp. 234.  Jean Fonlupt et Alexandre Skoda. Optimisation combinatoire – Théorie et algorithmes, Chapitre 15: NP-complétude, 2010, 664p.  Gilles Schaeffer, Cours 4: Réduction et NP-complétude, 2010, pp. 124, Disponible sur http://www.enseignement.polytechnique.fr/informatique/INF550/Cours1011/ INF550-2010-5.pdf  Johanne Cohen, La NP-complétude, PRISM/CNRS, 2012, pp. 95, Disponible 66 sur http://www.prism.uvsq.fr/~joco/enseignement/Complexite.pdf