Monadic Second Order Logic für Dummies

13

Ich bin Programmierer mit einem Griff auf Automaten, aber nicht auf Logik.

Ich habe in Zeitungen gelesen, dass die beiden sehr eng miteinander verbunden sind. Deterministische endliche Automaten (DFA), Baumautomaten und sichtbare Pushdown-Automaten sind alle mit der monadischen Logik zweiter Ordnung (MSO) verwandt. Obwohl ich die Automaten verstehe und die Leute (in Artikeln) versucht haben, mir die Beziehung zu MSO zu erklären, setzen sie immer einen starken logischen Hintergrund und ein Verständnis von MSO voraus.

Wenn ich mir Bücher und Kurse über Logik anschaue, behandeln sie meistens nur Logik erster Ordnung, die ziemlich einfach zu sein scheint und nur aus wenigen Konzepten besteht: Variablen oder, und nicht, impliziert, dass es für alle gibt, usw.

Kann mir jemand erklären oder auf eine Ressource verweisen, die erklären kann:

  1. Was ist Logik zweiter Ordnung im Gegensatz zu Logik erster Ordnung?
  2. Was ist monadische vs. nicht-monadische Logik?
  3. Warum ist es wichtig, dass eine Logik zweiter Ordnung monadisch ist, um entscheidbar zu sein, ODER warum ist dies die falsche Frage?
  4. Warum ist die monadische Logik zweiter Ordnung entscheidbar?
  5. Die Beziehung zu mindestens DFAs?

Wenn es sich um eine Ressource handelt, wäre es schön, wenn davon ausgegangen würde, dass ich ein Programmierer und kein Logiker bin. Das heißt, ich würde gerne verstehen, wie ich es als Code implementieren würde, denn bis dahin fühlt sich Mathe für mich wie Magie an;)

Vielen Dank für jede Hilfe, die Sie mir geben können. Ich würde dies sehr begrüssen.

Walter Schulze
quelle
"Warum ist es wichtig, dass eine Logik zweiter Ordnung monadisch ist, um entscheidbar zu sein, ODER warum ist das die falsche Frage?" Wenn Sie die Quantifizierung über ein binäres Prädikat erlauben, zB dann greift man sofort auf die Potenz von First Order Logic mit einem einzigen binären Prädikat zurück, das bereits unentscheidbar ist (auch ohne Funktionen von arity> 0 und ohne Gleichheit) [Kalmar, Suranyi, 1950]M[...M(x,y)...]
Vor

Antworten:

9
  1. Was ist Logik zweiter Ordnung im Gegensatz zu Logik erster Ordnung?
  2. Was ist monadische vs. nicht-monadische Logik?

Monadische Logik zweiter Ordnung ist Logik erster Ordnung plus Quantifizierung über Mengen. Sie können also nicht nur sagen, dass ein Domänenelement mit einer bestimmten Eigenschaft vorhanden ist ( ), sondern auch, dass eine Reihe von Domänenelementen mit einer bestimmten Eigenschaft vorhanden ist. So können wir zum Beispiel die 3-Färbbarkeit von Graphen definieren, indem wir sagenx

RGB[x(xRxGxB)¬x((xRxG)(xGxB)(xBxR))xy(E(x,y)¬((xRyR)(xGyG)(xByB)))].

In Worten gibt es Farben Rot, Grün und Blau, so dass

  • Jeder Scheitelpunkt hat eine Farbe
  • und kein Eckpunkt hat zwei Farben
  • und wenn es eine Kante zwischen zwei Scheitelpunkten gibt, haben diese beiden Scheitelpunkte nicht die gleiche Farbe.

Die allgemeine Logik zweiter Ordnung ermöglicht nicht nur die Quantifizierung über Mengen, sondern auch über beliebige Beziehungen über die Domäne. Erinnern Sie sich, dass eine Relation eine Menge von Tupeln über der Domäne ist, für einige  k . Mengen sind nur unäre Beziehungen: k = 1 und ein 1- Tupel ist nur ein Element der Domäne.kkk=11

  1. Warum ist es wichtig, dass eine Logik zweiter Ordnung monadisch ist, um entscheidbar zu sein, ODER warum ist dies die falsche Frage?

  2. Warum ist die monadische Logik zweiter Ordnung entscheidbar?

Ehrlich gesagt erinnere ich mich nicht an die Entscheidbarkeitsprobleme. Ein wichtiger Punkt ist, dass Sie mit einer vollständigen Logik zweiter Ordnung die Existenz einer linearen Ordnung der Domäne quantifizieren können

Rxyz[(R(x,y)R(y,x))((R(x,y)R(y,x))x=y)((R(x,y)R(y,z))R(x,z))].

Das heißt, es existiert eine binäre Beziehung, die insgesamt, antisymmetrisch und transitiv ist, dh eine lineare Ordnung auf der Domäne  . Das gibt Ihnen implizit eine lineare Ordnung auf  D n für alle  n , und Sie können die Beziehungen verwenden  D n für groß genug , um  n eine Turing - Maschine Band zu simulieren. Aber mit monadic SO können Sie keines dieser Dinge tun.DDnnDnn

(Ich denke, wenn Ihre Domain unendlich ist, müssen Sie wahrscheinlich zusätzlich angeben, dass die lineare Reihenfolge diskret ist und ein minimales Element aufweist. Dann wissen Sie, dass sie ein Anfangssegment hat, das zu den natürlichen Zahlen isomorph ist, und das sollte sein genug.)

Bei endlichen Eingaben ist das existentielle Fragment von SO - Formeln der Form , wobei R i Beziehungssymbole sind und φ  erster Ordnung ist - definiert genauNP. Die vollständige Logik zweiter Ordnung definiert genau die Polynomhierarchie. Dies ist genau auf die Fähigkeit zurückzuführen, Turing-Maschinen zu codieren, und auf die Tatsache, dass die Quantifizierung einer festen Sammlung von Beziehungen Ihnen eine polynomische Menge an Dingen liefert, mit denen Sie spielen können.R1RkφRiφ

  1. Die Beziehung zu mindestens DFAs?

Wir können Strings über ein endliches Alphabet darstellen  von relationalen Strukturen. Das Vokabular hat ein binäres Beziehungssymbol Σ die als eine lineare Ordnung interpretiert wird, und eine Beziehung unany Symbol  R a für jedes Zeichen a & Sigma; . Jedes Element der Domäne ist ein Zeichen in der Zeichenfolge. Die lineare Reihenfolge gibt an, in welcher Reihenfolge dieZeichen angezeigt werden,und die Beziehungen  R a geben an , welches Zeichen an jeder Position angezeigt wird.RaaΣRa

Angenommen, wir haben einen DFA mit  Zuständen und nehmen an, wir haben es vorerst mit endlichen Zeichenfolgen zu tun. Wir können eine Formel schreiben, die der obigen Formel für die Dreifarbigkeit im Großen und Ganzen ähnlich ist und besagt, dass unser DFA die von seiner Eingabe codierte Zeichenfolge akzeptiert. Es heißt, dass es Mengen (von Domänenelementen, dh Positionen in der Zeichenfolge) gibt. QkQ1,,QkQii

  • jQ1,,Qk
  • Die erste Position befindet sich in  (vorausgesetzt, dies ist der Startzustand).Q1
  • wenn das te Position in  Q i, befindet sich die ( j + 1 ) -te Position in einem beliebigen Zustand, den die Übergangsfunktion des Automaten vorschreibt;jQi(j+1)
  • Die endgültige Position befindet sich in einem akzeptierenden Zustand.

Wenn diese Formel wahr ist, muss der Automat die Zeichenfolge akzeptieren. Wenn es falsch ist, muss der Automat ablehnen. Für NFAs sagen wir einfach, dass sich jede Position in mindestens einem Zustand befindet und der Endzustand sich in mindestens einem akzeptierenden Zustand befindet. Für unendliche Eingaben können wir zB die Büchi-Bedingung codieren, indem wir für alle Positionen in der Eingabe sagen  , wenn jjj  in einem akzeptierenden Zustand ist, gibt es einige so dass j '  auch in einem akzeptierenden Zustand ist.j>jj

Gegenwärtig erinnere ich mich nicht an den Beweis des Gegenteils (dass alles, was in MSO definiert werden kann, von einem geeigneten Automaten erkannt werden kann). Wenn ich Zeit habe, schaue ich nach und poste eine Skizze.

Umgekehrt können wir die Bedeutung von MSO-Formeln nach der Konstruktion der Automaten induktiv durch Automaten mit endlichen Zuständen darstellen. Dazu erweitern wir das Alphabet des Automaten um Komponenten, die den Wert der freien Positionsvariablen anzeigen und Variablen setzeniX1iX

Ra(i)iaiXiXi<jij

basic automata

Kompliziertere Formeln werden mit den Booleschen Konnektiven konstruiert,¬i,Xc

David Richerby
quelle
Fügte meinen Vorschlag für das Gegenteil hinzu. Ausstehende Genehmigung von @DavidRicherby
Hendrik Jan
Vielen Dank für eine tolle Antwort. Ich verarbeite das alles immer noch und arbeite es durch, suche nach Begriffen, überlege, wie ich das umsetzen würde usw. In der Zwischenzeit denke ich, dass Nummer 3 die falsche Frage war. Vielleicht hätte es eher sein sollen, warum das Verhältnis zwischen Automaten und Logik so wichtig ist, dass es in so vielen Artikeln erwähnt wird?
Walter Schulze