12.07.2015 Views

Complexité de Problèmes: Les Propriétés NP, NP-dures et NP ... - FIL

Complexité de Problèmes: Les Propriétés NP, NP-dures et NP ... - FIL

Complexité de Problèmes: Les Propriétés NP, NP-dures et NP ... - FIL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Rappel: La définition <strong>de</strong> <strong>NP</strong> via les certificatsLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?DéfinitionL est dit <strong>NP</strong> si il existe un polynôme Q, <strong>et</strong> un algorithmepolynômial à <strong>de</strong>ux entrées <strong>et</strong> à valeurs booléennes tels que:L = {u/∃c, A(c, u) = Vrai, |c| ≤ Q(|u|)}A est appelé algorithme <strong>de</strong> vérification,c est appelé certificat (ou preuve, ou témoin..).


Comment montrer qu’une propriété est <strong>NP</strong>?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour montrer qu’une propriété est <strong>NP</strong>, il faut:définir la notion <strong>de</strong> certificat <strong>et</strong> montrer que la taille d’uncertificat est bornée polynômialement par la taille duproblème


La définition via le non-déterminismeLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?<strong>NP</strong>=Non-Déterministe PolynômialDéfinition Alternativeune propriété Pr est <strong>NP</strong> si il existe un algorithme nondéterministe polynômial qui déci<strong>de</strong> Pr.Remarque: <strong>NP</strong> ne signifie PAS Non Polynômial maissignifie Non-Déterministe Polynômial!


La problématique:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Je cherche un algorithme pour vérifier une propriété; j’aimontré qu’elle est <strong>NP</strong> mais je ne trouve pas d’algorithme P.La propriété est-elle ”dure” ou suis-je ”nulle”? (le ou est nonexclusif...)


La problématique:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Je cherche un algorithme pour vérifier une propriété; j’aimontré qu’elle est <strong>NP</strong> mais je ne trouve pas d’algorithme P.La propriété est-elle ”dure” ou suis-je ”nulle”? (le ou est nonexclusif...)Si j’arrive à prouver qu’il n’ y a pas d’algorithme polynômial,je prouve P ≠ <strong>NP</strong>: ça risque d’être difficile...


La problématique:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Je cherche un algorithme pour vérifier une propriété; j’aimontré qu’elle est <strong>NP</strong> mais je ne trouve pas d’algorithme P.La propriété est-elle ”dure” ou suis-je ”nulle”? (le ou est nonexclusif...)Si j’arrive à prouver qu’il n’ y a pas d’algorithme polynômial,je prouve P ≠ <strong>NP</strong>: ça risque d’être difficile...Mais je peux peut-être montrer qu’elle est <strong>NP</strong>-dure:Cela signifie qu’elle contient toute la difficulté <strong>de</strong> la classe<strong>NP</strong> <strong>et</strong> que si je trouvais un algorithme polynômial pour c<strong>et</strong>tepropriété, on en aurait un pour toute propriété <strong>NP</strong>.Cela justifie en quelque sorte <strong>de</strong> ne pas avoir trouvéd’algorithme polynômial.


Un outil: <strong>Les</strong> réductions polynômialesLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Intuitivement, la notion <strong>de</strong> réduction perm<strong>et</strong> <strong>de</strong> traduirequ’un problème n’est pas ”plus dur” qu’un autre.Si un premier problème se réduit en un second, le premierproblème est (au moins) aussi facile que le second - si laréduction est ”facile”-. On peut a priori utiliser la réduction<strong>de</strong> <strong>de</strong>ux façons:


Un outil: <strong>Les</strong> réductions polynômialesLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Intuitivement, la notion <strong>de</strong> réduction perm<strong>et</strong> <strong>de</strong> traduirequ’un problème n’est pas ”plus dur” qu’un autre.Si un premier problème se réduit en un second, le premierproblème est (au moins) aussi facile que le second - si laréduction est ”facile”-. On peut a priori utiliser la réduction<strong>de</strong> <strong>de</strong>ux façons:pour montrer qu’un problème est dur: si lepremier est réputé dur, le second l’est aussi;


Un outil: <strong>Les</strong> réductions polynômialesLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Intuitivement, la notion <strong>de</strong> réduction perm<strong>et</strong> <strong>de</strong> traduirequ’un problème n’est pas ”plus dur” qu’un autre.Si un premier problème se réduit en un second, le premierproblème est (au moins) aussi facile que le second - si laréduction est ”facile”-. On peut a priori utiliser la réduction<strong>de</strong> <strong>de</strong>ux façons:pour montrer qu’un problème est dur: si lepremier est réputé dur, le second l’est aussi;pour montrer qu’un problème est facile: si le<strong>de</strong>uxième est facile, le premier l’est aussi.


Un outil: <strong>Les</strong> réductions polynômialesLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Intuitivement, la notion <strong>de</strong> réduction perm<strong>et</strong> <strong>de</strong> traduirequ’un problème n’est pas ”plus dur” qu’un autre.Si un premier problème se réduit en un second, le premierproblème est (au moins) aussi facile que le second - si laréduction est ”facile”-. On peut a priori utiliser la réduction<strong>de</strong> <strong>de</strong>ux façons:pour montrer qu’un problème est dur: si lepremier est réputé dur, le second l’est aussi;pour montrer qu’un problème est facile: si le<strong>de</strong>uxième est facile, le premier l’est aussi.C’est en fait surtout le premier raisonnement que l’on vautiliser.


