Réduction de P vs NP à SAT

12

La question suivante utilise des idées de cryptographie appliquées à la théorie de la complexité. Cela dit, il s'agit d'une question purement théorique, et aucune connaissance cryptographique n'est requise pour y répondre.

J'écris délibérément cette question de manière très informelle. Manquant de détails, il est peut-être mal énoncé. N'hésitez pas à signaler les corrections dans vos réponses.


Dans le journal suivant:
Cryptographie non malléable, Danny Dolev, Cynthia Dwork et Moni Naor, SIAM Rév.45, 727 (2003), DOI: 10.1137 / S0036144503429856 ,
les auteurs écrivent:

Supposons que le chercheur A ait obtenu une preuve que P ≠ NP et souhaite communiquer ce fait au professeur B. Supposons que, pour se protéger, A prouve sa prétention à B d'une manière à connaissance nulle ...

Il existe plusieurs problèmes NP-complets standard, comme la satisfiabilité (SAT), le graph-hamiltonicité et le graph-3-colorabilité (G3C), pour lesquels il existe des preuves de connaissance zéro. La manière standard de prouver un théorème NP est de le réduire d'abord à une instance des problèmes NP-complets susmentionnés, puis de réaliser la preuve de connaissance zéro.

Cette question concerne cette réduction. Supposons que le P vs NP soit réglé de l'une des manières suivantes:

  • P = NP
  • P ≠ NP
  • P vs. NP est indépendant de la théorie des ensembles axiomatiques standard.

Soit σ la preuve. Ensuite, P vs. NP est dans un langage NP (car il existe une courte preuve pour cela). La réduction du théorème (disons P ≠ NP) au problème NP-complet (disons SAT) est indépendante de σ. C'est:

There exists a formula ϕ which is satisfiable if and only if P ≠ NP.

C'est bien au-delà de mon imagination! Il semble que, même si on nous donne la preuve σ, il est peu probable que nous puissions construire une telle formule ϕ.

Quelqu'un pourrait-il nous éclairer là-dessus?

De plus, soit L un langage NP dans lequel se trouve P vs. NP . Le langage est composé d'une infinité de théorèmes comme P vs. NP , de tailles arbitraires.

Qu'est-ce qu'un candidat pour L?
L peut-il être NP-complet?

MS Dousti
la source
Je ne comprends pas cette partie: "Soit σ la preuve. Alors, P vs NP est dans NP (car il existe une preuve courte pour cela). La réduction du théorème (disons, P ≠ NP) au NP -le problème complet (disons SAT) est indépendant de σ. C'est-à-dire qu'il existe une formule ϕ qui est satisfiable si et seulement si P ≠ NP. ". Pourriez-vous s'il vous plaît l'expliquer un peu plus? Cela n'a pas de sens pour moi que "P vs NP soit dans NP", même si vous le changez en "y a-t-il une preuve de longueur au plus n en théorie T pour P \ neq NP". Soit il y a un plus petit n tel qu'il y a une preuve de cette taille pour la question ou il n'y a pas une telle preuve.
Kaveh
1
[suite] S'il n'y en a pas, la fonction qui rejette toujours répond à la question, et dans l'autre cas, la fonction qui accepte un nombre supérieur à la longueur de la plus petite preuve et rejette tout ce qui est inférieur à la résolution de la question. La question selon laquelle et donne a une preuve de la taille n dans est NP, mais si vous corrigez cela n'a pas beaucoup de sens. n φ T φφnφTφ
Kaveh
Notez également que la question qui "étant donnée une instruction (comme ), est-elle prouvable dans une théorie du premier ordre ?" n'est pas décidable en général. P N P TφPNPT
Kaveh
@Kaveh: Clarification ajoutée.
MS Dousti
quelques idées intéressantes mais cela n'a aucun sens de dire "une preuve est en NP" ou "qu'il existe une preuve courte". c'est-à-dire qu'il pourrait y avoir une méthode pour faire ces parallèles mais il faudrait qu'elle soit définie de façon plus formelle. le plus proche de ces idées, semble-t-il, serait le cadre des preuves naturelles razborov / rudich.
vzn

Réponses:

20

La façon de voir tester une instruction mathématique (par exemple, une résolution de P vs NP) comme une question de la forme "est la formule .. satisfaisable" est la suivante:

Correction d'un système d'axiome. Étant donné une chaîne de longueur n, que la chaîne soit une preuve de l'énoncé mathématique dans le système axiomatique, c'est quelque chose que l'on peut définir de manière simple: la chaîne doit être constituée de propositions. Chaque proposition doit être soit un axiome, soit suivre les propositions précédentes par l'une des règles d'inférence.

Ce n'est pas un problème de définir une formule booléenne qui vérifie tout cela. Tout ce que vous devez savoir, c'est la longueur n de l'épreuve!

Dana Moshkovitz
la source
9

P vs NP est dans NP (car il existe une courte preuve pour cela)

Cela n'a pas beaucoup de sens pour moi. NP est une classe de complexité pour les problèmes de décision qui ont des instances arbitrairement grandes, et P vs NP n'en a pas. D'après ce que vous dites plus tard:

soit L un langage NP dans lequel se trouve P vs. NP.

vous pouvez plutôt dire que P vs NP est une instance d'un problème NP; Mais bien sur! C'est aussi l'instance d'un nombre infini de problèmes P, DTIME (n), etc. En particulier, voici deux candidats DTIME (1) pour L, dont l'un précisément est correct: toujours revenir true; ou toujours revenir false.

Alexey Romanov
la source
2
Veuillez relire la note annexe au début de la question. Je disais cela de manière informelle, et cela mène à votre confusion. Pour formaliser, il faut considérer une généralisation du théorème "P vs. NP". Pour une infinité de n, la généralisation suppose un théorème de longueur n. Les théorèmes donnent naissance à un langage L, qui ne peut être éventuellement décidé dans DTIME (1).
MS Dousti
Ensuite, une brève preuve / non-preuve de "P vs NP" n'est qu'une instance de "P vs. NP généralisé" (peut-être une simple?), Et il ne s'ensuit pas que GPvNP est dans NP.
Alexey Romanov
Downvoted: Je comprends l'objection à la façon dont la première déclaration citée est formulée, car les membres de NP sont des ensembles et "P vs. NP" n'est pas un ensemble. Cependant, sur la deuxième objection, tout "problème NP" est un problème de décision qui peut toujours être légitimement formulé comme décidant si une chaîne est dans une langue; Je ne vois rien de mal à sa définition de L. De plus, l'appel à des langues DTIME (1) triviales, toujours vraies ou toujours fausses ignore le point: si nous connaissons déjà TOUTES les déclarations vraies, nous construisons probablement un look- table haute pour que la machine de Turing accède à un temps constant.
Daniel Apon
[Suite] Mais en supposant que L est un langage approprié (c'est-à-dire un ensemble infini), alors vous supposez un tableau infiniment grand de "vraies déclarations" pour accéder, ce qui semble enfreindre toutes sortes de règles. Ou plus précisément: pourquoi votre argument en faveur de DTIME (1) ne se généralise-t-il pas dans N'IMPORTE QUEL langage, pas seulement celui que nous considérons maintenant?
Daniel Apon
1
Merci tout le monde. Veuillez noter que l'une des questions que j'ai posées concernait un langage L dans lequel «P vs NP» s'inscrit. C'est-à-dire que "P vs. NP" n'est qu'un exemple d'un tel langage. Le langage généralise l'instance à une infinité de théorèmes. Il est hautement improbable . LDTIME(1)
MS Dousti