Un de mes collègues et moi-même venons de tirer quelques notes d’un de nos professeurs. Les notes indiquent qu'il existe des tâches qu'il est possible de résoudre en temps polynomial (appartiennent à la classe de PF) mais qui ne sont PAS vérifiables en temps polynomial (ne font pas partie de la classe de NPF).
Pour en savoir plus sur ces classes: Nous obtenons une entrée X et produisons une sortie Y telle que (X, Y) soient en relation R représentant notre tâche. S'il est possible d'obtenir Y pour X en temps polynomial, la tâche appartient à la classe de PF. S'il est possible de vérifier que le certificat de longueur polynomiale Z prouvant qu'un tuple (X, Y) est en relation R en temps polynomial, la tâche appartient à la classe des NPF.
Nous ne parlons pas de problèmes de décision, où la réponse est simplement OUI ou NON (plus formellement si une chaîne appartient à une langue). Pour les problèmes de décision, il apparaît que PF est un sous-ensemble approprié des FNP. Cependant, pour d'autres tâches, cela pourrait être différent.
Connaissez-vous une tâche qui peut être résolue en temps polynomial mais non vérifiée en temps polynomial?
la source
Réponses:
Ceci n'est possible que s'il existe plusieurs sorties admissibles pour une entrée donnée. C'est-à-dire lorsque la relation n'est pas une fonction car elle viole l'unicité.R
Par exemple, considérons ce problème:
La solution à ce problème est simple: ajoutez quelques états redondants au TM , éventuellement avec quelques transitions factices entre eux, jusqu'à ce que son codage dépasse n . Ceci est une application de base répétée du lemme de rembourrage sur les MT. Cela nécessitera n rembourrages, chacun pouvant ajouter un état, donc cela peut être fait en temps polynomial.M n n
D'autre part, étant donné est indécidable pour vérifier si N est une sortie correcte pour les entrées n , M . En effet, vérifier L ( M ) = L ( N ) est indécidable (appliquez le théorème de Rice), et la contrainte # N > n ne supprime que finement beaucoup de N s. Puisque nous retirons une quantité finie d'éléments d'un problème indécidable, nous obtenons toujours un problème indécidable.n , M, N N n , M L ( M)=L(N) #N>n N
Vous pouvez également remplacer la propriété indécidable pour obtenir des variations qui sont toujours calculables mais NP difficiles / complètes. Par exemple, étant donné n (unaire), il est trivial de calculer un graphe G ayant n -clique à l'intérieur. Mais étant donné n , G, il est difficile de vérifier si une n- clique existe.L(M)=L(N) n G n n,G n
la source
Ceci est simplement un développement de la première phrase de la réponse de @ chi, puisque je ne l'ai pas trouvée évidente.
L'idée est la suivante: si vous avez un algorithme qui trouve la réponse à un problème en temps polynomial, vous avez alors deux possibilités:
Vous avez précédemment prouvé (mathématiquement) que la sortie de l'algorithme est une solution au problème. Dans ce cas, les étapes de l'algorithme elles-mêmes constituent la preuve de la correction.
Vous avez un algorithme différent pour vérifier que la sortie est bien une solution. Dans ce cas, vous devez exécuter cet algorithme (sinon, vous tomberiez sous le cas n ° 1), ce qui implique que vous le faites en temps polynomial.
Par conséquent, il ne peut y avoir un tel problème.
la source