P contient-il des langues dont l'existence est indépendante de PA ou ZFC? (Wiki de la communauté TCS)

14

Réponse: inconnue.

Les questions posées sont naturelles, ouvertes et apparemment difficiles; la question est maintenant un wiki communautaire.

Aperçu

La question vise à diviser les langages appartenant à la classe de complexité P  - ainsi que les machines de Turing de décision (TM) qui acceptent ces langages - en deux sous-classes complémentaires:

  • langages gnostiques et MT (qui sont réalisables pour valider / comprendre), contre
  • langages cryptiques et MT (qui sont impossibles à valider / comprendre).

Définitions: gnostiques vs nombres cryptiques , MT et langues

Dans les frameworks axiome PA et ZFC , nous distinguons les machines et langages de Turing gnostiques comme cryptiques:

D0   On dit qu'un nombre réel calculable   est gnostique ssi il est associé à un ensemble non vide de mémoires de traduction, chaque TM spécifié dans PA comme une liste explicite de numéros comprenant un code valide sur un TM universel, de sorte que pour toute précision ε > 0 fourni en entrée, chaque TM prouvable (en ZFC) s'arrête avec un numéro de sortie o qui prouvablement (en ZFC) satisfait r - ϵ < o < r + ϵ .rϵ>0orϵ<o<r+ϵ

Remarque   On sait que certains réels calculables ne sont pas gnostiques (pour un exemple concret, voir la réponse de Raphael Reitzig à la question de jkff " Existe-t-il des preuves d'existence d'algorithmes non constructifs? "). Pour éviter de se débattre avec ces nombres calculables mais maladroits, la restriction est imposée que les exposants d'exécution soient calculables par les MT qui sont explicitement énumérées dans PA (contrairement aux TM implicitement spécifiées dans ZFC). Pour plus de détails, voir la section Considérations de définition (ci-dessous).

Nous recherchons maintenant des définitions qui capturent l'intuition selon laquelle la classe de complexité comprend un sous-ensemble de langages cryptiques auxquels aucun exposant d'exécution (gnostique) inférieur ne peut être attribué de manière prouvable. P

Pour regarder vers l'avenir, la définition finale ( D5 ) spécifie l'idée d'une décision canoniquement cryptique TM , dont la définition est conçue dans le but d'éviter les réductions qui masquent (trivialement) les calculs cryptiques en superposant les épi-calculs superflus sur le plan informatique. La justification et les sources de cette définition clé sont discutées plus loin - sous la rubrique Considérations relatives à la définition  - et les contributions des commentaires de Timothy Chow, Peter Shor, Sasho Nikolov et Luca Trevisan sont grandement appréciées.

D1   Étant donné une machine de Turing M qui s'arrête pour toutes les chaînes d'entrée, M est appelé cryptique si la déclaration suivante n'est ni prouvable ni réfutable pour au moins un nombre réel gnostique  :r0

Déclaration: l'exécution de M est par rapport à la longueur d'entrée nO(nr)n

Les machines de Turing qui ne sont pas cryptiques, nous disons sont des MT gnostiques.

D2   Nous disons qu'une décision Turing machine M est efficace si elle a un exposant d'exécution gnostique  tel que le langage L que M accepte n'est accepté par aucune autre MT ayant un exposant d'exécution gnostique inférieur à  r .rr

D3   Nous disons qu'un langage L est cryptique s'il est accepté par (a)  au moins une machine de Turing M est à la fois efficace et cryptique, et de plus (b)  aucune MT à la fois efficace et gnostique accepte prouvablement L.

Pour exprimer D3 d' une autre manière, un langage est cryptique si les MT qui acceptent le plus efficacement ce langage sont elles-mêmes cryptiques.

Les langues qui ne sont pas cryptiques, nous disons sont des langues gnostiques .

D4   Nous disons qu'une MT cryptique est fortement cryptique si le langage qu'elle accepte est cryptique.

