Was sind geeignete Isomorphismen zwischen formalen Sprachen?


9

Eine formale Sprache L über ein Alphabet Σ ist eine Teilmenge von Σ , die eine Reihe von Worten über dieses Alphabet ist. Zwei formale Sprachen L und L sind gleich, wenn die entsprechenden Mengen als Teilmengen von weitgehend gleich sind LL. Man kann Sprachen in der Komplexitätstheorie verwenden, um das Konzept eines "Problems" zu formalisieren. Man könnte sich beschweren, dass "im Allgemeinen" die Extensionsgleichheit unentscheidbar ist, aber ich glaube, dass dies falsch wäre.

Ich denke seit einiger Zeit über das folgende Problem nach: Zwei Sprachen L und L über Alphabeten Σ={a,b} und Σ={c,d} (wobei a , b , c und dsind unterschiedliche Buchstaben) können niemals gleich sein, selbst wenn sie "genau" das gleiche "Problem" beschreiben. Aber sie sollten isomorph sein, wenn sie wirklich "genau" das gleiche "Problem" beschreiben. Was ich gerne wissen würde, sind mögliche Vorstellungen von Isomorphismus, die für die Komplexitätstheorie geeignet sind. Anfangs dachte ich, ein rechnerisch schwacher "Übersetzer" wie eine Finite-State-Maschine könnte verwendet werden, um die erlaubten Isomorphismen zu definieren, aber dies scheint bereits für triviale syntaktische Übersetzungen zwischen äquivalenten logischen Formeln zusammenzubrechen. (Siehe zum Beispiel diese Tabelle mit der syntaktischen Definition des dualen A in der linearen Logik .)

Heute hatte ich folgende Idee: Eine Definition der Sprache, die einem bestimmten "Entscheidungsproblem" entspricht, besteht oft aus zwei Teilen: (1) einer Codierung der zulässigen Probleminstanzen als endliche Zeichenfolgen und (2) einer Definition der " akzeptierte "Probleminstanzen, die zur Sprache gehören. Wenn für die Überprüfung, ob eine bestimmte endliche Zeichenfolge eine Codierung einer zulässigen Probleminstanz ist, bereits eine rechenintensivere Maschine als eine endliche Zustandsmaschine erforderlich ist, sollte diese stärkere Maschine auch zur Definition der zulässigen Isomorphismen verwendet werden.

Fragen: Hat diese Argumentation eine Chance, mein Problem zu "lösen"? Wurde mein Problem bereits gelöst, sodass ich nur die richtigen Referenzen lesen muss? Ist mein Problem selbst sinnvoll oder ist dies genauso falsch wie die Beschwerde über die Unentscheidbarkeit der Extensionsgleichheit?


Bearbeiten (noch keine Antwort) Ich habe festgestellt, dass "(1) Eine Codierung der zulässigen Probleminstanzen als endliche Zeichenfolgen" bereits die (versteckte) Annahme einer normalisierten Eingabe enthält. Ohne diese Annahme könnten zwei verschiedene endliche Zeichenfolgen derselben Probleminstanz entsprechen. Anstatt zu prüfen, ob eine bestimmte endliche Zeichenfolge gültig ist, führt die Überprüfung möglicherweise zu einer normalisierten Eingabe (und ordnet ungültige Zeichenfolgen einer speziellen Zeichenfolge zu).

Diese Einstellung hat den Vorteil, dass die Maschine, die die Überprüfung / Normalisierung durchführt, bereits mit Mitteln ausgestattet ist, um endliche Zeichenfolgen in andere endliche Zeichenfolgen umzuwandeln. Die zulässige Maschine (Komplexitätsklasse) für diese Aufgabe könnte Teil der Problemdefinition sein, und die (Iso-) Morphismen würden dieselbe Maschine (Komplexitätsklasse) verwenden. (Der Vorschlag von "Poly-Time Many-One Reductions" aus Raphaels Kommentar wäre dann tatsächlich eine Möglichkeit für Probleme in )P.

Ein Nachteil ist, dass diese Art der Spezifikation möglicherweise nur für deterministische Maschinen geeignet ist. Nicht deterministische Maschinen erfordern möglicherweise flexiblere Möglichkeiten, um anzugeben / zu entscheiden, ob zwei Eingabezeichenfolgen derselben Probleminstanz entsprechen.


