Technische Universität München Winter 2018/19 Prof. J. Esparza / Dr. M. Luttenberger, C. Welzel 2019/01/11 HA-Lösung TA-Lösung Diskrete Strukturen Tutoraufgabenblatt 10 Besprechung in KW02/2019 Beachten Sie: Soweit nicht explizit angegeben, sind Ergebnisse stets zu begründen! Lesen Sie sich bitte auf der Webpage die Bestimmungen zu den Hausaufgaben genau durch. Aufgabe 10.1 Entscheiden Sie unter Verwendung der Resolutionsmethode, ob folgende Formeln allgemeingültig sind: (a) F := (( B C D) ( B D) (C D) B). (b) G := ((A C D) (A B C) (A B C) ( A D) (A D) A). Lösungsvorschlag Hier wird verlangt, dass man zeigt, dass die Formeln gültig sind. D.h. die Resolution muss auf F angewendet werden, da F gültig gdw. F unerfüllbar. Beide Formeln sind hier in DNF gegeben, so dass sich ihre Negationen durch de Morgan wie in TA4.2 beschrieben sofort in KNF überführen lassen. Original clauses: Obtain C 12 = from C 4 = {D} and C 11 = { D} via D. Obtain C 4 = {D} from C 0 = {B, D} and C 2 = { B} via B. C 0 = {B, D}, C 1 = {B, C, D}, C 2 = { B}, C 3 = { C, D} Obtain C 11 = { D} from C 8 = {B, D} and C 2 = { B} via B. Obtain C 8 = {B, D} from C 1 = {B, C, D} and C 6 = {B, C} via C. Obtain C 6 = {B, C} from C 0 = {B, D} and C 3 = { C, D} via D. Following original clauses are not needed: { C, D} {B, C, D} {B, D} { B} {D} {B, C} {B, D} { D} 1
Original clauses: C 0 = { B, A, C}, C 1 = {A, D}, C 2 = {D, A}, C 3 = {A}, C 4 = {C, A, D}, C 5 = {B, A, C} Obtain C 28 = from C 20 = {C} and C 17 = { C} via C. Obtain C 20 = {C} from C 3 = {A} and C 15 = {C, A} via A. Obtain C 17 = { C} from C 3 = {A} and C 6 = { A, C} via A. Obtain C 15 = {C, A} from C 2 = {D, A} and C 11 = {C, D} via D. Obtain C 6 = { A, C} from C 5 = {B, A, C} and C 0 = { B, A, C} via B. Obtain C 11 = {C, D} from C 1 = {A, D} and C 4 = {C, A, D} via A. Following original clauses are not needed: { B, A, C} {B, A, C} {A, D} {C, A, D} {A} {D, A} {C, D} { A, C} {C, A} { C} {C} Aufgabe 10.2 Geben Sie Klauseln C 1, C 2, C 3, C 4 und Resolventen R 1, R 2, R 3, R 4 an, so dass der folgendene Resolutionsgraph eine korrekte Resolution der leeren Klausel darstellt: C 1 C 2 C 3 C 4 R 1 R 2 R 3 R 4 Lösungsvorschlag Eine mögliche Resolution: 2
{A, B} {B, C} {C} { A, B, C} {B} { A, B} {A} { A} Aufgabe 10.3 Eine nicht leere Klausel C heißt positiv, falls C ausschließlich positive Literale enthält. Sei K eine Klauselmenge, die weder die leere Klausel noch positive Klauseln enthält. Zeigen Sie, dass die leere Klausel nicht aus K resolviert werden kann. Lösungsvorschlag Sei K eine beliebige solche Klauselmenge. Da K nur nicht leere Klauseln enthält, jede solche Klausel aber nicht positiv ist, muss jede Klausel aus K also mindestens ein negatives Literal enthalten. Sei β daher die minimale Belegung zu K, die jede atomare Formel aus K auf false setzt. Dann ist β eine erfüllende Belegung von K, da sich in jeder Klausel mindestens ein negatives Literal unter β zu wahr auswertet. M.a.W. wendet man den DPLL (ohne PLR und OLR) auf K an, dann wird spätestens der letzte Ast im Fallunterscheidungsbaum zur leeren Klauselmenge führen. Damit K erfüllbar. Da die Resolution korrekt ist, kann die leere Klausel somit nicht aus K resolviert werden. Aufgabe 10.4 Ein klassiches (sehr einfaches) Beispiel aus der Künstlichen Intelligenz lautet: Ein (Roboter-)Affe soll eine Banane aus einem Regal nehmen. Der Affe hat nur einen Stuhl zur Verfügung, um die Banane zu erreichen. Zu Beginn gilt: Der Affe hat die Banane nicht, der Affe steht nicht auf dem Stuhl, der Stuhl steht irgendwo. Mögliche Aktionen des Affens: A1: Wenn der Affe nicht auf dem Stuhl steht, kann er auf den Stuhl steigen. A2: Wenn der Affe auf dem Stuhl steht, kann er vom Stuhl steigen. A3: Wenn der Affe nicht auf dem Stuhl steht, kann er den Stuhl unter der Banane positionieren. A4: Wenn sowohl der Stuhl unter der Banane steht, als auch der Affe auf dem Stuhl steht, dann kann der Affe die Banane nehmen. Ziel: Der (Roboter)Affe soll selbständig mittels dieser Aktionen einen Weg finden, wie er die Banane nehmen kann. Wir betrachten hierfür eine (nicht effiziente) Modellierung mittels Aussagenlogik. Es werden ausschließlich die aussagenlogischen Variablen Z a,s,b (mit a, s, b {0, 1}) verwendet, um die möglichen Zustände zu beschreiben: a gibt an, ob der Affe auf dem Stuhl ist (a = 1) oder nicht (a = 0) s gibt an, ob der Stuhl unter der Banane ist (s = 1) oder nicht (s = 0) b gibt an, ob der Affe die Banne hat (b = 1) oder nicht (b = 0) Damit lässt sich Aktion A1 wie folgt mittels einer Formel in KNF formalisieren: (Z 0,s,b Z 1,s,b ) ( Z 0,s,b Z 1,s,b ) =: F 1 3
(a) Formalisieren Sie entsprechend die restlichen Aktionen A2, A3, A4 und den Anfangszustand als Formeln F 2, F 3, F 4, F init in KNF. Sei F = F init F 1 F 2 F 3 F 4 im Weiteren. (b) Zeigen Sie: F ist erfüllbar. (c) Zeigen Sie: Wendet man das Resolutionsverfahren auf F an, so erhält man schließlich Z 1,1,1 als Resolventen. Geben Sie eine möglichst kurze Folge von Resolutionsschritten an, um Z 1,1,1 zu resolvieren. (Überlegen Sie sich, wie Sie die Banane mittels des Stuhls aus dem Regal nehmen würden. Wie spiegelt sich Ihr Vorgehen in den Resolventen wieder?) (d) Zeigen Sie: F = Z 1,1,1. Lösungsvorschlag Anfangssituation: Affe steht nicht auf dem Stuhl, Stuhl steht irgendwo, Affe hat die Banane nicht: F init = (Z 0,0,0 Z 0,1,0 ) Mögliche Aktionen des Affens: A1: Wenn der Affe nicht auf dem Stuhl steht, kann er auf den Stuhl steigen. F 1 = (Z 0,s,b Z 1,s,b ) ( Z 0,s,b Z 1,s,b ) A2: Wenn der Affe auf dem Stuhl steht, kann er vom Stuhl steigen. F 2 = (Z 1,s,b Z 0,s,b ) ( Z 1,s,b Z 0,s,b ) A3: Wenn der Affe nicht auf dem Stuhl steht, kann er den Stuhl unter der Banane positionieren. F 3 = (Z 0,s,b Z 0,1,b ) ( Z 0,s,b Z 0,1,b ) A4: Wenn sowohl der Stuhl unter der Banane steht, als auch der Affe auf dem Stuhl steht, dann kann der Affe die Banane nehmen. F 4 = (Z 1,1,b Z 1,1,1 ) ( Z 1,1,b Z 1,1,1 ) b {0,1} b {0,1} Konjunktion aller Teilformeln beschreibt alle Situationen, die der Affe erreichen kann (Wissensbasis des Affens): F = (Z 0,0,0 Z 0,1,0 ) (Start) (Z 0,s,b Z 1,s,b ) (auf Stuhl steigen) (Z 1,s,b Z 0,s,b ) (von Stuhl steigen) (Z 0,s,b Z 0,1,b ) (Stuhl unter Banane schieben) b {0,1} (Z 1,1,b Z 1,1,1 ) (Banane nehmen) F überführt man sofort in KNF, indem man einfach die Äquivalenz (F G) ( F G) verwendet. Somit erhält man auch direkt die Klauselmengendarstellung. (b) Man kann einfach alle Variablen mit 1 belegen. Damit ist in jeder Implikation die Konklusion erfüllt und damit die Implikation selbst, auch F init ist offensichtlich erfüllt. Somit ist auch die Konjunktion aller Formeln erfüllt. (c) Offensichtlicher Plan (a) Stuhl unter Banane schieben (falls nicht schon dort) (b) auf Stuhl steigen (c) Banane nehmen entspricht den logischen Schlüssen: (a) (Z 0,0,0 Z 0,1,0 ), (Z 0,0,0 Z 0,1,0 ) = Z 0,1,0 (b) Z 0,1,0, (Z 0,1,0 Z 1,1,0 ) = Z 1,1,0 4
(c) Z 1,1,0, (Z 1,1,0 Z 1,1,1 ) = Z 1,1,1 Als Resolventen: (a) {Z 0,1,0, Z 0,0,0 }, { Z 0,0,0, Z 0,1,0 } = {Z 0,1,0 } (b) {Z 0,1,0 }, { Z 0,1,0, Z 1,1,0 } = {Z 1,1,0 )} (c) {Z 1,1,0 }, { Z 1,1,0, Z 1,1,1 } = {Z 1,1,1 } Da man {Z 1,1,1 } aus den ursprünglichen Klauseln resolvieren kann, erhält man durch Hinzufügen von { Z 1,1,1 } eine unerfüllbar Formel, da man dann die leere Klausel resolvieren kann. (d) F = Z 1,1,1 folgt nun sofort, da allgemein gilt: Da: F = G gdw. F G ist unerfüllbar F = G gdw. = (F G) gdw. (F G) true gdw. (F G) false gdw. (F G) false gdw. (F G) unerfüllbar. (Nachlesen in den Folien!) Anmerkung: Der Punkt hier ist, dass man mittels der Resolution zeigen kann, dass Z 1,1,1 eine logische Folge aus den Annahmen über die Eigenschaften und Fähigkeiten des Affen ist (das, was man programmiert hat), d.h. wann immer die Annahmen erfüllt sind, gilt bereits die Aussage, dass der Affe die Banane erreichen kann. Tatsächlich ist eine Resolution der leeren Klausel dann nicht nur ein Beweis, dass der Affe stets die Banane erreichen kann, die Resolution beschreibt auch noch einen Plan, mittels welchem der Affe an die Banane kommt. Lässt man z.b. die Annahme über den Anfangszustand weg, dann kann der Affe die Banane zumindest unter der Belegung nicht erreichen, unter welcher er gar keinen Zustand erreichen kann. Formal: Z 1,1,1 ist keine logische Folge aus F 1 F 2 F 3 F 4, da z.b. die Belegung β(z a,s,b ) = 0 (für alle a, s, b {0, 1}) eine erfüllende Belegung für F 1... F 4 ist (alle Implikationen sind trivial erfüllt, da die Prämissen nicht erfüllt sind), aber nach Definition gilt β(z 1,1,1 ) = 0. Andererseits ist die Belegung β (Z a,s,b ) = 1 offensichtlich auch eine erfüllende Belegung von F 1... F 4 und zusätzlich Z 1,1,1 aber hier weiß man ja bereits nach Wahl von β, dass der Affe die Banane erreichen kann. 5