La d´
efinition de NP via les certificats
Rappel:
Une propri ´
et´
e peut ˆ
etre associ´
ee au langage Ldes repr´
esentations de
ses instances positives.
On d´
efinit donc la notion de NP sur les langages.
() Complexit´
e de Probl`
emes 5 / 62
La d´
efinition de NP via les certificats
Definition
Lest dit NP si il existe un polyn ˆ
ome Q, et un algorithme polyn ˆ
omial `
a
deux entr´
ees et `
a valeurs bool ´
eennes tels que:
L={u/∃c,A(c,u) = Vrai,|c| ≤ Q(|u|)}
Aest appel´
ealgorithme de v ´
erification,
cest appel´
ecertificat (ou preuve, ou t ´
emoin..).
|c|repr´
esente la taille de c.
|c| ≤ Q(|u|): la taille des certificats est born ´
ee polynˆ
omialement par
rapport `
a la talle de l’entr´
ee.
On dit que Av´
erifie Len temps polyn ˆ
omial.
() Complexit´
e de Probl`
emes 6 / 62
L’intuition?
On peut par exemple voir ccomme une preuve ou un ”candidat
-solution” , Acomme un algorithme qui v ´
erifie la preuve ou que la
solution est correcte; vous pouvez ˆ
etre capable de v´
erifier facilement
la preuve courte qu’un gentil g´
enie, (un prof, par exemple:-)) vous
donne mais cela n’implique pas forc ´
ement qu’elle soit facile `
a trouver...
Une propri ´
et´
eNP sera donc une propri´
et´
e pour laquelle les instances
positives ont une preuve ”courte” et ”facile” `
a v´
erifier.
() Complexit´
e de Probl`
emes 7 / 62
Comment montrer qu’une propri ´
et´
e est NP?
Pour montrer qu’une propri´
et´
e est NP, il faut:
d´
efinir la notion de certificat et montrer que la taille d’un certificat
est born´
ee polynˆ
omialement par la taille du probl`
eme
d´
efinir l’algo de V´
erification et montrer qu’il est polyn ˆ
omial (et
correct...)
() Complexit´
e de Probl`
emes 8 / 62