Définition formelle:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?DéfinitionSoient L <strong>et</strong> L ′ <strong>de</strong>ux langages <strong>de</strong> Σ ∗ , correspondant à <strong>de</strong>uxpropriétés.Une réduction polynômiale <strong>de</strong> L dans L ′ est uneapplication red calculable polynômiale <strong>de</strong> Σ ∗ dans Σ ∗ telleque :On note alors L ≤ P L ′ .u ∈ L Ssi red(u) ∈ L ′ .


Réduction polynômiale= transformation d’unproblème dans un autre.La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Soient les <strong>de</strong>ux propriétés suivantes:Clique:Entrée:G=(S,A) --un graphe non orienték -- un entierSortie:Oui, Ssi G contient une clique <strong>de</strong> cardinal k.IndépendantEntrée:G=(S,A) --un graphe non orienték -- un entierSortie:Oui, Ssi G contient un ens. indépendant <strong>de</strong> card


Exemple: suite...La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?On peut choisir comme réduction <strong>de</strong> Clique dansIndépendant l’application red qui à l’instance(G = (S, A), k) associe (G ′ = (S, A ′ ), k) avecA ′ = {(x, y)/(x, y) /∈ A <strong>et</strong> (x, y) /∈ A}.


Exemple: suite...La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?On peut choisir comme réduction <strong>de</strong> Clique dansIndépendant l’application red qui à l’instance(G = (S, A), k) associe (G ′ = (S, A ′ ), k) avecA ′ = {(x, y)/(x, y) /∈ A <strong>et</strong> (x, y) /∈ A}.Montrer que c’est bien une réduction polynômiale <strong>de</strong> Cliquedans In<strong>de</strong>pendant consiste en:


Exemple: suite...La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?On peut choisir comme réduction <strong>de</strong> Clique dansIndépendant l’application red qui à l’instance(G = (S, A), k) associe (G ′ = (S, A ′ ), k) avecA ′ = {(x, y)/(x, y) /∈ A <strong>et</strong> (x, y) /∈ A}.Montrer que c’est bien une réduction polynômiale <strong>de</strong> Cliquedans In<strong>de</strong>pendant consiste en:


Exemple: suite...La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?On peut choisir comme réduction <strong>de</strong> Clique dansIndépendant l’application red qui à l’instance(G = (S, A), k) associe (G ′ = (S, A ′ ), k) avecA ′ = {(x, y)/(x, y) /∈ A <strong>et</strong> (x, y) /∈ A}.Montrer que c’est bien une réduction polynômiale <strong>de</strong> Cliquedans In<strong>de</strong>pendant consiste en:Montrer que c’est correct i.e., pour tout (G, k),Clique(G, k) Ssi In<strong>de</strong>pendant(G ′ , k).


Exemple: suite...La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?On peut choisir comme réduction <strong>de</strong> Clique dansIndépendant l’application red qui à l’instance(G = (S, A), k) associe (G ′ = (S, A ′ ), k) avecA ′ = {(x, y)/(x, y) /∈ A <strong>et</strong> (x, y) /∈ A}.Montrer que c’est bien une réduction polynômiale <strong>de</strong> Cliquedans In<strong>de</strong>pendant consiste en:Montrer que c’est correct i.e., pour tout (G, k),Clique(G, k) Ssi In<strong>de</strong>pendant(G ′ , k).Montrer que la transformation est polynômiale.


En résuméLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour prouver qu’une propriété P1 se réduitpolynômialement en une autre P2, il faut:. proposer une réduction, i.e. un algo red qui àune instance I <strong>de</strong> P1, associe une instancered(I) <strong>de</strong> P2.


En résuméLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour prouver qu’une propriété P1 se réduitpolynômialement en une autre P2, il faut:. proposer une réduction, i.e. un algo red qui àune instance I <strong>de</strong> P1, associe une instancered(I) <strong>de</strong> P2.. prouver qu’elle est correcte, i.e. qu’uneinstance I <strong>de</strong> P1 est positive Si <strong>et</strong> SeulementSi red(I) est une instance positive <strong>de</strong> P2.


En résuméLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour prouver qu’une propriété P1 se réduitpolynômialement en une autre P2, il faut:. proposer une réduction, i.e. un algo red qui àune instance I <strong>de</strong> P1, associe une instancered(I) <strong>de</strong> P2.. prouver qu’elle est correcte, i.e. qu’uneinstance I <strong>de</strong> P1 est positive Si <strong>et</strong> SeulementSi red(I) est une instance positive <strong>de</strong> P2.. prouver qu’elle est polynômiale!


Pourquoi prouver qu’un problème se réduit enun autre?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?PropositionSi L ′ est dans P <strong>et</strong> si L ≤ P L ′ , alors L est dans P.


