Logik für Informatiker Vorlesung 7: Resolution Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 16. November 2017 1/47
ZUSAMMENFASSUNG Algorithmische Entscheidung ob eine Formel erfüllbar oder unerfüllbar ist. DPLL, GSAT, WALKSAT, Markierungsalgorithmus für Hornformeln. Weshalb? Mit welchem Ziel? 2/47
ZUSAMMENFASSUNG Algorithmische Entscheidung ob eine Formel erfüllbar oder unerfüllbar ist. DPLL, GSAT, WALKSAT, Markierungsalgorithmus für Hornformeln. Weshalb? Mit welchem Ziel? Industrie Anwendung: KI, Industrie 4.0 Lösen von NP-vollständige Probleme in technische Anwendungen: Stichwort sehr großer Suchraum. Die Logikschaltungen, aus denen die Computern bestehen, sind elektronische Implementierungen der Logik. 2/47
ANWENDUNGEN DER LOGIK 3/47
ANWENDUNGEN Ein Prozessor (wie in Ihrem Computer oder Mobiltelefon oder in jedem nicht-trivialen elektronischen Gerät) ist nur ein großer Satz, der in der Aussagenlogik geschrieben ist. Weitere Anwendungen: Programmieren Die merge Phase des merge sort Algorithmus: Mergesort betrachtet die zu sortierenden Daten als Liste und zerlegt sie in kleinere Listen, die jede für sich sortiert werden. Die sortierten kleinen Listen werden dann im Reißverschlussverfahren zu größeren Listen zusammengefügt (engl. (to) merge), bis wieder eine sortierte Gesamtliste erreicht ist. Das Verfahren arbeitet bei Arrays in der Regel nicht in-place, es sind dafür aber (trickreiche) Implementierungen bekannt, in welchen die Teil-Arrays üblicherweise rekursiv zusammengeführt werden. Verkettete Listen sind besonders geeignet zur Implementierung von Mergesort, dabei ergibt sich die in-place-sortierung fast von selbst. 4/47
MERGE-SORT ALGORITHMUS Das Befehl if q = k or (p not= j and B[p] < B[q]) then (A[r] := B[p]; p:=p+1) else (A[r] := B[q]; q:=q+1) reduziert sich auf: Gegeben not(p and Q) zeige not( Q or (not P and R)) = (P or (not Q and not R)) 5/47
KLAUSELMENGEN 6/47
: IDEE Beobachtung Prüfen auf Allgemeingültigkeit kann auf Prüfen von Unerfüllbarkeit zurückgeführt werden. Formel φ allgemeingültig gdw. φ unerfüllbar. Resolution: Idee Methode, um Unerfüllbarkeit einer Formel φ zu prüfen. Idee: Leite aus φ neue Formeln ab, die aus φ logisch folgen. Wenn leere Klausel abgeleitet werden kann, dann ist φ unerfüllbar. 7/47
SKALKÜL 8/47
BEISPIEL 9/47
BEISPIEL 10/47
BEISPIEL 11/47
BEISPIEL 12/47
BEISPIEL 13/47
BEISPIEL 14/47
BEISPIEL 15/47
BEISPIEL 16/47
BEISPIEL 17/47
BEISPIEL 18/47
BEISPIEL 19/47
BEISPIEL 20/47
BEISPIEL 21/47
BEISPIEL 22/47
: BEMERKUNGEN Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten Zwei Klauseln können mehr als eine Resolvente haben z.b.: {A, B} und { A, B} {A, B, C} und { A, B, D} haben NICHT {C, D} als Resolvente Heuristik: Immer möglichst kleine Klauseln ableiten! 23/47
SREGEL GRAPHISCHE DARSTELLUNG 24/47
SVERFAHREN 1 Starte mit Klauselmenge C 2 Wähle Elternklauseln E 1, E 2 aus C 3 Füge Resolvente R zur Klauselmenge C hinzu: C := C {R} 4 Iteriere die obigen Schritte solange bis: Keine neue Resolvente mehr herleitbar, oder C enthält die leere Klausel. 25/47
BEISPIEL 26/47
BEISPIEL 27/47
RESOLVENTE 28/47
RESOLVENTE 29/47
RESOLVENTE 30/47
BEISPIEL 31/47
BEISPIEL 32/47
KORREKTHEIT UND VOLLSTÄNDIGKEIT 33/47
KORREKTHEIT 34/47
KORREKTHEIT Theorem (Korrektheit) Für eine Menge M von Klauseln gilt: Falls wir aus M mit Hilfe des Resolutionsverfahrens das Falsum herleiten können, so ist M unerfüllbar. Beweis: 1 Wir zeigen, dass falls C Res (M), so M M {C}. (M {C}: Notation für M C.) 2 Es folgt, dass falls aus M Falsum herleitbar ist, so ist in der Resolvente von M, d.h. M M { }. 3 Aber M { } ist unerfüllbar, deshalb ist auch M unerfüllbar. 35/47
KORREKTHEIT 36/47
KORREKTHEIT 37/47
VOLLSTÄNDIGKEIT 38/47
VOLLSTÄNDIGKEIT 39/47
VOLLSTÄNDIGKEIT 40/47
VOLLSTÄNDIGKEIT 41/47
VOLLSTÄNDIGKEIT 42/47
VOLLSTÄNDIGKEIT 43/47
VOLLSTÄNDIGKEIT 44/47
VOLLSTÄNDIGKEIT 45/47
TERMINIERUNG 46/47
TERMINIERUNG 47/47