D5   Nous disons qu'une MT fortement cryptique est canoniquement cryptique si elle est efficace.

Pour exprimer D5 d' une autre manière, chaque langage cryptique est accepté par un ensemble de MT de décision cryptiquement canoniques, qui sont les TM de décision les plus efficaces qui acceptent ce langage.

Les questions posées

La conjecture suivante C0 est naturelle et (apparemment) ouverte:

C0   La classe de complexité P contient au moins un langage cryptique.

Trois questions sont posées, Q1 - Q3 , dont la première est:

Q1   est le C0 conjecture indépendante de PA ou ZFC?

En supposant que C0 est vrai - soit de manière prouvée dans ZFC, soit comme un axiome indépendant qui complète ZFC - deux autres questions sont naturelles:

Q2   Peut au moins un langage cryptique dans on présenter concrètement P , c'est-à-dire présenté comme un dictionnaire de mots explicites dans un alphabet fini qui comprend tous les mots jusqu'à une longueur spécifiée? Si oui, exposez un tel dictionnaire.

Q3   Peut-on présenter concrètement au moins une décision cryptiquement canonique TM, c'est-à-dire comme une description habilitante pour la construction d'une machine de Turing physique qui décide (en temps polynomial) de tous les mots du dictionnaire de Q2 ? Si oui, construisez une telle machine de Turing et en calculant avec elle, exposez le dictionnaire de langage cryptique de Q2 .

Considérations de définition

La définition D0 implique que chaque nombre réel gnostique est calculable, mais il est connu que certains nombres réels calculables ne sont pas gnostiques. Pour des exemples, voir les réponses sur MathOverflow de Michaël Cadilhac et Ryan Williams et sur TCS StackExchange de Raphael Reitzig . Plus généralement, les définitions D0 – D5 sont conçues pour exclure les références aux exposants d'exécution non gnostiques.

Comme discuté dans le wiki TCS " P contient-il des langages incompréhensibles? ", Définitions D0 – D5 garantissent que chaque langage cryptique est accepté par au moins une MT qui est canoniquement cryptique. (Notez également que dans la présente question, le mot "cryptique" remplace le mot moins descriptif "incompréhensible" utilisé dans le wiki).

De plus - au vu de D3 (a) et D3 (b)  - il n'existe pas de réduction triviale sur le plan informatique d'une MT cryptiquement canonique à une TM gnostique qui reconnaît de manière prouvée le même langage. En particulier, D3 (a) et D3 (b) entravent les stratégies de réduction des polylimètres décrites dans les commentaires de Peter Shor et de Sasho Nikolov , et indépendamment de Luca Trevisan , et entravent également la stratégie de réduction synchronisée de Timothy Chow , toutes synchronisées dont les masques cryptiques sont également masqués en superposant un épi-calcul superflu sur le plan informatique .