1
Alle unendlichen Sprachen (über endlichen Alphabeten) sind isomorph (da sie zählbar sind). Sie müssen verfeinern, was Sie wollen. Inwiefern sind Ihrer Meinung nach zwei Probleme "gleich"? Möglicherweise bieten Ihnen Mehrfachverringerungen mit mehreren Zeitpunkten eine Zuordnung, wie Sie sie möchten, aber diese ordnen sich "unterschiedliche" (aber ähnlich schwierige) Probleme zu.
Raphael

@ Raphael Ich bin etwas verwirrt von Ihrem Kommentar "Sie müssen verfeinern, was Sie wollen." Bei dieser Frage geht es genau darum, welchen Begriff des Isomorphismus ich "verwenden" möchte. Es ist manchmal schwierig zu wissen, was Sie wirklich wollen! Für die Passage der Frage nach Sprachen sprechen beschreiben „genau“ das gleiche „Problem“ war ich im Grunde nur von Fall zu denken , wenn die Identifizierung mit c und b mit d würde L und L ' gleich. Die Fortsetzung dieser Argumentation brachte mich zunächst dazu, endliche Maschinen als "Übersetzer" zu betrachten, was mein Problem letztendlich nicht löst.eincbdL.L.'

@Raphael Ich denke, dass für die meisten Probleme Poly-Time-Multiple-One-Reduktionen für die Isomorphismen, an die ich denke, viel zu leistungsfähig sind. Ich möchte nicht, dass der Isomorphismus die Lösung für mich berechnet oder ein graphentheoretisches Problem auf ein logisches Erfüllbarkeitsproblem reduziert. Ich möchte nur zwei leicht unterschiedliche, aber im Wesentlichen äquivalente Codierungen derselben Probleminstanz identifizieren. Ich habe kein Problem, wenn dieser Begriff des Isomorphismus auch bestimmte (Kodierungen von) graphentheoretische Probleme mit bestimmten (Kodierungen von) logischen Erfüllbarkeitsproblemen identifizieren sollte.
Thomas Klimpel

In etwa wird die mit Reduktionen verbundene Komplexität für diesen Zweck verwendet. Eine weniger starke Reduzierung als die P-Zeit ist z. B. die Reduzierung des Protokollspeichers, die Ö(nc)
-Zeit

Antworten:


6

Wurde mein Problem bereits gelöst, sodass ich nur die richtigen Referenzen lesen muss?

Die Theorie der abstrakten Sprachfamilie ist relevant. Beispielsweise führen die durch Wandler mit endlichen Zuständen definierten Morphismen zur Kegelfamilie . Eilenbergs kurzer ICM-Vortrag von 1970 erklärt diesen Rahmen sehr gut, siehe auch Kapitel 11 "Schließungseigenschaften von Sprachfamilien" aus Einführung in die Automatentheorie, Sprachen und Berechnung (1. Aufl.) Von J. Hopcroft und J. Ullman von 1979. Jedoch In diesen Rahmen passen nur nichtdeterministische Sprachen 1 . Am Ende half mir das Buch Theory of Codes von J. Berstel und D. Perrin aus dem Jahr 1985, vernünftige Lösungen für mein Problem zu finden. Codes und Automatenvon J. Berstel, D. Perrin und C. Reutenauer aus dem Jahr 2009 ist eine umfassende Überarbeitung dieses Buches mit einer viel breiteren Berichterstattung.

Hat diese Argumentation eine Chance, mein Problem zu "lösen"? Macht mein Problem selbst Sinn oder ist das genauso falsch wie ...?

Die Annahme, dass es eine korrekte Kategorie für die Modellierung von Isomorphismen zwischen Sprachen gibt, um "das Konzept eines Problems zu formalisieren", ist falsch. Es gibt viele verschiedene Kategorien, die im Kontext formaler Sprachen interessant sein können.

Hier sind drei interessante Kategorien, die sich auf viele Reduzierungen beziehen und als total , partiell und relational bezeichnet werden . Die Objekte der Kategorien sind Paare eines endlichen Alphabets Σ und einer Sprache L Σ von Wörtern über Σ . Für insgesamt die morphisms zwischen dem Quellobjekt ( Σ , L ) und das Zielobjekt ( Σ ' , L ' ) sind die Gesamtfunktionen f(Σ,L.)ΣL.ΣΣ(Σ,L.)(Σ',L.') mit L = f - 1 ( L ' ) . FürTeilsind die morphisms Teilfunktionen f : Σ *Σ ' * mit L = f - 1 ( L ' ) ,dem zwei Teilfunktionen f , g sind gleich betrachtet (wie morphisms)wenn f ( x ) = g ( x )f::ΣΣ'L.=f- -1(L.')f::ΣΣ'L=f1(L)fgf(x)=G(x)für alle . Für relational sind die Beziehungen morphisms R Σ * × Σ ' * mit L = R - 1 ( L ' ) , und zwei beliebigen morphisms zwischen der gleichen Quelle und dem Ziel werden als gleich sein. Der Satz zulässiger Funktionen oder Beziehungen kann auf verschiedene einfache "Übersetzer" beschränkt werden, um Kategorien mit interessanten Isomorphismen zu erhalten.xL.R.Σ×Σ'L.=R.- -1(L.')

  • Die Monoid homomorphisms von zu Σ ' * gibt eine sehr grundlegende Gesamt Kategorie. Die Isomorphismen dieser Kategorie sind im Grunde nur die Bijektionen zwischen Σ und Σ . Jede vernünftige Sprachfamilie sollte diese Isomorphismen besser respektieren, dh unter inversen Homomorphismen geschlossen werden.ΣΣ'ΣΣ'
  • Die von deterministischen Log-Space-Turing-Maschinenübersetzern definierten Teilfunktionen ergeben eine ganz natürliche Teilkategorie . Es ist in der Lage, viele triviale syntaktische Transformationen durchzuführen (wie die Anwendung von De Morgans Gesetzen, um Negationen auf die Atome zu verschieben), schließt den Morphismus ein, der durch funktionale Finite-State-Wandler 1 definiert ist , und kann auch sortieren. Dennoch werden zwei völlig unabhängige Sprachen nicht als isomorph identifiziert, da die Gleichheit der Zusammensetzung zweier Morphismen mit einem Identitätsmorphismus eine viel stärkere Voraussetzung ist als nur das Vorhandensein von Ein-Eins-Reduktionen in beide Richtungen.
  • Die von nichtdeterministischen Log-Space-Turing-Maschinenübersetzern definierten Beziehungen ergeben eine interessante relationale Kategorie. SAT ist in dieser Kategorie isomorph zu HORNSAT, aber es ist eine offene Frage, ob TAUTOLOGY oder ein anderes Co-NP-vollständiges Problem isomorph zu HORNSAT ist.

Zwei Sprachen und L ' über Alphabeten Σ = { a , b } und Σ = { c , d } (wobei a , b , c und d unterschiedliche Buchstaben sind) können niemals gleich sein, selbst wenn sie "genau" das beschreiben gleiches Problem." Aber sie sollten isomorph sein, wenn sie wirklich "genau" das gleiche "Problem" beschreiben.L.L.'Σ={ein,b}}Σ'={c,d}}einbcd

Die oben beschriebene sehr einfache Gesamtkategorie löst dieses Problem.

Das Problem wird interessanter, wenn "genau das gleiche" durch "fast das gleiche für die meisten praktischen Zwecke" ersetzt wird: Sei eine Sprache über Σ = { U , C , A , G } und sei L ' die Sprache über Σ ' = { 0 , 1 }, erhalten aus L durch Substitution U 00 , C 01 , A 10 und G 11L.Σ={U.,C.,EIN,G}}L.'Σ'={0,1}}L.U.00C.01EIN10G11. Beachten Sie, dass in jeder Gesamt Kategorie, und L ' für nicht isomorph sind L = Σ * . Das gleiche würde für wahr sein Teilkategorien, wenn der Teil „ wo zwei Teilfunktionen f , g sind gleich betrachtet (wie morphisms) , wenn f ( x ) = g ( x ) für alle x L “ wurden von der Definition weggelassen.L.L.'L.=ΣfGf(x)=G(x)xL.

