Le certificat vide
Exercice · niveau 2 · informatique (MP2I/MPI), chapitre 31 — Décidabilité et classes de complexité
É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.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.