Pourquoi prouver qu’un problème se réduit enun autre?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?PropositionSi L ′ est dans P <strong>et</strong> si L ≤ P L ′ , alors L est dans P.Donc si L ′ est P, L est P;


Pourquoi prouver qu’un problème se réduit enun autre?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?PropositionSi L ′ est dans P <strong>et</strong> si L ≤ P L ′ , alors L est dans P.Donc si L ′ est P, L est P;si L n’est pas P, L ′ n’est pas P non plus.


Pourquoi prouver qu’un problème se réduit enun autre?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?PropositionSi L ′ est dans P <strong>et</strong> si L ≤ P L ′ , alors L est dans P.Donc si L ′ est P, L est P;si L n’est pas P, L ′ n’est pas P non plus.si L est ”dur”, L ′ est ”dur” aussi.


Réductions en chaîne:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?PropriétéLa relation ≤ P est transitive: si L ≤ P L ′ <strong>et</strong> L ′ ≤ P L ′′ , alorsL ≤ P L”.Si red1 est une réduction polynômiale <strong>de</strong> L dans L ′ , <strong>et</strong> red2est une réduction polynômiale <strong>de</strong> L ′ vers L” , alorsred2 ◦ red1 est une réduction polynômiale <strong>de</strong> L vers L”.


<strong>Les</strong> propriétés <strong>NP</strong>-<strong>dures</strong>La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?DéfinitionUne propriété R est dite <strong>NP</strong>-dure Si toute propriété <strong>NP</strong> seréduit polynômialement en R;


<strong>Les</strong> propriétés <strong>NP</strong>-<strong>dures</strong>La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?DéfinitionUne propriété R est dite <strong>NP</strong>-dure Si toute propriété <strong>NP</strong> seréduit polynômialement en R;Si une propriété <strong>NP</strong> − dure était P, on aurait <strong>NP</strong> = P.


<strong>Les</strong> propriétés <strong>NP</strong>-<strong>dures</strong>La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?DéfinitionUne propriété R est dite <strong>NP</strong>-dure Si toute propriété <strong>NP</strong> seréduit polynômialement en R;Si une propriété <strong>NP</strong> − dure était P, on aurait <strong>NP</strong> = P.Une propriété <strong>NP</strong> − dure contient donc d’une certaine façontoute la difficulté <strong>de</strong> <strong>NP</strong>!


<strong>Les</strong> propriétés <strong>NP</strong>-complètesLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?DéfinitionUne propriété est dite <strong>NP</strong>−complète Si elle est <strong>NP</strong> <strong>et</strong><strong>NP</strong>−dure.


La découverte <strong>de</strong> CookLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Cook fut le premier à découvrir... l’existence <strong>de</strong> propriétés<strong>NP</strong>-<strong>dures</strong>:Théorème <strong>de</strong> Cook3 − CNF − SAT est <strong>NP</strong>−complète.Rappel: 3 − CNF − SAT est le problème <strong>de</strong> la satisfiabilitéd’une formule sous forme conjonctive où chaque clausecontient 3 littéraux.(x 1 ∨x 2 ∨x 3 )∧(x 2 ∨¬x 3 ∨x 4 )∧(x 1 ∨x 2 ∨¬X 4 )∧(¬x 1 ∨¬x 2 ¬x 3 )


Comment montrer qu’une propriété est<strong>NP</strong>-dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong>Pour montrer que R est <strong>NP</strong>-dure:<strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


Comment montrer qu’une propriété est<strong>NP</strong>-dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour montrer que R est <strong>NP</strong>-dure:On peut montrer ”directement” que toute propriété <strong>NP</strong>se réduit polynômialement en R,


Comment montrer qu’une propriété est<strong>NP</strong>-dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour montrer que R est <strong>NP</strong>-dure:On peut montrer ”directement” que toute propriété <strong>NP</strong>se réduit polynômialement en R,mais il suffit <strong>de</strong> montrer qu’une propriété connue<strong>NP</strong>−dure se réduit polynômialement en R.


Comment montrer qu’une propriété est<strong>NP</strong>-dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour montrer que R est <strong>NP</strong>-dure:On peut montrer ”directement” que toute propriété <strong>NP</strong>se réduit polynômialement en R,mais il suffit <strong>de</strong> montrer qu’une propriété connue<strong>NP</strong>−dure se réduit polynômialement en R.En eff<strong>et</strong>, comme ≤ P est transitif, on a:Propositionsi L ≤ P L ′ <strong>et</strong> L est <strong>NP</strong>−dure, alors L ′ est <strong>NP</strong>−dure.


Pourquoi montrer qu’une propriété est<strong>NP</strong>−dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?D’après la proposition précé<strong>de</strong>nte, si une propriété<strong>NP</strong>−dure se révélait être P, on aurait P = <strong>NP</strong>, ce qui estpeu probable <strong>et</strong> en tout cas a résisté aux efforts <strong>de</strong>nombreux chercheurs!