Die oben beschriebene ganz natürliche Teilkategorie reicht aus, um und L ' isomorph zu machen. Es wäre schön, eine grundlegendere (dh restriktivere) Kategorie zu haben, die sie isomorph macht. Die folgenden (sukzessive restriktiveren) Kategorien erscheinen mir vernünftig:L.L.'

  • Die Teilfunktionen werden durch eindeutige Wandler 2 mit endlichem Zustand realisiert, wobei der einzige akzeptierende Zustand der Anfangszustand ist. Die Isomorphismen dieser Teilkategorie sind (eine Teilmenge der) Bijektionen zwischen erkennbaren Codes variabler Länge .
  • Die Teilfunktionen, die von deterministischen Wandlern mit endlichem Zustand realisiert werden, wobei der einzige akzeptierende Zustand der Anfangszustand ist. Die Isomorphismen dieser Teilkategorie sind (eine Teilmenge der) Bijektionen zwischen Präfixcodes .
  • Die Teilfunktionen werden gleichzeitig von einem vorwärts- und einem rückwärtsdeterministischen Wandler realisiert, wobei der einzige akzeptierende Zustand der Anfangszustand ist. Die Isomorphien dieser Teil Kategorie sind (eine Untergruppe der) Bijektionen zwischen Bifix Codes .
  • Eine weitere Einschränkung der Teilfunktionen, so dass die Isomorphismen (eine Teilmenge der) Bijektionen zwischen Blockcodes sind, könnte ebenfalls sinnvoll sein.

Man kann Sprachen in der Komplexitätstheorie verwenden, um das Konzept eines "Problems" zu formalisieren.

Noch bevor ich etwas über Kategorietheorie gelernt habe, habe ich mich gefragt, ob es "treuere" Wege gibt, das Konzept eines "Problems" zu formalisieren. Nachdem ich mich mit der Kategorietheorie vertraut gemacht hatte, versuchte ich manchmal, mögliche Lösungen zu finden, gab aber beim ersten Stolperstein immer schnell auf (weil es sowieso niemanden interessiert). Ich weiß, dass Yuri Gurevich einige verwandte Fragen gelöst hat, aber seine Lösungen sind praktisch anwendbar, während ich mehr nach etwas Schönem und Abstraktem suchte, unabhängig von der praktischen Anwendbarkeit.

Die meiste Zeit meiner Freizeit in den letzten drei Wochen habe ich damit verbracht, endlich Fortschritte bei diesem Problem zu machen. Meistens wurde die Zeit damit verbracht, nervige Probleme in den möglichen Lösungen zu finden, die ich mir vorgestellt hatte. Das Gefühl, Fortschritte zu machen, entstand aus dem Lesen (alter) Bücher und Artikel und dem Erlernen vieler grundlegender Konzepte und Fakten über Wandler und rationale Mengen. Schließlich lernte ich die Begriffe eines Präfixcodes und eines Bifix-Codes (früher Biprefix-Code in Berstels Buch), wodurch ich die oben beschriebenen vernünftigen 3 Kategorien finden konnte.

Es kann schwierig sein, diese (codebezogenen) Kategorien einzuschätzen, ohne einige Probleme der offensichtlicheren Kategorien gesehen zu haben. Ein allgemeines Problem ist, dass das Schließen unter Komposition es schwierig machen kann, eine schön eingeschränkte Klasse von Teilfunktionen zu definieren. Ein weiteres Problem hängt mit der Tatsache zusammen, dass die Addition von eins (oder die Multiplikation mit einer Konstanten) eine "einfach zu berechnende Funktion" ist, wenn die Ziffern der Zahl in Low-Endian-Reihenfolge angegeben werden, nicht jedoch, wenn die Ziffern in Big-End angegeben werden. Endian Ordnung.


Ö(n)Ö(1)

2 Ein eindeutiger Finite-State-Wandler ist ein nichtdeterministischer Finite-State-Wandler mit höchstens einem Akzeptanzpfad für jeden Eingang. Es realisiert eine Teilfunktion, daher ist es auch ein funktioneller Finite-State-Wandler. Es ist entscheidend, ob ein gegebener Wandler mit endlichem Zustand eindeutig ist.

R.Σ×Σ'L.=R.- -1(L.')- -R.- -1(Σ'- -L.')und zwei beliebige Morphismen zwischen derselben Quelle und demselben Ziel werden als gleich angesehen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.