Am Ende dieses Beitrags finden Sie Erläuterungen zu den Definitionen von Min-Heap-Automaten.
Man kann sich vorstellen, eine Vielzahl von Datenstrukturen zum Speichern von Informationen zur Verwendung durch Zustandsautomaten zu verwenden. Zum Beispiel speichern Push-Down-Automaten Informationen in einem Stapel, und Turing-Maschinen verwenden ein Band. Es hat sich gezeigt, dass Zustandsmaschinen, die Warteschlangen verwenden, und solche, die zwei Mehrfachstapel oder -bänder verwenden, in der Leistung Turing-Maschinen gleichwertig sind.
Stellen Sie sich eine Min-Heap-Maschine vor. Es funktioniert genau wie ein Push-Down-Automat, mit folgenden Ausnahmen:
- Anstatt sich das letzte Element anzusehen, das Sie dem Heap hinzugefügt haben, sehen Sie sich nur das kleinste Element (mit der auf der Grundlage der Maschine definierten Reihenfolge) an, das sich derzeit auf dem Heap befindet.
- Anstatt das letzte Element zu entfernen, das Sie dem Heap hinzugefügt haben, können Sie nur eines der kleinsten Elemente (mit der auf Maschinenbasis definierten Reihenfolge) entfernen, die sich derzeit auf dem Heap befinden.
- Anstatt ein Element oben auf dem Heap hinzuzufügen, können Sie dem Heap nur ein Element hinzufügen, dessen Position anhand der anderen Elemente im Heap bestimmt wird (wobei die Reihenfolge für jeden Computer festgelegt wird).
Dieser Computer kann alle regulären Sprachen akzeptieren, indem er den Heap nicht verwendet. Es kann auch die Sprache akzeptieren, indem dem Heap 's hinzugefügt wird. und Entfernen von 's aus dem Haufen, wenn es ' s liest . Es kann eine Vielzahl anderer kontextfreier Sprachen akzeptieren. Es kann jedoch beispielsweise nicht (ohne Beweis angegeben) akzeptieren . EDIT: oder kann es? Ich glaube nicht, dass es das kann, aber ich war schon einmal überrascht, und ich bin mir sicher, dass ich immer wieder überrascht sein werde, wenn ich meine Vermutungen habe, dass ich weiterhin ein ... naja aus mir mache.
Kann es alle kontextsensitiven oder Turing-vollständigen Sprachen akzeptieren?
Welche Forschungsarbeiten wurden allgemein in dieser Richtung durchgeführt? Welche Ergebnisse gibt es, wenn überhaupt? Ich interessiere mich auch für andere Arten von exotischen Zustandsautomaten, möglicherweise für solche, die andere Datenstrukturen für die Speicherung verwenden, oder für verschiedene Arten von Zugriffsbeschränkungen (z. B. wie LBAs eingeschränkte TMs sind). Referenzen sind willkommen. Ich entschuldige mich im Voraus, wenn diese Frage Unwissenheit zeigt.
Formale Definition:
Ich stelle hier einige detailliertere Definitionen von Min-Heap-Automaten zur Verfügung, um die weitere Diskussion bei Fragen zu klären, die auf dieses Material verweisen.
Wir definieren einen nicht deterministischen Min-Heap-Automaten vom Typ 1 als ein 7-Tupel wobei ...
- ist eine endliche, nicht leere Menge von Zuständen;
- ist der Anfangszustand;
- ist die Menge der akzeptierenden Zustände;
- ist ein endliches, nicht leeres Eingabealphabet.
- γ ∈ & Ggr; w ( γ ) ∈ N w ( γ 1 ) = w ( γ 2 ) ist ein endliches, nicht leeres Eingabealphabet, bei dem die Gewichtung eines Symbols , ist, dass ;
- ist das spezielle Heap-Symbol;
- ist die Übergangsfunktion.
Die Übergangsfunktion geht von einem anfänglich leeren Heap aus, der nur aus . Die Übergangsfunktion kann dem Heap eine beliebige Sammlung (endlich, aber möglicherweise leer oder mit Wiederholungen) von Elementen . Alternativ kann die Übergangsfunktion eine Instanz des Elements mit der niedrigsten Gewichtung aller auf dem Heap verbleibenden Elemente (dh des Elements auf dem Heap) entfernen . Die Übergangsfunktion kann nur die oberste (dh mit minimaler Gewichtung) Symbolinstanz zum Bestimmen eines gegebenen Übergangs verwenden.γ 1 , & ggr; 2 , . . . , γ k ∈ Γ γ w ( γ )
Ferner ist eine Definition des Typs 1 determinis min-heap Automat ein Typ-1 nondeterministic min-heap Automaten zu sein , die erfüllt die folgende Eigenschaft: für alle Strings , so dass und , .| x | = n σ ∈ Σ | δ n + 1 ( q 0 , x σ y , Z 0 ) | ≤ 1
Definieren Sie auch einen nicht deterministischen Min-Heap-Automaten des Typs 2 genau wie einen nicht deterministischen Min-Heap-Automaten des Typs 1, mit Ausnahme der folgenden Änderungen:
- γ ∈ & Ggr; w ( γ ) ∈ N w ( γ 1 ) = w ( γ 2 ) γ 1 = γ 2 ist ein endliches, nicht leeres Eingabealphabet, bei dem die Gewichtung eines Symbols , ist, dass impliziert nicht unbedingt ; Mit anderen Worten, verschiedene Heap-Symbole können dasselbe Gewicht haben.
- Wenn Instanzen unterschiedlicher Heap-Symbole mit derselben Gewichtung zum Heap hinzugefügt werden, wird ihre relative Reihenfolge gemäß einer stapelartigen Last-In-, First-Out- (LIFO-) Reihenfolge beibehalten.
Vielen Dank an Raphael, der auf diese natürlichere Definition hingewiesen hat, die die kontextfreien Sprachen erfasst (und erweitert).
Einige Ergebnisse zeigten bisher:
- Typ-1-Min-Heap-Automaten erkennen eine Menge von Sprachen, die weder eine Teilmenge noch eine Obermenge der kontextfreien Sprachen ist. [ 1 , 2 ]
- Typ-2-Min-Heap-Automaten erkennen nach ihrer Definition einen Satz von Sprachen, der eine angemessene Obermenge der kontextfreien Sprachen darstellt, sowie eine angemessene Obermenge der Sprachen, die von Typ-1-Min-Heap-Automaten akzeptiert werden.
- Sprachen, die von Typ-1-Min-Heap-Automaten akzeptiert werden, scheinen unter Vereinigung, Verkettung und Kleene-Stern geschlossen zu sein, jedoch nicht unter Komplementierung [ 1 ], Schnittmenge oder Differenz.
- Sprachen, die von nicht deterministischen Min-Heap-Automaten des Typs 1 akzeptiert werden, scheinen eine angemessene Obermenge von Sprachen zu sein, die von deterministischen Min-Heap-Automaten des Typs 1 akzeptiert werden.
Es kann ein paar andere Ergebnisse geben, die ich verpasst habe. Weitere Ergebnisse sind (möglicherweise) in Vorbereitung.
Folgefragen
- Schließung unter Umkehrung? - Öffnen Sie
- Abschluss unter Ergänzung? -- Nein!
- Steigert Nichtdeterminismus die Macht? -- Ja?
- Ist für Typ 2? - Öffnen Sie
- Erhöht das Hinzufügen von Heaps die Leistung für Typ 1? - für (?) k > 2
- Erhöht das Hinzufügen eines Stapels die Leistung für Typ 1? - Öffnen Sie