Complexit´e algorithmique : classes
S´ebastien Tavenas
Un point commun entre ces probl`emes?
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku
Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches
Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien
Super Mario Bros
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Complexit´e en temps
Temps n´ecessaire pour r´esoudre un probl`eme `a l’aide d’un ordinateur
Lent Rapide
Existence de Mariage Parfait Voyageur de Commerce
Complexit´e en temps
Temps n´ecessaire pour r´esoudre un probl`eme `a l’aide d’un ordinateur
Lent Rapide
! Existence de Mariage Parfait Voyageur de Commerce
Un algorithme (Edmonds) r´esout rapidement le probl`eme de l’existence d’un mariage parfait.
Complexit´e en temps
Temps n´ecessaire pour r´esoudre un probl`eme `a l’aide d’un ordinateur
Lent Rapide
Existence de Mariage Parfait Voyageur de Commerce
Qu’en est-il du probl`eme du voyageur de commerce?
Complexit´e en Temps
Nous voudrions classer les probl`emes par rapport `a leur complexit´e.
Lent ? Rapide
Echecs´ PVC Addition/Multiplication d’entiers Go (jeu) Premier Mariage parfait
. . . Sudoku . . .
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
P et NP
P
NP
Isomorphisme de graphes
Premier PVC
Sudoku Ordonnancement
de tˆaches
Multiplication
Echecs´ Mariage
parfait
I P : Probl`emes r´esolvables efficacement
I NP : Une solution peut ˆetre v´erifi´eeefficacement.
Objections
I “Sudoku est facile. R´esolu rapidement par un ordinateur!”
Mise `a l’´echelle : Et si vous avez une grille 100⇥100?
I “Multiplier deux nombres de 1020chi↵res vs. un petit sudoku” Comparer `a taille d’entr´ee ´egale
P
olynomial timeT =f(n) o`u T nombre d’´etapes pour calculer n taille de l’entr´ee
f une fonction polynomiale.
N
on-deterministicP
olynomial timeT =f(n) o`u T nombre d’´etapes pour v´erifier n taille de l’entr´ee
f une fonction polynomiale.
Objections
I “Sudoku est facile. R´esolu rapidement par un ordinateur!”
Mise `a l’´echelle : Et si vous avez une grille 100⇥100?
I “Multiplier deux nombres de 1020chi↵res vs. un petit sudoku” Comparer `a taille d’entr´ee ´egale
P
olynomial timeT =f(n) o`u T nombre d’´etapes pour calculer n taille de l’entr´ee
f une fonction polynomiale.
N
on-deterministicP
olynomial timeT =f(n) o`u T nombre d’´etapes pour v´erifier n taille de l’entr´ee
f une fonction polynomiale.
Objections
I “Sudoku est facile. R´esolu rapidement par un ordinateur!”
Mise `a l’´echelle : Et si vous avez une grille 100⇥100?
I “Multiplier deux nombres de 1020chi↵res vs. un petit sudoku”
Comparer `a taille d’entr´ee ´egale
P
olynomial timeT =f(n) o`u T nombre d’´etapes pour calculer n taille de l’entr´ee
f une fonction polynomiale.
N
on-deterministicP
olynomial timeT =f(n) o`u T nombre d’´etapes pour v´erifier n taille de l’entr´ee
f une fonction polynomiale.
Objections
I “Sudoku est facile. R´esolu rapidement par un ordinateur!”
Mise `a l’´echelle : Et si vous avez une grille 100⇥100?
I “Multiplier deux nombres de 1020chi↵res vs. un petit sudoku”
Comparer `a taille d’entr´ee ´egale
P
olynomial timeT =f(n) o`u T nombre d’´etapes pour calculer n taille de l’entr´ee
f une fonction polynomiale.
N
on-deterministicP
olynomial timeT =f(n) o`u T nombre d’´etapes pour v´erifier n taille de l’entr´ee
f une fonction polynomiale.
Objections
I “Sudoku est facile. R´esolu rapidement par un ordinateur!”
Mise `a l’´echelle : Et si vous avez une grille 100⇥100?
I “Multiplier deux nombres de 1020chi↵res vs. un petit sudoku”
Comparer `a taille d’entr´ee ´egale
P
olynomial timeT =f(n) o`u T nombre d’´etapes pour calculer n taille de l’entr´ee
f une fonction polynomiale.
N
on-deterministicP
olynomial timeT =f(n) o`u T nombre d’´etapes pour v´erifier n taille de l’entr´ee
f une fonction polynomiale.
Objections
I “Sudoku est facile. R´esolu rapidement par un ordinateur!”
Mise `a l’´echelle : Et si vous avez une grille 100⇥100?
I “Multiplier deux nombres de 1020chi↵res vs. un petit sudoku”
Comparer `a taille d’entr´ee ´egale
P
olynomial timeT =f(n) o`u T nombre d’´etapes pour calculer n taille de l’entr´ee
f une fonction polynomiale.
N
on-deterministicP
olynomial timeT =f(n) o`u T nombre d’´etapes pour v´erifier n taille de l’entr´ee
f une fonction polynomiale.
NP-compl´etude
NP-compl´etude
R´eductions (exemples)
Si on a un algorithme efficace pour factoriser,
cela implique un algorithme efficace pour tester la primalit´e.
NP-compl´etude
NP-compl´etude
Th´eor`eme (Levin/Cook 1971)
Supposons que SAT peut-ˆetre r´esolu efficacement, alors tout probl`eme de NP peut ˆetre r´esolu efficacement.
NP-compl´etude
Tous ces probl`emes sont ´equivalents et sont les probl`emes les plus difficiles de NP
Conclusion
Un probl`eme NP-complet est “efficacement” calculable , Tout probl`eme de NP est dans P
, P = NP.
P 6= NP
, Il existe un probl`eme de NP qui n’est pas dans P
, Aucun des probl`emes NP-complets ne peut ˆetre calcul´e
“efficacement”. [Levin/Cook 1971]
[Lettre de G¨odel `a Von Neumann 1956]
Conclusion
Un probl`eme NP-complet est “efficacement” calculable , Tout probl`eme de NP est dans P
, P = NP.
P 6= NP
, Il existe un probl`eme de NP qui n’est pas dans P
, Aucun des probl`emes NP-complets ne peut ˆetre calcul´e
“efficacement”.
[Levin/Cook 1971]
[Lettre de G¨odel `a Von Neumann 1956]
Conclusion
Un probl`eme NP-complet est “efficacement” calculable , Tout probl`eme de NP est dans P
, P = NP.
P 6= NP
, Il existe un probl`eme de NP qui n’est pas dans P
, Aucun des probl`emes NP-complets ne peut ˆetre calcul´e
“efficacement”.
[Levin/Cook 1971]
[Lettre de G¨odel `a Von Neumann 1956]
Conclusion
Un probl`eme NP-complet est “efficacement” calculable , Tout probl`eme de NP est dans P
, P = NP.
P 6= NP
, Il existe un probl`eme de NP qui n’est pas dans P
, Aucun des probl`emes NP-complets ne peut ˆetre calcul´e
“efficacement”.
[Levin/Cook 1971]
[Lettre de G¨odel `a Von Neumann 1956]
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Tous ces probl`emes sont NP-complets, i.e., ils sont tous
´equivalents.
Un point commun entre ces probl`emes?
Repliement des prot´eines
Sudoku Coloriage de cartes
Ordonnancement de tˆaches Voyageur de Commerce
Chemin Hamiltonien Super Mario Bros
Tous ces probl`emes sont NP-complets, i.e., ils sont tous
´equivalents.