Vorlesung Letz WS 2002/2003 TU München: Logikbasierte Entscheidungsverfahren Entscheidungsverfahren für Bernays/Schönfinkelbzw. Datenlogik-Formeln INHALTE Die Bernays-Schönfinkel-Klasse bzw. Datenlogik-Formeln Komplexität des Entscheidungsproblems Transformationsverfahren in die Aussagenlogik Paradigmen gesteuerter Verfahren Hyperlinking-Verfahren Tableauverfahren
Alphabet der Prädikatenlogik Alphabet A: Abzählbar unendliche Menge von Objekten ( Symbolen ), partitioniert in 6 disjunkte Untermengen: 1. Unendliche Menge V von Variablen 2. Unendliche Menge F von Funktionszeichen 3. Unendliche Menge P von Prädikatszeichen 4. 5-elementige Menge C = {,,,, } von Junktoren oder Konnektiven 5. 2-elementige Menge Q = {, } von Quantoren 6. 3-elementige Menge {(, ),, } von Hilfszeichen. Signatur Σ = A, α : A Alphabet und α : F P C Q N 0 (Stelligkeitsfunktion) mit: 1. Auf jedes n N 0 werden unendlich viele Funktions- und Prädikatszeichen aus A abgebildet. 2. Negationszeichen hat Stelligkeit 1, alle anderen Junktoren und die Quantoren haben Stelligkeit 2. 2
Terme T (induktiv): 1. Alle Variablen sind Terme. (Wohlgeformte) Ausdrücke der PL1 2. Falls f Funktionszeichen mit Stelligkeit n 0 und t 1,..., t n Terme, dann ist fˆ(ˆt 1ˆ,ˆ ˆ,ˆt nˆ) (im folgenden kurz: f(t 1,, t n )) Term. Für a() schreiben wir kurz a. Formeln F (induktiv): 1. Falls P Prädikatsszeichen mit Stelligkeit n 0 und t 1,..., t n Terme, dann ist P (t 1,, t n ) (atomare) Formel. Für P () schreiben wir kurz P. 2. Falls F und G Formeln, dann sind auch: F, (F G), (F G), (F G), (F G), und xf, xf Formeln. 3
Semantik der Prädikatenlogik Interpretation: Denotationelle Bedeutung von Symbolen Interpretation I = U, ι : U Universum: Nichtleere Menge von Objekten ι Interpretationsfunktion: ι(f) n-stellige Funktion f : U n U (f n-stellig) ι(p ) n-stellige Relation P U n (P n-stellig) bzw. deren charakteristische Funktion Π(P ) : U n {, } (die letztere Lesart wird im folgenden verwendet) Variablenzuweisung Funktion A : V U 4
Semantik der Prädikatenlogik Termzuweisung: ι A (x) = A(x) ι A (f(t 1,..., t n )) = ι(f)(ι A (t 1 ),..., ι A (t n )) Formelzuweisung: ι A (P (t 1,..., t n )) = ι(p )(ι A (t 1 ),..., ι A (t n )) ι A ( F ) =, falls ι A (F ) =, ι A (F G) =, falls ι A (F ) = und ι A (G) =, ι A (F G) = ι A ( ( F G)), ι A (F G) = ι A ( F G), ι A (F G) = ι A ((F G) (G F )), ι A ( xf ) =, falls ι Au x (F ) = für alle u U, (wobei A u x(x) = u und sonst A u x = A) ι A ( xf ) = ι A ( x F ). (f n-stellig) (P n-stellig) sonst, sonst, sonst 5
Modellbegriff der Semantik Modell M einer Formel F : Interpretation U, ι mit ι A (F ) = für alle Variablenzuweisungen A Erweiterung auf Formelmengen S: M Modell von S, falls M Modell für alle Formeln in S. Formel(menge) S (un)erfüllbar: es gibt (k)ein Modell für S. Formel(menge) S allgemeingültig: alle Interpretationen für S sind Modelle für S. Logische Folgerungsbeziehung S = S: S folgt logisch aus S : Alle Modelle für S sind Modelle für S. = S (kurz = S) bedeutet die Allgemeingültigkeit von S. S und S logisch äquivalent (kurz S S ), falls S = S and S = S. S = F genau dann, wenn S { F } unerfüllbar. 6
Bernays-Schönfinkel-Klasse bzw. Datenlogik Allgemeingültigkeit bzw. Unerfüllbarkeit der vollen Prädikatenlogik unentscheidbar Datenlogik: Formeln in eingeschränkter Form: Keine Quantoren alle Funktionszeichen haben Stelligkeit 0 Beispiel: Formelmenge bestehend aus den folgenden Formeln 1. P (x, y) P (y, z) P (x, z), 2. Q(x, y) Q(y, z) Q(x, z), 3. Q(x, y) Q(y, x), 4. P (x, y) Q(x, y), 5. P (a, b), 6. Q(b, c) 7
Erfüllbarkeitsproblem für Datenlogik Komplexität der Datenlogik Problem ist NEXPTIME-vollständig Enthaltensein in NEXPTIME einfach zu sehen: Sei C Menge der Konstanten in der Formel und n die maximale Stelligkeit der Prädikatszeichen. Betrachte alle Modelle der Form I = U, ι (Herbrand-Modelle): U ist Herbrand-Universum der Formel, d.h. U = C falls C, ansonsten U = {a} für eine beliebige Konstante a ι(c) = c für alle Konstanten in der Formel (Herbrand-Modelle) Jedes Modell ist von der Grösse O( C n ) Entsprechend ist das Unerfüllbarkeitsproblem conexptime-vollständig Die obige Idee motiviert einfache Verfahren zur Entscheidung der Erfüllbarkeit von Datenlogik-Formeln Übersetzung in Aussagenlogik: Ersetzung der Formel durch die Konjunktion aller ihrer Grundinstanzen bzgl. des Herbrand-Universums der Formel Nachteil: falls C > 1 und n > 1 ist i.a. Verfahren auch im best-case exponentiell 8
Gesteuerte Entscheidungsverfahren für Datenlogik Motivation In vielen Fällen lässt sich exponentieller Aufwand vermeiden Hauptidee: Vermeidung der Erzeugung aller Grundinstanzen, falls möglich Verfahren Benutzung von Unifikation zur Instanzenerzeugung Linking und Hyper-Linking Gezielte Erzeugung von Grundinstanzen (Teilmengen aller Grundinstanzen) Aber weiterhin Verwendung eines (separaten) SAT-Solvers Tableauverfahren Gezielte Erzeugung von Instanzen Gleichzeitiger Aufbau eines Interpretationsbaumes 9
Zweistufiges Verfahren: Linking und Hyperlinking Sei S Menge prädikatenlogischer Klauseln, S 0 = S, i = 1 1. S i = S i 1 plus bestimmte Klauselinstanzen von S i 1 2. Aussagenlogische Entscheidung einer bestimmten Grundinstanz S a i von S i (S a i ergibt sich aus S i durch Ersetzung aller Variablen durch die Konstante a) Falls S a i unerfüllbar, dann halte: S ist unerfüllbar. Falls S i = S i 1, halte: S ist erfüllbar. Andernfalls weiter mit 1 (lösche vorher alle neuen Klauselinstanzen, die durch Umbenennung der Variablen aus Klauselinstanzen in S i 1 entstehen) Zwei Varianten der Instanzengenerierung Linking-Verfahren Hyperlinking-Verfahren 10
Instanzengenerierung: Linking Linking Sei L eine Literal in einer Klausel c S und K ein Literal (ein sog. Partner) in S derart, dass es einen Unifikator σ und eine Umbenennungssubstitution τ gibt mit: Lσ = Kτσ ( K ist das Komplement von K, d.h. falls K atomare Formel ist, ist K = K; falls K negiertes Literal M ist, dann ist K = M) Die Klausel cσ heisst Linking-Instanz von c in S. Mit L(c, S) bezeichnen wir die Menge aller möglichen Linking-Instanzen von c in S S i = S i 1 c S i 1 L(c, S i 1 ) 11
Instanzengenerierung: Hyperlinking Hyperlinking Sei c = L 1 L n eine Klausel in S und K 1,..., K n eine Folge von Literalen in S derart, dass es einen Unifikator σ und eine Umbenennungssubstitution τ 1,..., τ n gibt mit: cσ = ( K 1 τ 1 K n τ n )σ Die Klausel cσ heisst Hyper(linking)-Instanz von c in S. Mit H(c, S) bezeichnen wir die Menge aller Hyperinstanzen von c bzgl. aller Partner aus S S i = S i 1 c S i 1 H(c, Si 1) 12