Pourquoi montrer qu’une propriété est<strong>NP</strong>−dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?D’après la proposition précé<strong>de</strong>nte, si une propriété<strong>NP</strong>−dure se révélait être P, on aurait P = <strong>NP</strong>, ce qui estpeu probable <strong>et</strong> en tout cas a résisté aux efforts <strong>de</strong>nombreux chercheurs!Donc, montrer qu’une propriété est <strong>NP</strong>−dure justifieraisonnablement qu’on n’ait pas trouvé d’algorithmepolynômial pour déci<strong>de</strong>r <strong>de</strong> c<strong>et</strong>te propriété!


Pourquoi montrer qu’une propriété est<strong>NP</strong>−dure?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?D’après la proposition précé<strong>de</strong>nte, si une propriété<strong>NP</strong>−dure se révélait être P, on aurait P = <strong>NP</strong>, ce qui estpeu probable <strong>et</strong> en tout cas a résisté aux efforts <strong>de</strong>nombreux chercheurs!Donc, montrer qu’une propriété est <strong>NP</strong>−dure justifieraisonnablement qu’on n’ait pas trouvé d’algorithmepolynômial pour déci<strong>de</strong>r <strong>de</strong> c<strong>et</strong>te propriété!Par contre, montrer qu’une propriété est <strong>NP</strong>, c’est montrerqu’elle n’est pas ”si dure” que ça même si elle n’estpeut-être pas P...


Exemple: Clique est <strong>NP</strong>−durLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Clique:Entrée:G=(S,A) --un graphe non orienték -- un entierSortie:Oui, Ssi G contient une clique <strong>de</strong> cardinal k.


Exemple: Clique est <strong>NP</strong>−dur?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


Exemple: Clique est <strong>NP</strong>−dur?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3 − CNF − SAT est <strong>NP</strong>−dur.


Exemple: Clique est <strong>NP</strong>−dur?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3 − CNF − SAT est <strong>NP</strong>−dur.On va réduire polynômialement 3 − CNF − Sat dans Clique:


Exemple: Clique est <strong>NP</strong>−dur?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3 − CNF − SAT est <strong>NP</strong>−dur.On va réduire polynômialement 3 − CNF − Sat dans Clique:3-CNF-SAT:Donnée: Φ = C 1 ∧ C 2 ....; ∧C p avec C j = l 1j∨ l 2j∨ l 3j


Exemple: Clique est <strong>NP</strong>−dur?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3 − CNF − SAT est <strong>NP</strong>−dur.On va réduire polynômialement 3 − CNF − Sat dans Clique:3-CNF-SAT:Donnée: Φ = C 1 ∧ C 2 ....; ∧C p avec C j = l 1j∨ l 2j∨ l 3jSortie: Oui, si il existe une valuation v telle que v(Φ) = Vrai.


3 − CNF − SAT se réduit polynômialement enClique: la réductionLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


3 − CNF − SAT se réduit polynômialement enClique: la réductionLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A une formule sous forme 3-CNF Φ, on va associer ungraphe G Φ <strong>et</strong> un entier p tel que la formule Φ est satisfiableSsi le graphe G Φ a une clique <strong>de</strong> cardinal p.


3 − CNF − SAT se réduit polynômialement enClique: la réductionLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A une formule sous forme 3-CNF Φ, on va associer ungraphe G Φ <strong>et</strong> un entier p tel que la formule Φ est satisfiableSsi le graphe G Φ a une clique <strong>de</strong> cardinal p.Construction du graphe:


3 − CNF − SAT se réduit polynômialement enClique: la réductionLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A une formule sous forme 3-CNF Φ, on va associer ungraphe G Φ <strong>et</strong> un entier p tel que la formule Φ est satisfiableSsi le graphe G Φ a une clique <strong>de</strong> cardinal p.Construction du graphe:.les somm<strong>et</strong>s = les littéraux


3 − CNF − SAT se réduit polynômialement enClique: la réductionLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A une formule sous forme 3-CNF Φ, on va associer ungraphe G Φ <strong>et</strong> un entier p tel que la formule Φ est satisfiableSsi le graphe G Φ a une clique <strong>de</strong> cardinal p.Construction du graphe:.les somm<strong>et</strong>s = les littéraux. les arcs: un arc entre <strong>de</strong>ux littéraux <strong>de</strong>clauses différentes <strong>et</strong> compatibles, i.e. pasd’arc si ils sont dans la même clause ou si l’unest <strong>de</strong> la forme x <strong>et</strong> l’autre ¬x.. p: le nombre <strong>de</strong> clauses <strong>de</strong> Φ


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.Donc, pour chaque j il existe l i jjtel que v(l i jj) = Vrai.


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.Donc, pour chaque j il existe l i jjtel que v(l i jj) = Vrai.Alors les l i jjforment une clique <strong>de</strong> G Φ par définition <strong>de</strong>s arcs !


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.Donc, pour chaque j il existe l i jjtel que v(l i jj) = Vrai.Alors les l i jjforment une clique <strong>de</strong> G Φ par définition <strong>de</strong>s arcs !.Dans l’autre sens: G Φ a une clique:


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.Donc, pour chaque j il existe l i jjtel que v(l i jj) = Vrai.Alors les l i jjforment une clique <strong>de</strong> G Φ par définition <strong>de</strong>s arcs !.Dans l’autre sens: G Φ a une clique:Posons v(x) = vrai si il y a un x dans la clique, v(x) = fauxsi il y a un¬x dans la clique, v(x) = Vrai (ou Faux )si on n’ani l’un ni l’autre.


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.Donc, pour chaque j il existe l i jjtel que v(l i jj) = Vrai.Alors les l i jjforment une clique <strong>de</strong> G Φ par définition <strong>de</strong>s arcs !.Dans l’autre sens: G Φ a une clique:Posons v(x) = vrai si il y a un x dans la clique, v(x) = fauxsi il y a un¬x dans la clique, v(x) = Vrai (ou Faux )si on n’ani l’un ni l’autre.v est bien définie: on ne peut avoir à la fois x <strong>et</strong> ¬x dans laclique.


