chapitre vi np complétude

66
CHAPITRE VI: NP-COMPLÉTUDE 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 AROUSSI 2013-2014 Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/

Upload: sana-aroussi

Post on 28-Nov-2014

340 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

CHAPITRE VI:

NP-COMPLÉTUDE

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

AROUSSI

2013-2014

Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/

PLAN DU CHAPITRE VI

Introduction (Vocabulaire Général)

Classification de Problème

Notion de Réduction

Théorie de NP-Complétude

Quelques Problèmes NP-Complets

Conclusion 2

3

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»

INTRODUCTION PROBLÈME DE DÉCISION

4

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.

INTRODUCTION PROBLÈME DE DÉCISION

5

Problème de Recherche:

Réduction de la recherche à la décision par test

d'hypothèse (La connexité de G)

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

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

6

Problème d’Optimisation:

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).

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

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

7

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.

INTRODUCTION ALGORITHME DÉTERMINISTE VS NON-DÉTERMINISTE

8

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.

INTRODUCTION ALGORITHME EFFICACE

9

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)

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

de Dijkstra)

CLASSIFICATION DES PROBLÈMES CLASSE P

10

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.

CLASSIFICATION DES PROBLÈMES CLASSE NP

11

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 de

ses variables (toutes les clauses de C soient vraies).

CLASSIFICATION DES PROBLÈMES CLASSE NP

12

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).

CLASSIFICATION DES PROBLÈMES CLASSE NP

13

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.

CLASSIFICATION DES PROBLÈMES CLASSE NP

14

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, circuit

hamiltonien, chemin hamiltonienne.

CLASSIFICATION DES PROBLÈMES CLASSE NP

15

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

minimum.

CLASSIFICATION DES PROBLÈMES CLASSE NP

16

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.

CLASSIFICATION DES PROBLÈMES CLASSE NP

17

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.

CLASSIFICATION DES PROBLÈMES CLASSE NP

18

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

problème K-Coloriabilité

CLASSIFICATION DES PROBLÈMES CLASSE NP

19

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.

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

20

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.

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

21

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.

NOTION DE RÉDUCTION IDÉE

22

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

aYA ssi R(a) YB :

NOTION DE RÉDUCTION DÉFINITION

R

23

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).

NOTION DE RÉDUCTION PROPRIÉTÉS

24

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.

NOTION DE RÉDUCTION APPLICATION À LA COMPARAISON DE DIFFICULTÉ

25

THÉORIE NP-COMPLÉTUDE DÉFINITION

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

1. B NP

2. A NP, A B.

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

la classe NP.

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à NP-

complet.

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

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.

28

THÉORIE NP-COMPLÉTUDE

PROBLÈME 2: 3-SAT

Théorème 2 (Cook-Levin, 1971): Le problème de 3-

SAT est NP-Complet.

Preuve 2: Il faut montrer que :

1. 3-SAT est dans NP;

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

R

F3-sat

est elle

satisfiable? Fsat

F3-sat

Non

Oui

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).

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.

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

32

THÉORIE NP-COMPLÉTUDE

PROBLÈME 3: 3-COLORIABLE

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

Complet.

Preuve 3: Il faut montrer que :

1. 3-Coloriable est dans NP;

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

R

G

est il 3-

Coloriable

?

F3-sat G = (V, E)

Non

Oui

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

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 Not

Xi

NSP

Xi Not

Xi

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 :

Ce motif sous graphe est 3-coloriable

A

B

C

3

4

2 0

1

VRAI

36

A

B

C

3

4

2 0

1

VRAI

CVRAI ou CFAUX

A

B

C

3

4

2 0

1

VRAI

CVRAI ou CFAUX

Preuve 3: 3-SAT 3-Coloriable.

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

Ce motif est 3-coloriable

THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME DE 3-COLORIABLE EST NP-COMPLET

37

Preuve 3: 3-SAT 3-Coloriable.

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

Ce motif est 3-coloriable

THÉORIE NP-COMPLÉTUDE PREUVE 3 : LE PROBLÈME DE 3-COLORIABLE EST NP-COMPLET

A

B

C

3

4

2 0

1

VRAI

CVRAI ou CFAUX

A

B

C

3

4

2 0

1

VRAI

CVRAI ou CFAUX

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

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.

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. 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.

R G

contient il

un C. H? F3-sat

G = (V, E)

Non

Oui

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:

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

X

Not X

X1 X2 Xn

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 U' L1 L2 L3

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 C2 Cm

X1 X2 Xn

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:

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 C3

X1 X2 X3

A A

A

A

A

A

A

A A

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.

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. PVC est dans NP;

2. Cycle Hamiltonien PVC.

Le problème PVC revient à trouver un cycle hamiltonien

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 NP-

Complet.

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

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

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.

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.

R

G

contient il un

stable de

taille k?

F3-sat G = (V, E)

Non

Oui

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

Ainsi, un stable de G correspond à une affectation de

valeurs de vérité à une partie des variables;

Xi Not

Xi

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.

Ainsi, un stable de G contient au plus un des trois

sommets associés à la clause C

L3 L2

L1

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

Not

X2

Not

X3

X1

Not

X3 X2

Not

X1

X3 Not

X2

Not

X1

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.

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.

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.

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

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.

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.

R

?

Un graphe

G = (A, B) Un ensemble

d’entier E et

un entier t Non

Oui

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 (b4)

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

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 (b4)

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

On construit l'entier t :

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.

65

THÉORIE NP-COMPLÉTUDE

PROBLÈME 6: SAC À DOS

Théorème 6: Le problème du sac à dos est NP-

Complet.

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

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

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

66