2. Problèmes difficiles (1) Problèmes difficiles (2)
• Que faire si un problème est dure ...
Juta 2010 Juin 2010
Problème de décision polynomiaux(1) Langage
« Le temps polynomial est la mesure d'efficacité • lin langage L est un ensemble de chaînes définies sur un
• Problème de décision alphabet 2
• sortie : 0 ou 1 • Chaque algorithme A de décision définit un langage L
• Est-ce que un graphe admet un cycle Eulérien ? * L est l'ensemble de toutes les chaînes x tels que A donne la
" Une chaîne de caractère T contient une sous-chaine S ? réponse « oui » sur x
• Un problème du voyageur de commerce (binaire) admet une • Dans ce cas, on dit que « A accepte la chaîne x »
solution ayant au minimum un bénéfice K ? • Si A est un algorithme qui détermine si un graphe admet un cycle
Eulérien, alors L est l'ensemble de tous les graphes ayant un;cycle
Eulérien
Juin 2010 Juin 2010
3. La Classe P La classe NP (1)
• Un algorithme est dit non-déterministe ssi il utilise
Une classe de complexité est une collection de langages
F opération suivante
P est la classe de complexité comprenant tous les langages • Choose(b) : choisit un bit b
• peut-être utilisé pour choisir une chaîne entière y avec
acceptés en un temps polynomial | y | choix
• Un algorithme non-déterministe A accepte une chaîne x ssi
Pour chaque langage L dans P, il y a un algorithme de il y a une séquence de « choose () » qui cause A à sortir « oui
décision polynomial A pour L » pour la chaîne x
• NP est la classe de complexité comprenant tous les langages
« n — | x | tel que x € L; A est exécuté en p(n) pour l'entrée x acceptés par des algorithmes non-déterministe
polynomiaux
• La fonction p(n) est polynomiale
Juin 2010 10 ]uin2010
La classe NP (2) = NP?
Problème: décider si un graphe
admet un MST de poids k
Algorithme
1. choisir aléatoirement un ensemble T
de (n-1) arêtes
2. Tester si T forme un arbre couvrant
minimal
3. Tester sir le poids deT est au max k
Aanalyse: tester prend O(n+m);
donc polynomial
11 Juin 2010 12 Juin 2010
4. NP-dur P, NP, NP-dure?
• l In liUijM^e L est NP-dur ssi chaque problème de NP peut-
clique problem
être réduit à L en un temps polynomial
Un langage est NP-complet s'il est dans NP et il est NP-dur
.été
path problem gi'aph isomoqjhisrn
(conjectured); do
tvo graphs hâve thé
samc structure?
13 Juin 2010 14 < Juin 2010