La réduction est correcte?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?G Φ a un clique d’ordre p Ssi Φ est satisfiable?Preuve:. Φ satisfiable: ∃v telle que v(Φ) = Vrai.Donc, pour chaque j il existe l i jjtel que v(l i jj) = Vrai.Alors les l i jjforment une clique <strong>de</strong> G Φ par définition <strong>de</strong>s arcs !.Dans l’autre sens: G Φ a une clique:Posons v(x) = vrai si il y a un x dans la clique, v(x) = fauxsi il y a un¬x dans la clique, v(x) = Vrai (ou Faux )si on n’ani l’un ni l’autre.v est bien définie: on ne peut avoir à la fois x <strong>et</strong> ¬x dans laclique.Par construction, un somm<strong>et</strong> par clause: v vali<strong>de</strong> au moinsun littéral par lause; v(Φ) = Vrai: Φ est bien satisfiable


la réduction est bien polynômiale?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?taille <strong>de</strong> la formule: 3*p


la réduction est bien polynômiale?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?taille <strong>de</strong> la formule: 3*ptaille du graphe: 3*p somm<strong>et</strong>s, au plus <strong>de</strong>l’ordre <strong>de</strong> p 2 arcs:


la réduction est bien polynômiale?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?taille <strong>de</strong> la formule: 3*ptaille du graphe: 3*p somm<strong>et</strong>s, au plus <strong>de</strong>l’ordre <strong>de</strong> p 2 arcs:la Construction du graphe est bienpolynômiale.


la réduction est bien polynômiale?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?taille <strong>de</strong> la formule: 3*ptaille du graphe: 3*p somm<strong>et</strong>s, au plus <strong>de</strong>l’ordre <strong>de</strong> p 2 arcs:la Construction du graphe est bienpolynômiale.


3 − CNF − SAT se réduit polynômialement enClique: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. On a bien réduit polynômialement 3 − CNF − SAT dansClique


3 − CNF − SAT se réduit polynômialement enClique: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. On a bien réduit polynômialement 3 − CNF − SAT dansClique. 3 − CNF − SAT est <strong>NP</strong>−dur.


3 − CNF − SAT se réduit polynômialement enClique: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. On a bien réduit polynômialement 3 − CNF − SAT dansClique. 3 − CNF − SAT est <strong>NP</strong>−dur.donc Clique est <strong>NP</strong>− durClique est même <strong>NP</strong>− complète car <strong>NP</strong> + <strong>NP</strong>−dure.


3 − CNF − SAT se réduit polynômialement enClique: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. On a bien réduit polynômialement 3 − CNF − SAT dansClique. 3 − CNF − SAT est <strong>NP</strong>−dur.donc Clique est <strong>NP</strong>− durClique est même <strong>NP</strong>− complète car <strong>NP</strong> + <strong>NP</strong>−dure.Remarque: On avait prouvé que Clique se réduit enIn<strong>de</strong>pen<strong>de</strong>nt ... donc In<strong>de</strong>pen<strong>de</strong>nt aussi est <strong>NP</strong>−dur!


3 − CNF − SAT se réduit polynômialement enClique: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. On a bien réduit polynômialement 3 − CNF − SAT dansClique. 3 − CNF − SAT est <strong>NP</strong>−dur.donc Clique est <strong>NP</strong>− durClique est même <strong>NP</strong>− complète car <strong>NP</strong> + <strong>NP</strong>−dure.Remarque: On avait prouvé que Clique se réduit enIn<strong>de</strong>pen<strong>de</strong>nt ... donc In<strong>de</strong>pen<strong>de</strong>nt aussi est <strong>NP</strong>−dur!Question? A-t-on Clique qui se réduit polynômialementdans 3 − CNF − SAT ?


3 − CNF − SAT se réduit polynômialement enClique: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. On a bien réduit polynômialement 3 − CNF − SAT dansClique. 3 − CNF − SAT est <strong>NP</strong>−dur.donc Clique est <strong>NP</strong>− durClique est même <strong>NP</strong>− complète car <strong>NP</strong> + <strong>NP</strong>−dure.Remarque: On avait prouvé que Clique se réduit enIn<strong>de</strong>pen<strong>de</strong>nt ... donc In<strong>de</strong>pen<strong>de</strong>nt aussi est <strong>NP</strong>−dur!Question? A-t-on Clique qui se réduit polynômialementdans 3 − CNF − SAT ?Rép: oui, Clique est <strong>NP</strong>, 3 − CNF − SAT est <strong>NP</strong>−dure!


