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é - 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 + ϵ .
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.
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 :
Déclaration: l'exécution de M est par rapport à la longueur d'entrée 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 .
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.
À 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 et les restrictions gnostiques de P et N P resp. Alors P ' ≠ N P ' est soit prouvable soit réfutable en PA ou ZFC.
C2 (comme démontré explicitement en PA ou ZFC)
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 .
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 .
Réponses:
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 langueL telle que
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 LL L L L L′ L L L Ou un premier ordre formule . qui vaut si et seulement si x ∈ L , peut être considéré comme une définition intensionnelle de Lϕ(x) x∈L L
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 .L P P L∈P L
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:L L L
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 enP .
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.P≠NP P P P P P
la source
Q1: Non
Oui, au moins deux-1-en-binaire
Q2:
Lemme: Chaque MT avec un exposant d'exécution calculable qui est au moins 1 est transcendantal.
Preuve:M0 M1 ⟨r0,r1,r2,r3,...⟩ M0 M1 rm m∈A alors la déclaration de D1 est vraie] et [si m∈B alors la déclaration de D1 est fausse]. ⟨r0,r1,r2,r3,...⟩ rm Par conséquent, la machine de Turing est transcendantale.
(je parie que vous n'auriez jamais deviné ^ _ ^)
Soit A et B des ensembles récursivement inséparables .
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.
Définition:
1≤1 1 Par le lemme, M est efficace et transcendantal.
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,
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
However,ZF+C̸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 forMx 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.
la source