Adloun

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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre