Nachweis der Schließung unter Ergänzung von Sprachen, die von Min-Heap-Automaten akzeptiert werden

8

Dies ist eine Folgefrage von dieser .

In einer früheren Frage zu exotischen Zustandsautomaten haben Alex ten Brink und Raphael die Rechenfähigkeiten einer besonderen Art von Zustandsmaschine angesprochen: Min-Heap-Automaten. Sie konnten zeigen, dass die von solchen Maschinen akzeptierte Menge von Sprachen ( ) weder eine Teilmenge noch eine Obermenge der Menge kontextfreier Sprachen ist. Angesichts der erfolgreichen Lösung und des offensichtlichen Interesses an dieser Frage stelle ich einige weitere Fragen.H.EINL.

Es ist bekannt, dass die regulären Sprachen unter einer Vielzahl von Operationen geschlossen sind (wir können uns auf grundlegende Operationen wie Vereinigung, Schnittmenge, Komplement, Differenz, Verkettung, Kleene-Stern und Umkehrung beschränken), während die kontextfreien Sprachen unterschiedliche Schließungen haben Eigenschaften (diese werden unter Vereinigung, Verkettung, Kleene-Stern und Umkehrung geschlossen).

Ist HAL unter Ergänzung geschlossen?

Patrick87
quelle

Antworten:

4

Behauptung : ist nicht gegen Komplement geschlossen.H.EINL.

Beweisidee : Wir haben uns darauf geeinigt, dass (die Sprache der geraden Palindrome über einem nicht unären Alphabet) nicht in . Wir zeigen, dass . Dies funktioniert nur für Typ 1 (da Typ 2 akzeptieren kann ); Der Proof kann jedoch an Typ 2 angepasst werden, siehe unten.H A L ¯ E P A LH A L E P A L.E.P.EINL.H.EINL.E.P.EINL.¯H.EINL.
E.P.EINL.

Beweis : Beachten Sie das

E.P.EINL.¯={vw::|v|=|w|,vwR.}} {w::|w|2N.+1}}

Wir konstruieren einen Min-Heap-Automaten mit zwei Heap-Symbolen , der folgendermaßen funktioniert:b<ein

  • Entscheiden Sie im Ausgangszustand nicht deterministisch, ob die Länge der Eingabe gerade ist.
  • Verwenden Sie auf dem unebenen Pfad die endliche Steuerung, um die Eingabe genau dann zu akzeptieren, wenn ihre Länge ungerade ist.
  • Sie auf dem geraden Pfad folgendermaßen vor:
    v1  vich+ein vich+1  vn+b wn  wich+1- -b wich  w1- -ein
    • Fügen Sie zunächst für jedes gelesene Symbol ein zum Heap hinzu .ein
    • Speichern Sie an einer nicht deterministisch bestimmten Position das aktuelle Symbol in endlicher Kontrolle und fügen Sie für jedes gelesene Symbol ein (und kein ) zum Heap hinzu.bein
    • Beenden Sie an einer nicht deterministisch bestimmten Position das Hinzufügen von Symbolen und verbrauchen Sie ein pro Eingabesymbol.b
    • Wenn alle verbraucht sind, vergleichen Sie das aktuelle Symbol mit dem in der Steuerung gespeicherten. Wenn sie ungleich sind, fahren Sie fort; Andernfalls lehnen Sie die Eingabe ab.b
    • Verbrauchen Sie ein pro Eingabesymbol. Wenn der Heap zur gleichen Zeit leer ist, zu der die Eingabe endet, akzeptieren Sie das Wort. anderweitig ablehnen.ein

Der beschriebene Min-Heap-Automat akzeptiert . Wie sein Komplement, , nicht in ist haben wir den Anspruch unter Beweis gestellt.E.P.EINL.¯E.P.EINL.H.EINL.

Hinweis: Der Proof kann auf die gleiche Weise mit ( in ) und dessen durchgeführt werden ergänzen. Dies erstreckt sich über dem Ergebnis auf Typ 2.{www{ein,b}}}}CSLHAL.

Raphael
quelle
+1 Sehr gute Antwort für die Min-Heap-Automaten vom Typ 1 (ursprüngliche Definition). Angesichts des relativ einfachen Arguments, das meiner Meinung nach zeigt, dass Sprachen, die von Min-Heap-Automaten vom Typ 1 akzeptiert werden, für die Vereinigung geschlossen sind, wissen wir auch, dass die von Min-Heap-Automaten vom Typ 1 akzeptierten Sprachen nicht unter Schnittpunkten geschlossen werden oder Unterschied zu ähnlich einfachen Argumenten. Ich werde dies einen Tag oder so geben und dann akzeptieren, nur um anderen Menschen die Möglichkeit zu geben, sie zu besuchen und möglicherweise andere Antworten zu geben ... Und was ist mit Typ-2-Min-Heap-Automaten (dh der natürlicheren Version, die Sie verwenden?) empfohlen)?
Patrick87
Wow, Mann, du bist ein cooler Typ.
Patrick87