Problèmes <strong>NP</strong>-durs/PropriétésLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong>Ce qui précè<strong>de</strong> ne s’applique qu’aux propriétés.<strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


Problèmes <strong>NP</strong>-durs/PropriétésLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Ce qui précè<strong>de</strong> ne s’applique qu’aux propriétés.Parler <strong>de</strong> problèmes <strong>NP</strong>, si ce ne sont pas <strong>de</strong>s problèmes<strong>de</strong> décision, n’a guère <strong>de</strong> sens;


Problèmes <strong>NP</strong>-durs/PropriétésLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Ce qui précè<strong>de</strong> ne s’applique qu’aux propriétés.Parler <strong>de</strong> problèmes <strong>NP</strong>, si ce ne sont pas <strong>de</strong>s problèmes<strong>de</strong> décision, n’a guère <strong>de</strong> sens;Par contre on peut parler <strong>de</strong> problèmes <strong>NP</strong>−durs:


Problèmes <strong>NP</strong>-durs/PropriétésLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Ce qui précè<strong>de</strong> ne s’applique qu’aux propriétés.Parler <strong>de</strong> problèmes <strong>NP</strong>, si ce ne sont pas <strong>de</strong>s problèmes<strong>de</strong> décision, n’a guère <strong>de</strong> sens;Par contre on peut parler <strong>de</strong> problèmes <strong>NP</strong>−durs:Definitionsi l’existence d’un algorithme polynômial pour le pb Rimpliquerait P = <strong>NP</strong>, on dit que R est <strong>NP</strong>−dur.


Problèmes <strong>NP</strong>-durs <strong>et</strong> optimisationLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A tout pb d’optimisation <strong>de</strong> type ”trouver une solution <strong>de</strong>coût minimal (resp. <strong>de</strong> gain maximal), on peut associer unepropriété:” existe-t-il une solution <strong>de</strong> coût inférieur (resp. <strong>de</strong> gainsupérieur) à une valeur donnée en entrée”;


Problèmes <strong>NP</strong>-durs <strong>et</strong> optimisationLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A tout pb d’optimisation <strong>de</strong> type ”trouver une solution <strong>de</strong>coût minimal (resp. <strong>de</strong> gain maximal), on peut associer unepropriété:” existe-t-il une solution <strong>de</strong> coût inférieur (resp. <strong>de</strong> gainsupérieur) à une valeur donnée en entrée”;Si le pb <strong>de</strong> décision est <strong>NP</strong>−dur, le pb d’optimisation le seraaussi.


Problèmes <strong>NP</strong>-durs <strong>et</strong> optimisationLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?A tout pb d’optimisation <strong>de</strong> type ”trouver une solution <strong>de</strong>coût minimal (resp. <strong>de</strong> gain maximal), on peut associer unepropriété:” existe-t-il une solution <strong>de</strong> coût inférieur (resp. <strong>de</strong> gainsupérieur) à une valeur donnée en entrée”;Si le pb <strong>de</strong> décision est <strong>NP</strong>−dur, le pb d’optimisation le seraaussi.Si on avait un algorithme P pour le pb d’optimisation, on enaurait un pour celui <strong>de</strong> décision donc pour toute propriété<strong>NP</strong>, puisqu’il est <strong>NP</strong>−dur!


Problèmes <strong>NP</strong>-durs: Un exempleLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Soit ColOpt le problème d’optimisation <strong>de</strong> coloriage <strong>de</strong>graphes: pour un graphe, trouver un coloriage correctutilisant le moins <strong>de</strong> couleurs possibles.


Problèmes <strong>NP</strong>-durs: Un exempleLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Soit ColOpt le problème d’optimisation <strong>de</strong> coloriage <strong>de</strong>graphes: pour un graphe, trouver un coloriage correctutilisant le moins <strong>de</strong> couleurs possibles.On peut lui associer la propriété ColDec du k − coloriage:étant donné un graphe <strong>et</strong> un entier k, existe-t-il un coloriagecorrect <strong>de</strong> G avec k couleurs?


Problèmes <strong>NP</strong>-durs: Un exempleLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Soit ColOpt le problème d’optimisation <strong>de</strong> coloriage <strong>de</strong>graphes: pour un graphe, trouver un coloriage correctutilisant le moins <strong>de</strong> couleurs possibles.On peut lui associer la propriété ColDec du k − coloriage:étant donné un graphe <strong>et</strong> un entier k, existe-t-il un coloriagecorrect <strong>de</strong> G avec k couleurs?Si on avait un algo polynômial pour ColOpt, on en aurait-unpour ColDec: on calcule un coloriage optimal <strong>et</strong> on vérifiequ’il n’utilise pas plus <strong>de</strong> k couleurs!


