Haftungsausschluss: Ich weiß sehr wenig über Komplexitätstheorie.
Es tut mir leid, aber es gibt wirklich keine Möglichkeit, diese Frage zu stellen, ohne (schrecklich) präzise zu sein:
Was sollen die Morphismen in "der" Kategorie der Turingmaschinen sein?
Dies ist offensichtlich subjektiv und hängt von der Interpretation der Theorie ab. Daher sollte eine Antwort auf diese Frage im Idealfall auch Beweise und Argumente liefern, die die Antwort stützen.
Ich möchte den Punkt betonen, dass ich nach einer Kategorie von Turingmaschinen suche und nicht zum Beispiel nach formalen Sprachen . Insbesondere denke ich, dass meine Morphismen feinere Informationen als Verkleinerungen oder ähnliches enthalten sollten (ich bin mir jedoch nicht sicher).
Natürlich würde ich gerne wissen, was es ist, wenn es in der Literatur bereits eine bekannte und verwendete Kategorie gibt.
quelle
Antworten:
Saal Hardali erwähnte, dass er wollte, dass eine Kategorie von Turingmaschinen Geometrie (oder zumindest Homotopietheorie) ausführt. Es gibt jedoch viele verschiedene Möglichkeiten, ähnliche Ziele zu erreichen.
Es gibt eine sehr starke Analogie zwischen Berechenbarkeit und Topologie. Die Intuition ist, dass Terminierung / Nicht-Terminierung wie der Sierpinski-Raum ist, da Terminierung endlich beobachtbar (dh offen) ist und Nicht-Terminierung nicht (nicht offen) ist. Siehe Martin Escardos Vorlesungsunterlagen Synthetische Topologie von Datentypen und klassischen Räumen für eine gemäßigte sanfte, aber umfassende Einführung in diese Ideen.
Bei gleichzeitiger und verteilter Berechnung ist es oft nützlich, sich die möglichen Ausführungen eines Programms als Raum vorzustellen, und dann können verschiedene Synchronisationsbeschränkungen als homotopische Eigenschaften des Raums ausgedrückt werden. (Die Tatsache, dass die Ausführung eine zeitliche Reihenfolge hat, scheint eher eine gerichtete Homotopietheorie als eine gewöhnliche Homotopietheorie zu erfordern.)
Weitere Informationen finden Sie in Eric Goubaults Artikel Einige geometrische Perspektiven zur Theorie der Parallelität . Siehe auch Maurice Herlihy und Nir Shavits mit dem Goedel-Preis ausgezeichnetes Papier The Topological Structure of Asynchronous Computability , das einige seit langem offene Probleme in der Theorie der verteilten Programmierung gelöst hat.
Eine dritte Idee kommt über die Homotopietypentheorie, über die Entdeckung, dass die Martin-Löf-Typentheorie (wahrscheinlich?) Eine syntaktische Darstellung (im Sinne von Generatoren und Beziehungen) der Theorie der Omega-Gruppoiden ist, dh der Modelle der Abstraktion Homotopietheorie. Die beste Einführung in diese Ideen ist das Buch zur Homotopietypentheorie .
Beachten Sie, dass alle diese Ideen sehr unterschiedlich sind, aber immer noch geometrische Intuitionen verwenden! Und es gibt noch andere, die ich nicht kenne, wie die Verwendungen, die in der geometrischen Komplexitätstheorie auftreten, und die Art und Weise, wie die Schaltkreistheorien im Sinne der (Co) Homologietheorie von Graphen beschrieben werden können .
Grundsätzlich ist Geometrie bei CS ein Werkzeug - Sie formalisieren damit Ihre Intuitionen, sodass Sie durch die enorme Menge an Arbeit, die Sie damit geleistet haben, eine Hebelwirkung erzielen können. Aber es ist ein Ideenverstärker, kein Ersatz für Ideen!
quelle
Wenn es sich bei Ihren Objekten um Turingmaschinen handelt, gibt es verschiedene sinnvolle Möglichkeiten für Morphismen. Beispielsweise:
1) Betrachten Sie Turing-Maschinen als die Automaten, die sie sind, und betrachten Sie die üblichen Morphismen von Automaten (Abbildungen zwischen den Alphabeten und den Zuständen, die miteinander konsistent sind), die ebenfalls entweder die Bewegungen des Bandkopfes (der Bandköpfe) bewahren oder genau umgekehrt sie (z. B. wenn das Quell-TM nach links geht, geht das Ziel-TM nach rechts und umgekehrt).
2a) Betrachten Sie Simulationen oder Bisimulationen .
2b) In ähnlicher Weise können Sie überlegen, wann ein TM (durch eine berechenbare Funktion) transformiert werden kann, um das andere zu simulieren. Dies kann auf der Ebene des schrittweisen Verhaltens geschehen, oder, wie Yuval in den Kommentaren angedeutet hat, auf der Ebene des Input-Output, dh ein Morphismus von zu T 2 (oder umgekehrt) ist a berechenbar f so, dass T 1 (T1 T2 f T1( x ) = T2( f( x ) ) x
3) Betrachten Sie den Übergangsgraphen der Turing-Maschine (jeder Scheitelpunkt ist eine vollständige Beschreibung des Zustands der Maschine und der Bänder, wobei die gerichteten Kanten den Übergängen entsprechen, die die TM machen würde) und berücksichtigen Sie die Morphismen der Graphen. Für TMs ist dies jedoch eine sehr grobe Beziehung, da die lokale Art der Berechnung im Wesentlichen ignoriert wird (z. B. der Inhalt der Bänder wird ignoriert).
Ich denke , die Frage ist: Was ist es Sie wollen wissen , über TMs oder zu tun mit ihnen? In Ermangelung dessen ist es schwierig, Argumente für eine Definition über eine andere zu liefern, die über die Natürlichkeit hinausgeht (im üblichen Sinne des Wortes, nicht im kategorialen Sinne).
quelle
Vielleicht interessieren Sie sich auch für die Turing-Kategorien von Robin Cockett und Pieter Hofstra. Aus kategorietheoretischer Sicht ist die Frage "Was ist die Kategorie der Turingmaschinen?" Weniger interessant als "Was ist die kategoriale Struktur, die der Berechnung zugrunde liegt?". So identifizieren Robin und Pieter eine allgemeine Kategorie, die zur Entwicklung der Berechenbarkeitstheorie geeignet ist. Dann gibt es mehrere Möglichkeiten, eine solche Kategorie ausgehend von Turing-Maschinen zu definieren. Warum eine Kategorie, wenn Sie eine ganze Kategorie haben können?
quelle