informatique (MP2I/MPI) · Chapitre 31 · Exercice de TD
Le certificat vide
Décidabilité et classes de complexité · niveau 2
Énoncé
Démontrer que , puis expliquer pourquoi la phrase « signifie non polynomial » est doublement fausse.
Corrigé
La démonstration. Soit , résolu par un algorithme polynomial. On construit un vérificateur pour : ignore le certificat et rend .
- Si est une instance positive, le certificat vide convient — il est bien de taille polynomiale, et .
- Si est négative, est faux pour tout .
- s'exécute en temps polynomial, puisque l'est.
Donc .
Premier sens de la faute. ne veut pas dire « non polynomial » : , donc tout problème polynomial est dans . Le tri, la connexité d'un graphe, le plus court chemin sont dans .
Second sens de la faute. Le n vient de « non déterministe », qui est le vocabulaire d'un modèle de calcul que le programme écarte explicitement. La définition retenue — un certificat vérifiable en temps polynomial — n'en dit rien et suffit à tout.
La bonne lecture, en une phrase : est la classe des problèmes dont on reconnaît une solution quand on la voit. Que l'on sache la trouver est une autre question, et c'est la question ouverte.