In Programmiersprachen ist es beispielsweise üblich, einen X-in-X-Compiler / -Interpreter zu schreiben, aber auf einer allgemeineren Ebene können sich viele bekannte Turing-complete-Systeme auf beeindruckende Weise selbst simulieren (z. B. Simulation von Conways Spiel des Lebens in Conways Spiel des Lebens) ).
Meine Frage lautet also: Reicht es aus, wenn ein System sich selbst simuliert, um zu beweisen, dass Turing vollständig ist? Es ist sicherlich eine notwendige Bedingung.
computability
automata-theory
turing-machines
Jeremy Kun
quelle
quelle
Antworten:
Nicht unbedingt. Beispielsweise kann sich der zweidimensionale zellulare Blockautomat mit zwei Zuständen, in denen eine Zelle erst dann lebendig wird, wenn seine vier Vorgänger genau zwei benachbarte lebende Zellen haben, mit einem Faktor von zwei Verlangsamung und einem Faktor von zwei Vergrößerung simulieren, aber Es ist nicht bekannt, dass Turing vollständig ist. Weitere Informationen zu diesem Blockautomaten und zur B36 / S125-Regel für die Moore-Nachbarschaft, mit der auch dieser Blockautomat simuliert werden kann, finden Sie unter Der B36 / S125-Zellularautomat „2x2“ von Nathaniel Johnston.
quelle
Nein, ist es nicht. Ich kenne zwei Hauptklassen von Techniken zur Vermeidung von Inkonsistenzen / Vollständigkeit.
Die erste Angriffslinie besteht darin, das System so einzurichten, dass die Syntax arithmetisiert werden kann, aber Godels Fixpunktsatz geht nicht durch. Dan Willard hat intensiv daran gearbeitet und konsistente, sich selbst verifizierende logische Systeme angegeben. Der Trick besteht darin, die Multiplikations- und Additionsfunktionssymbole zu entfernen und durch Teilbarkeit und Subtraktion zu ersetzen. Dies gibt Ihnen genug Leistung, um die Syntax arithmetisch darzustellen, aber der Fixpunktsatz geht nicht durch, da die Multiplikation nicht nachweislich vollständig ist.
Siehe Dan Willard. Selbstverifizierende Axiomensysteme, der Unvollständigkeitssatz und verwandte Reflexionsprinzipien . Journal of Symbolic Logic 66 (2001), S. 536-596.
Die zweite Angriffslinie erlaubt eine stärkere Verwendung von Fixpunkten, aber um die Dinge so einzustellen, dass die Syntax nicht rechnet. Die schönsten Systeme hierfür sind (IMO) basierend auf Varianten der linearen Logik. Zum Beispiel ist in Kazushige Teruis Light-Affine-Set-Theorie sogar das volle uneingeschränkte Set-Verständnis-Prinzip solide, aber da die Umgebungslogik der Set-Theorie linear ist (und daher keine Kontraktion zulässig ist), ist Russells Paradox nicht ableitbar.
Kazushige Terui. Lichtaffine Mengenlehre: Eine naive Mengenlehre der Polynomzeit. Studia Logica. 77, Nr. 1, S. 9-40, 2004.
Ich denke, dieses Papier ist zugänglicher, nachdem ich das folgende Papier von Yves Lafont gelesen habe:
Y. Lafont, Weiche lineare Logik und Polynomzeit , Theoretische Informatik 318 (Sonderheft über implizite rechnerische Komplexität) p. 163-180, Elsevier (2004)
Teruis Mengenlehre ist sehr aussagekräftig, aber schwer mit traditionellen Mengenlehre zu vergleichen, da beweistheoretische Ordnungszahlen kein gutes Werkzeug sind, um sehr schwache Systeme zu vergleichen. Zum Beispiel kann Teruis Mengenlehre die Exponentiation nicht vollständig beweisen, und daher kann ihre beweistheoretische Stärke nicht einmal bis zu reichen . Komplexitätsklassen sind wahrscheinlich besser - es ist vollständig für polytime (es kann beweisen, dass jede polytime-Funktion total ist, aber nicht mehr).ω
Ich neige dazu, diese Art von Systemen als Proof-of-Concept für die Idee zu betrachten, dass die Komplexitätstheorie als Grundlage für bestimmte Arten von Ultrafinitismus dienen kann.
quelle
Betrachten Sie das folgende Maschinenmodell. Die Maschine mit dem Code bei Eingabe gibt immer.x 0i x 0
Beachten Sie, dass jede Maschine in diesem Modell universell ist, da für alle .M ( ⟨ ⌜ M ' ⌝ , x ⟩ ) = M ' ( x ) = 0 M ' , xM M(⟨┌M′┐,x⟩)=M′(x)=0 M′,x
Dies ist eindeutig nicht Turing vollständig, hat aber auch eindeutig Universalmaschinen.
quelle