Pour (rechercher les versions) des problèmes NP- complets, la vérification d'une solution est clairement plus facile que de la trouver, car la vérification peut être effectuée en temps polynomial, tandis que la recherche d'un témoin prend (probablement) une durée exponentielle.
En P , cependant, la solution peut aussi être trouvée en temps polynomial, il ne semble donc pas évident de savoir quand la vérification est plus rapide que de trouver la solution. En fait, différents problèmes semblent se comporter différemment de ce point de vue. Quelques exemples:
3sum: donnée numéros d'entrée, trouver trois d' entre eux cette somme à 0. Pour autant que je sache, les pistes de l' algorithme le plus rapide connu dans le temps, et cet ordre est optimal conjecturé. D'autre part, la vérification d'une solution est beaucoup plus rapide, car il suffit de vérifier que les 3 nombres trouvés totalisent bien 0.O ( n 2 - o ( 1 ) )
Chemins les plus courts toutes paires: à partir d’ un graphe avec des poids de bord, calculez sa matrice de distance des chemins les plus courts. Une fois qu'une telle matrice est donnée, peut-on vérifier plus rapidement qu'il s'agit bien de la matrice de distance correcte, plutôt que de la recalculer? À mon avis, la réponse est peut-être oui, mais elle est certainement moins évidente que pour 3SUM.
Programmation linéaire. Si une solution optimale revendiquée est donnée, il est plus facile de la vérifier que de la recalculer, lorsque des informations auxiliaires sont également fournies (solution double optimale). D'un autre côté, si seule la solution primale est disponible, il n'est pas clair si on peut la vérifier plus rapidement que la résolution du problème.
Question: Que sait-on de ce sujet? C'est-à-dire, quand est-il plus facile de vérifier une solution à un problème en P que de trouver la solution?