Problèmes <strong>NP</strong>-durs: Un exempleLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Soit ColOpt le problème d’optimisation <strong>de</strong> coloriage <strong>de</strong>graphes: pour un graphe, trouver un coloriage correctutilisant le moins <strong>de</strong> couleurs possibles.On peut lui associer la propriété ColDec du k − coloriage:étant donné un graphe <strong>et</strong> un entier k, existe-t-il un coloriagecorrect <strong>de</strong> G avec k couleurs?Si on avait un algo polynômial pour ColOpt, on en aurait-unpour ColDec: on calcule un coloriage optimal <strong>et</strong> on vérifiequ’il n’utilise pas plus <strong>de</strong> k couleurs!C<strong>et</strong>te propriété étant <strong>NP</strong>−dure, on peut dire que leproblème <strong>de</strong> coloriage <strong>de</strong> graphe est <strong>NP</strong>−dur.


Problèmes <strong>NP</strong>-durs: Un exempleLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Soit ColOpt le problème d’optimisation <strong>de</strong> coloriage <strong>de</strong>graphes: pour un graphe, trouver un coloriage correctutilisant le moins <strong>de</strong> couleurs possibles.On peut lui associer la propriété ColDec du k − coloriage:étant donné un graphe <strong>et</strong> un entier k, existe-t-il un coloriagecorrect <strong>de</strong> G avec k couleurs?Si on avait un algo polynômial pour ColOpt, on en aurait-unpour ColDec: on calcule un coloriage optimal <strong>et</strong> on vérifiequ’il n’utilise pas plus <strong>de</strong> k couleurs!C<strong>et</strong>te propriété étant <strong>NP</strong>−dure, on peut dire que leproblème <strong>de</strong> coloriage <strong>de</strong> graphe est <strong>NP</strong>−dur.Si il existe un algorithme polynômial pour colorier un grapheavec le moins <strong>de</strong> couleurs possible, P = <strong>NP</strong>


Remarque: <strong>et</strong> dans l’autre sens?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Si on avait un algo polynômial pour ColDec, en aurait-on unpour ColOpt?


Remarque: <strong>et</strong> dans l’autre sens?La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Si on avait un algo polynômial pour ColDec, en aurait-on unpour ColOpt?Réponse: Oui


Le catalogue ”<strong>Les</strong> propriétés <strong>NP</strong>−complètes”La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour prouver qu’une propriété R est <strong>NP</strong>−dure, on peutchoisir une propriété connue <strong>NP</strong>-dure <strong>et</strong> essayer <strong>de</strong> laréduire dans R: le problème est <strong>de</strong> bien la choisir ....


Le catalogue ”<strong>Les</strong> propriétés <strong>NP</strong>−complètes”La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour prouver qu’une propriété R est <strong>NP</strong>−dure, on peutchoisir une propriété connue <strong>NP</strong>-dure <strong>et</strong> essayer <strong>de</strong> laréduire dans R: le problème est <strong>de</strong> bien la choisir ....Il existe un catalogue <strong>de</strong>s propriétés <strong>NP</strong>−<strong>dures</strong>, le livre <strong>de</strong>Garey <strong>et</strong> Johnson:” Computers and Intractability: A gui<strong>de</strong> tothe theory of <strong>NP</strong>-compl<strong>et</strong>eness ” qui contient beaucoup <strong>de</strong>problèmes mais date <strong>de</strong> 1979;


Le catalogue ”<strong>Les</strong> propriétés <strong>NP</strong>−complètes”La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?Pour prouver qu’une propriété R est <strong>NP</strong>−dure, on peutchoisir une propriété connue <strong>NP</strong>-dure <strong>et</strong> essayer <strong>de</strong> laréduire dans R: le problème est <strong>de</strong> bien la choisir ....Il existe un catalogue <strong>de</strong>s propriétés <strong>NP</strong>−<strong>dures</strong>, le livre <strong>de</strong>Garey <strong>et</strong> Johnson:” Computers and Intractability: A gui<strong>de</strong> tothe theory of <strong>NP</strong>-compl<strong>et</strong>eness ” qui contient beaucoup <strong>de</strong>problèmes mais date <strong>de</strong> 1979;Il existe <strong>de</strong>s sites Web qui essaient <strong>de</strong> tenir à jour lecatalogue comme le compendium <strong>de</strong> problèmesd’optimisations <strong>NP</strong>:http://www.nada.kth.se/ viggo/problemlist/compendium.html.


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>3-CNF-SAT:Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPacking


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPackingle pb du sac à dos (non fractionnable).


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPackingle pb du sac à dos (non fractionnable).le pb <strong>de</strong> l’existence d’un circuit hamiltonien.


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPackingle pb du sac à dos (non fractionnable).le pb <strong>de</strong> l’existence d’un circuit hamiltonien.le pb du voyageur <strong>de</strong> commerce.


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPackingle pb du sac à dos (non fractionnable).le pb <strong>de</strong> l’existence d’un circuit hamiltonien.le pb du voyageur <strong>de</strong> commerce.la programmation linéaire en entiers.


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPackingle pb du sac à dos (non fractionnable).le pb <strong>de</strong> l’existence d’un circuit hamiltonien.le pb du voyageur <strong>de</strong> commerce.la programmation linéaire en entiers.le pb du recouvrement d’ensembles.


