algo : problèmes NP complets

This commit is contained in:
gwen 2017-10-17 14:18:26 +02:00 committed by Benjamin Bohard
parent b5b00ce4d3
commit 2ed2488a47

View File

@ -49,3 +49,33 @@ exemples
- O(n^p) : progression polynomiale
- O(p^n ) : progression exponentielle
- O(log(n)): progression logarithmique
Problèmes NP-complets
----------------------
En théorie de la complexité, un problème NP-complet (c'est-à-dire un problème
complet pour la classe NP) est un problème de décision vérifiant les
propriétés suivantes :
- Il est possible de vérifier une solution efficacement (en temps
polynomial) ; la classe des problèmes vérifiant cette propriété est notée
NP ;
- Tous les problèmes de la classe NP se ramènent à celui-ci via une
réduction polynomiale ; cela signifie que le problème est au moins
aussi difficile que tous les autres problèmes de la classe NP.
- Un problème NP-difficile est un problème qui remplit la seconde
condition, et donc peut être dans une classe de problème plus large et
donc plus difficile que la classe NP.
Bien qu'on puisse vérifier rapidement toute solution proposée d'un
problème NP-complet, on ne sait pas en trouver efficacement. C'est le
cas, par exemple, du problème du voyageur de commerce ou de celui du
problème du sac à dos.
Tous les algorithmes connus pour résoudre des problèmes NP-complets
ont un temps d'exécution exponentiel en la taille des données d'entrée
dans le pire cas, et sont donc inexploitables en pratique même pour
des instances de taille modérée.