En général, les définitions de "gnostique" et "cryptique" sont délibérément ajustées de manière à être robustes en ce qui concerne les réductions mathématiquement triviales (et il est tout à fait possible qu'un ajustement supplémentaire de ces définitions puisse être souhaitable).

Considérations méthodologiques

La revue de Lance Fortnow « The status of the P versus NP problem » étudie les méthodes permettant d'établir l'indépendance (ou non) des conjectures dans la théorie de la complexité; les suggestions sur la façon dont les analyses de Lance pourraient ou non aider à répondre au premier trimestre sont particulièrement souhaitables .

Il est clair que de nombreuses autres questions sont naturelles. Par exemple, la conjecture de Hartmanis-Stearns nous incite à nous demander "Existe-t-il des machines de Turing multitape cryptées en temps réel? Leur existence est-elle (ou non) indépendante de PA ou ZFC?"

Considérations de type Zeilberger

Dans le cas où Q1 est répondu par "oui", alors les oracles qui décident de l'appartenance à existent en dehors de PA ou ZFC, et donc, un élément essentiel de la théorie de la complexité moderne n'est (actuellement) connu pour résider dans aucun système formel de logique. P

À cet égard, la théorie de la complexité se distingue de la plupart des disciplines mathématiques, de sorte que les appréhensions que Doron Zeilberger exprime dans sa récente " Opinion 125: Maintenant qu'Alan Turing a 100 ans, il est temps de jeter un nouveau regard sur ses contributions séminales , qui a fait beaucoup de bien mais aussi beaucoup de mal "sont sans doute bien fondées.

Les préoccupations de Zeilberger prennent explicitement la forme du critère Z0    (! Q1  ) && (! C0  ), ce qui équivaut au critère suivant:

Z0:   critère de sensibilité de Zeilberger Les   définitions de la classe de complexité P   sont appelées sensibles à Zeilber si toutes les langues en P sont gnostiques.

À l'heure actuelle, on ne sait pas si la définition de Stephen Cook de la classe de complexité P   est sensible à Zeilberger.

Considérations de motivation

Les définitions de «gnostique» et «cryptique» sont conçues dans le but de (éventuellement) décider des conjectures comme suit:

C1   Soit etP les restrictions gnostiques de P et N P resp. Alors P 'N P ' est soit prouvable soit réfutable en PA ou ZFC.NPPNPPNP

C2   (comme démontré explicitement en PA ou ZFC)PNP

Clairement C2   C1 , et inversement, il est concevable qu'une preuve du (méta) théorème C1 puisse fournir des indications vers une preuve du (plus fort) théorème C2 . 

La motivation globale est l'attente / l'intuition / l'espoir que pour une distinction bien réglée entre les MT et les langages gnostiques et cryptiques, une preuve de C1 et peut-être même de C2 pourrait éclairer - et même avoir des implications pratiques comparables - une vraisemblablement beaucoup plus difficile et plus profonde la preuve que . PNP

Juris Hartmanis a été parmi les premiers théoriciens de la complexité à poursuivre sérieusement cette voie d'investigation; voir la monographie de Hartmanis Feasible Computations and Provable Complexity Properties (1978), par exemple.

Considérations nomenclaturales

Du Oxford English Dictionary (OED), nous avons:

  • gnostique (adj)  Relatif à la connaissance; cognitif; intellectuel   "Ils [les nombres] existent de manière vitale, gnostique et spéculative, mais pas de manière opérationnelle."

  • cryptique (adj)  Pas immédiatement compréhensible; mystérieux, énigmatique   "Au lieu de simples règles utiles à l'humanité, ils [les philosophes] font obstacle aux phrases cruelles et sombres."

Apparemment, aucune revue mathématique n'a utilisé le mot «gnostique» dans quelque sens que ce soit. Cependant, l'attention est attirée sur le récent article de Marcus Kracht « Gnosis » ( Journal of Philosophical Logic , MR2802332), qui utilise le sens OED.

Apparemment, aucune revue mathématique n'a utilisé le mot «cryptique» - dans son sens technique - en relation avec la théorie de la complexité. Cependant, l'attention est attirée sur l'article de Charles H. Bennett " Logical Depth and Physical Complexity " (dans The Universal Turing Machine: A Half-Century Survey , 1988) qui contient le passage

Un autre type de complexité associée à un objet serait la difficulté, compte tenu de l'objet, de trouver une hypothèse plausible pour l'expliquer. Les objets ayant ce genre de complexité pourraient être appelés "cryptiques" : trouver une origine plausible pour l'objet, c'est comme résoudre un cryptogramme.

Considérations de naturalité, d'ouverture et de difficulté

La naturalité de ces questions illustre la thèse de la monographie Faisible Computations and Provable Complexity Properties (1978) de Juris Hartmanis qui:

"Les résultats sur la complexité des algorithmes changent radicalement si l'on considère uniquement les propriétés des calculs qui peuvent être prouvées formellement."

L'ouverture et la difficulté de ces questions sont globalement conformes à la conclusion de la revue de Lance Fortnow " The Status of the P Versus NP Problem " (2009) qui:

"Aucun de nous ne comprend vraiment le problème P contre NP, nous avons seulement commencé à décortiquer les couches autour de cette question de plus en plus complexe."

Guide du wiki

Les ajustements définitionnels et les stratégies de preuve se rapportant particulièrement aux questions Q1 – Q3 et éclairant largement les conjectures de type Hartmanis C1 – C2 sont particulièrement recherchés .

John Sidles
la source
Je ne sais pas ce que vous voulez dire au troisième trimestre; il semble que la représentation d'entrée influence fortement le fonctionnement exact des MT.
2
Qu'est-ce qu'un nombre réel semi-défini positif? Je comprends "semi-défini positif" pour les matrices symétriques réelles, mais qu'est-ce que cela signifie pour les nombres!?
David Monniaux
Cela signifie zéro ou plus (un nombre considéré comme une matrice 1x1).
John Sidles
1
piste d'investigation intéressante. ont longtemps pensé que l' accélération de blums peut avoir un lien avec des questions comme celle-ci et / ou P =? NP, mais je n'ai jamais vu cela cloué ou exploré n'importe où. en particulier, nous n'avons pas vu de preuve très stricte / rigoureuse qu'il n'y a pas de langage en P qui soit également dans la classe identifiée par blum de telle sorte que le programme "n'a pas d'algorithme le plus rapide"
vzn
1
@JohnSidles Je ne pense pas qu'il existe de langage gnostique dans P, même si NP est contenu dans P. Nous pouvons peut-être les séparer comme ceux que nous pouvons résoudre en cherchant et les autres par une méthode différente puis en cherchant.
Tayfun Pay du

Réponses:

26

Je pense qu'il y a une difficulté fondamentale sous-jacente à la question que vous posez ici (et que vous avez posée dans votre question connexe sur les langues incompréhensibles).

En gros, il semble que vous cherchiez une langue L telle que

mais ZFC ne sait pas que L PLPLP .

Pour comprendre les difficultés avec votre question, je pense que vous devez d' abord comprendre qu'il ya une différence fondamentale entre intensionnelles et extensives définitions d'un langage . Extensionnellement, L est déterminée par ce que les mots sont ou ne sont pas membres de L . C'est-à-dire que deux langues L et L ' sont extensionnellement égales si et seulement si elles contiennent exactement les mêmes mots que les membres. En revanche, une intensionnel définition de L décrit certaines conditions pour un mot d'être en L . Une machine de Turing qui accepte LLLLLLLLLOu un premier ordre formule . qui vaut si et seulement si x L , peut être considéré comme une définition intensionnelle de Lϕ(x)xLL

Le fait est que chaque qui est (extensionnellement) dans P admet une description qui est extrêmement simple, car P est une classe de complexité dite "syntaxique". À savoir, prenez simplement une machine de Turing à horloge polynomiale , qui se termine exactement dans le temps souhaité. Tout système « raisonnable » pour les mathématiques faisant, tels que le PA ou ZFC, va être en mesure de prouver que L P si vous utilisez cette description simple de L .LPPLPL

Donc , si vous voulez confondre ZFC, vous allez devoir trouver une (intensionnel) description de qui est « trop compliquée » pour ZFC à reconnaître comme équivalent à la description pure et simple de L . C'est possible, mais dans un certain sens, il est trop facile d'être intéressant. Tout ce que vous avez à faire est de prendre quelque chose que nous savons que ZFC ne comprend pas (par exemple, sa propre cohérence) et de le mélanger avec la définition de L d'une manière ou d'une autre. Par exemple, voici une description d'un ensemble d'entiers:LLL

est pair et xxx n'encode pas une preuve que ZFC est incohérent.

En supposant que ZFC est cohérent, la formule ci-dessus définit l'ensemble d'entiers pairs, mais ZFC ne le sait pas. Avec un peu plus de bricolage, nous pouvons facilement obtenir une description de l'ensemble d'entiers pairs que ZFC ne sera pas en mesure de prouver qu'il est en P .

Le résultat est que si vous espérez que la raison pour laquelle il est difficile de prouver que est qu'il existe des langues en P qui sont «trop compliquées» pour nous de raisonner, alors je pense que vous aboyez mal arbre. Extensionnellement, chaque langue en P est en P pour des raisons triviales. Vous pouvez brouiller les eaux en jouant avec des descriptions incroyablement opaques des langages en P , mais c'est une astuce générale qui n'a rien à voir avec P en particulier, donc je ne pense pas que cela donne beaucoup d'informations.PNPPPPPP

Timothy Chow
la source
Timothy, merci pour ce bel essai. Ai-je bien compris, cependant, que la définition standard de P - par Arora & Barak Computational Complexity: a Modern Approach and / or Hartmanis Feasible Computations and Provable Complexity Properties , ou l'énoncé du Millenium Prize - n'est PAS extensionnelle? Pourtant, peut-être que certains problèmes seraient plus faciles à résoudre si la définition de P était convenablement modifiée, au motif que (selon Hartmanis) "Nous devons explorer davantage comment notre" vision du monde "de la complexité des algorithmes doit être modifiée si nous considérons uniquement prouvable propriétés des algorithmes. "
John Sidles
2
@JohnSidles la définition standard de P est "l'ensemble de toutes les langues qui peuvent être décidées par certains polytime TM". la façon dont un langage est défini (de manière intensionnelle ou extensionnelle) n'entre pas du tout dans l'image: il n'entre dans l'image qu'une fois que nous devons prouver qu'une machine particulière accepte un langage particulier.
Sasho Nikolov
1
Sasho, l'idée maîtresse de la réponse de Timothy Chow (comme je l'ai lu) est "Si nous définissons P de manière extensionnelle , alors décider de l'appartenance à P est trivial." L'idée maîtresse de votre commentaire (tel que je l'ai lu) est que, selon la convention actuelle, " P est défini de manière intensionnelle ". La combinaison de ces deux observations nous amène à apprécier la remarque de Hartmanis: "Les résultats sur la complexité des algorithmes changent assez radicalement si nous considérons uniquement les propriétés des calculs qui peuvent être prouvées formellement." Et nous nous demandons donc naturellement comment la définition de P pourrait être modifiée, afin de prouver plus facilement de bons théorèmes.
John Sidles
1
PP
Oui, les définitions de gnostique et transcendantal sont destinées à prouver (éventuellement) des déclarations comme celle-ci: Théorème Soit P ' et NP' les restrictions gnostiques de P et NP resp. Alors P '≠ NP' . Pour une définition convenablement large mais naturelle du «gnostique», une telle preuve pourrait être éclairante de manière comparable, et avoir des implications pratiques comparables, à une preuve (vraisemblablement beaucoup plus difficile?) Que P ≠ NP . AFAICT, Juris Hartmanis a été parmi les premiers théoriciens de la complexité à poursuivre sérieusement cette piste d'investigation.
John Sidles
8