Un extrait du catalogue <strong>de</strong> <strong>NP</strong>−complètes:La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?3-CNF-SAT:3-coloriage <strong>de</strong> graphes:existence d’une clique <strong>de</strong> taille k dans un graphe.le pb du BinPackingle pb du sac à dos (non fractionnable).le pb <strong>de</strong> l’existence d’un circuit hamiltonien.le pb du voyageur <strong>de</strong> commerce.la programmation linéaire en entiers.le pb du recouvrement d’ensembles.le pb du démineur ...


Attention aux faux frères!La classe <strong>NP</strong>ATTENTION à la spécification <strong>de</strong>s pbs!Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


Attention aux faux frères!La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?ATTENTION à la spécification <strong>de</strong>s pbs!Il suffit <strong>de</strong> changer à peine un pb pour qu’il ne soit plus<strong>NP</strong>−dur:


Attention aux faux frères!La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?ATTENTION à la spécification <strong>de</strong>s pbs!Il suffit <strong>de</strong> changer à peine un pb pour qu’il ne soit plus<strong>NP</strong>−dur:. Le 3-coloriage <strong>de</strong> graphes est dur (<strong>NP</strong>−dur) le2-coloriage est facile (P).


Attention aux faux frères!La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?ATTENTION à la spécification <strong>de</strong>s pbs!Il suffit <strong>de</strong> changer à peine un pb pour qu’il ne soit plus<strong>NP</strong>−dur:. Le 3-coloriage <strong>de</strong> graphes est dur (<strong>NP</strong>−dur) le2-coloriage est facile (P).. La programmation linéaire en entiers est<strong>NP</strong>−dure, la programmation linéaire en réelsest P.


Attention aux faux frères!La classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?ATTENTION à la spécification <strong>de</strong>s pbs!Il suffit <strong>de</strong> changer à peine un pb pour qu’il ne soit plus<strong>NP</strong>−dur:. Le 3-coloriage <strong>de</strong> graphes est dur (<strong>NP</strong>−dur) le2-coloriage est facile (P).. La programmation linéaire en entiers est<strong>NP</strong>−dure, la programmation linéaire en réelsest P.. le sac à dos 0/1 est <strong>NP</strong>−dur, il est P dans lecas fractionnable.. Le problème du plus long chemin sans cycledans un graphe est <strong>NP</strong>−dur, celui du pluscourt est P


Complexité <strong>de</strong>s problèmes: bilanLa classe <strong>NP</strong>. propriété <strong>NP</strong>: ”easy to check”Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?


Complexité <strong>de</strong>s problèmes: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. propriété <strong>NP</strong>: ”easy to check”. propriété <strong>NP</strong>−dure: contient toute lacomplexité <strong>de</strong> <strong>NP</strong>, ”aussi dur” que n’importequel <strong>NP</strong>.


Complexité <strong>de</strong>s problèmes: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. propriété <strong>NP</strong>: ”easy to check”. propriété <strong>NP</strong>−dure: contient toute lacomplexité <strong>de</strong> <strong>NP</strong>, ”aussi dur” que n’importequel <strong>NP</strong>.. propriété <strong>NP</strong>−complète= <strong>NP</strong> <strong>et</strong> <strong>NP</strong>−dure;


Complexité <strong>de</strong>s problèmes: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. propriété <strong>NP</strong>: ”easy to check”. propriété <strong>NP</strong>−dure: contient toute lacomplexité <strong>de</strong> <strong>NP</strong>, ”aussi dur” que n’importequel <strong>NP</strong>.. propriété <strong>NP</strong>−complète= <strong>NP</strong> <strong>et</strong> <strong>NP</strong>−dure;. pour montrer qu’une propriété R est <strong>NP</strong>−dure:on cherche à réduire polynômialement unepropriété connue <strong>NP</strong>−dure dans R.


Complexité <strong>de</strong>s problèmes: bilanLa classe <strong>NP</strong>Définitiond’unepropriété <strong>NP</strong><strong>Les</strong>réductionspolynômiales<strong>Les</strong>propriétés<strong>NP</strong>-<strong>dures</strong> <strong>et</strong><strong>NP</strong>complètesProblèmes<strong>NP</strong>-dursUncatalogue...Que faireface à unproblème<strong>NP</strong>-dur?. propriété <strong>NP</strong>: ”easy to check”. propriété <strong>NP</strong>−dure: contient toute lacomplexité <strong>de</strong> <strong>NP</strong>, ”aussi dur” que n’importequel <strong>NP</strong>.. propriété <strong>NP</strong>−complète= <strong>NP</strong> <strong>et</strong> <strong>NP</strong>−dure;. pour montrer qu’une propriété R est <strong>NP</strong>−dure:on cherche à réduire polynômialement unepropriété connue <strong>NP</strong>−dure dans R.. pour montrer qu’une problème d’optimisationest <strong>NP</strong>−dur: On montre que la propriété <strong>de</strong>décision associée (en général ”naturellement”)est <strong>NP</strong>−dure <strong>et</strong> on en déduit que si il y avait unalgo pour le problème initial, on aurait P = <strong>NP</strong>.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!