Vous êtes sur la page 1sur 18

1/4 2/4 3/4 4/4

N P-complétude

MTH6311

S. Le Digabel, École Polytechnique de Montréal

H2018
(v1)

MTH6311: NP-complétude 1/18


1/4 2/4 3/4 4/4

Plan

1. Ensembles P et N P

2. N P-complétude

3. N P-difficulté

4. Autres classes de complexité

MTH6311: NP-complétude 2/18


1/4 2/4 3/4 4/4

1. Ensembles P et N P

2. N P-complétude

3. N P-difficulté

4. Autres classes de complexité

MTH6311: NP-complétude 3/18


1/4 2/4 3/4 4/4

Problème de décision

I Définition : Un problème de décision est un problème dont la


réponse est OUI ou NON. Pour un problème P , notons O(P )
l’ensemble des instances de P dont la réponse est OUI.

I Propriété : Soient A et B deux problèmes de décision. Si


A ∝ B, alors il existe une fonction f calculable en temps
polynomial telle que p ∈ O(A) ⇔ f (p) ∈ O(B).

MTH6311: NP-complétude 4/18


1/4 2/4 3/4 4/4

Ensemble P

I Définition : P est l’ensemble de tous les problèmes de


décision pouvant être résolus en temps polynomial.

I Théorème 1 : Soient A et B deux problèmes de décision tels


que A ≤p B et B ∈ P . Alors A ∈ P.

I Exemple 1 : Preuve du Théorème 1.

MTH6311: NP-complétude 5/18


1/4 2/4 3/4 4/4

Ensemble N P
I Définition : N P est l’ensemble de tous les problèmes de
décision P tel que pour toute instance p ∈ O(P ) (toute
instance dont la réponse est OUI), il existe une preuve
vérifiable en temps polynomial que p ∈ O(P ).

(' c’est l’ensemble des problèmes dont il est possible de


vérifier une solution efficacement).

I Remarque : Cette définition est asymétrique. On ne demande


rien pour les instances p ∈/ O(P ). Remarquons ainsi par
exemple qu’il n’est pas évident de prouver polynomialement
qu’un graphe n’est pas hamiltonien.

I Attention : N P ne veut pas dire “non-polynomial” mais


nondeterministic polynomial.

MTH6311: NP-complétude 6/18


1/4 2/4 3/4 4/4

Ensemble N P (suite)

I Théorème 2.1 : P ⊆ N P.

I Exemple 2 : Preuve du Théorème 2.1.

I Question ouverte (1 million $US offert par l’institut Clay) :


P = N P ? Ou encore tout ce que l’on peut vérifier facilement
peut-il être découvert aisément ?

I Exemple 3 : Montrer que HAMD ∈ N P.

MTH6311: NP-complétude 7/18


1/4 2/4 3/4 4/4

Ensemble co-N P

I Définition : Soit P un problème de décision. Le problème


complémentaire de P , noté P est le problème de décision tel
que p ∈ O(P ) ⇔ p ∈ / O(P ).

I Définition : co-N P est l’ensemble de tous les problèmes de


décision P tels que P ∈ N P.

I Théorème 2.2 : P ⊆ co-N P (preuve similaire à l’Exemple 2).

I Exemple 4 : On a déjà montré que HAMD ∈ N P. On sait


par définition que HAMD ∈ co-N P, mais on ne sait pas si
HAMD ∈ N P.

MTH6311: NP-complétude 8/18


1/4 2/4 3/4 4/4

1. Ensembles P et N P

2. N P-complétude

3. N P-difficulté

4. Autres classes de complexité

MTH6311: NP-complétude 9/18


1/4 2/4 3/4 4/4

N P-complétude

I Définition : N P-complet est l’ensemble de tous les problèmes


de décision P ∈ N P tels que P 0 ∝ P pour tout P 0 ∈ N P.
ou encore :
Un problème P de N P est N P-complet si tout problème de
N P peut être transformé en P en un temps polynomial.

I Ceci implique que si on prouve qu’un seul problème


N P-complet peut être résolu de manière polynomiale, alors
chaque problème de N P peut aussi être résolu
polynomialement, i.e. P = N P (voir Théorème 4).

MTH6311: NP-complétude 10/18


1/4 2/4 3/4 4/4

N P-complétude (suite)

I Théorème 3 : Soient A et B deux problèmes de décision tels


que A ∈ N P-complet, B ∈ N P, et A ∝ B. Alors
B ∈ N P-complet.

I Exemple 5 : Prouver le Théorème 3.

I On en déduit que pour montrer qu’un problème P est


N P-complet, il faut d’abord s’assurer que P ∈ N P et ensuite
déterminer un problème P 0 ∈ N P-complet tel que P 0 ∝ P .

MTH6311: NP-complétude 11/18


1/4 2/4 3/4 4/4

N P-complétude (suite)

I Théorème 4 : N P-complet ∩ P =
6 ∅ ⇔ P = N P.

I Exemple 6 : Prouver le Théorème 4.

MTH6311: NP-complétude 12/18


1/4 2/4 3/4 4/4

1. Ensembles P et N P

2. N P-complétude

3. N P-difficulté

4. Autres classes de complexité

MTH6311: NP-complétude 13/18


1/4 2/4 3/4 4/4

N P-difficulté

I Définition : N P-dur est l’ensemble des problèmes P tel qu’il


existe P 0 ∈ N P-complet avec P 0 ≤p P .

I Remarque : Un problème N P-dur n’est pas forcément un


problème de décision ni un problème de N P.

MTH6311: NP-complétude 14/18


1/4 2/4 3/4 4/4

1. Ensembles P et N P

2. N P-complétude

3. N P-difficulté

4. Autres classes de complexité

MTH6311: NP-complétude 15/18


1/4 2/4 3/4 4/4

Autres classes de complexité

I PSPACE est l’ensemble des problèmes de décision qui


peuvent être résolus à l’aide d’un algorithme qui requiert une
taille mémoire de taille ∈ O p(n) pour chaque instance de
taille n.

I LOGSPACE est l’ensemble des problèmes de décision qui


peuvent être résolus à l’aide d’un algorithme qui requiert une
place mémoire de taille ∈ O(log n) pour chaque instance de
taille n.

MTH6311: NP-complétude 16/18


1/4 2/4 3/4 4/4

Résumé – situation la plus probable

MTH6311: NP-complétude 17/18


1/4 2/4 3/4 4/4

Résumé (suite)

NP-Hard NP-Hard

NP-Complete

P = NP =
NP NP-Complete
Complexity

P ≠ NP P = NP

MTH6311: NP-complétude 18/18

Vous aimerez peut-être aussi