Q1: Non
Q2: Oui, au moins deux-1-en-binaire


Lemme: Chaque MT avec un exposant d'exécution calculable qui est au moins 1 est transcendantal.

Preuve:
Soit A et B des ensembles récursivement inséparables .M0M1r0,r1,r2,r3,...M0M1rmmA alors la déclaration de D1 est vraie] et [si mB alors la déclaration de D1 est fausse]. r0,r1,r2,r3,...rmPar conséquent, la machine de Turing est transcendantale.


Définition:
au moins deux-1-en-binaire est l'ensemble d'entiers non négatifs dont la
représentation binaire a au moins deux 1. (je parie que vous n'auriez jamais deviné ^ _ ^)

Définition:
M est la machine de Turing qui scanne la représentation binaire de
son entrée, accepte si elle trouve au moins deux 1 et rejette sinon.

De toute évidence, M décide d'au moins deux-1-en-binaire et a l'exposant d'exécution 1, et aucune autre machine de Turing avec un exposant d'exécution plus petit ne décide également d'au moins deux-1-en-binaire.
Trivialement,111Par le lemme, M est efficace et transcendantal.
Cela signifie qu'au moins deux-1-en-binaire est également transcendantal.

Par conséquent, TPCCC est un théorème de PA (et ZFC), et
au moins deux-1-en-binaire est un langage transcendantal concret.


la source
Ricky, merci beaucoup! Il faudra quelques jours pour contempler votre ingénieux langage "au moins deux-1-en-binaire" (ALT1siB) et la MT qui l'accepte ... il y a des considérations de naturalité que D1-5 sont (espérons-le) réglé pour assurer, et que (espérons-le) ALT1siB respecte. Les intuitions sont particulièrement recherchées concernant "Qu'est-ce que ALT1siB nous enseigne sur la complexité?" Si vous souhaitez faire des remarques à cet égard, elles seraient grandement appréciées.
John Sidles
3
(Vous l'espérez, vous le réalisez, mais) La seule chose que j'utilise à propos d'ALT1siB est qu'il a une complexité exactement linéaire, donc il ne nous apprend rien sur la complexité. Ce que le lemme nous enseigne, c'est que la plupart des machines de Turing naturelles sont transcendantales.
r
Hmmm ... pour le dire autrement, puisque notre définition du transcendantal est si large que (selon votre lemme) même les MT que nous (pensons que nous) comprenons bien - c'est-à-dire les MT que nous considérons comme gnostiques - sont en fait transcendantale, la définition de "transcendantal" doit être (espérons-le au minimum) restreinte. Exemple: nous souhaitons respecter notre intuition de bon sens que les MT qui décident de la primalité via le test de primalité AKS soient gnostiques et non transcendantaux. Votre réponse montre qu'un réglage de définition (espérons-le mineur) est nécessaire ... mais quoi?
John Sidles
1
Ricky, je me demande si cela vous dérangerait de modifier votre réponse pour donner des définitions explicites pour m , s et t . Dans l'état actuel des choses, les définitions de ces nombres doivent être devinées, et je ne suis nullement convaincu d'avoir correctement deviné. En particulier, est-ce que je comprends bien que changer "réel" en "rationnel" dans D1 ferait disparaître l'échappatoire que votre message (AFAICT) souligne, de telle sorte que sous D1 modifié au moins certaines MT sont gnostiques?
John Sidles
1

xn:=2+i=0n[1/2i if i encodes a proof that ZF is inconsistent, and 0 otherwise]nxnxnx:=2+i=0[1/2i if i encodes a proof that ZF is inconsistent, and 0 otherwise]

xZF

x>1MxnNsNs|s|x/log(|s|)xMxMxMxMxO(|s|y)yxMx

xMxO(|s|2)x=2, ie if ZF is consistent; moreover this fact will itself be provable in ZF. So [if ZF is consistent], Mx is a [strongly and canonically] cryptic machine, and this fact will be provable in ZF+Con(ZF).

However, ZF+on(ZF) proves that all languages in P are gnostic, since it proves that ZF proves that every language has runtime O(|s|z) for every z. So it is undecidable in ZF whether any cryptic language exists.

To answer your second and third questions, the definition I gave above for Mx is quite concrete; I don't think a full Turing machine description would be very illuminating. I suppose I could give a pseudo-code description of the program, though.

Ben Standeven
la source
Ben, thank you for this carefully reasoned and thoughtfully phrased answer. It will take a few days to digest it ... I hope to comment in a week or so!
John Sidles