Prof. Dr. Viorica Sofronie-Stokkermans Dipl.-Inform. Markus Bender AG Formale Methoden und Theoretische Informatik Fachbereich Informatik Universität Koblenz-Landau Klausur zur Vorlesung Logik für Informatiker Sommersemester 2017 25.09.2017 Name..... Vorname..... Matrikelnummer..... Studiengang..... Hinweise Stellen Sie sicher, dass sich neben Schreibutensilien, Ihrem Lichtbildausweis und Verpflegung keine weiteren Gegenstände in Ihrem Zugriffsbereich befinden. Dies gilt insbesondere für Mobiltelefone / -geräte jeglicher Art. Legen Sie Ihren Lichtbildausweis (Personalausweis, Pass, Führerschein) auf den Tisch. Prüfen Sie Ihr Exemplar der Klausur auf Vollständigkeit (11 Aufgaben). Schreiben Sie mit einem dokumentenechten, schwarzen oder blauen Stift. Es sind keine Hilfsmittel erlaubt. Weitere leere Blätter sind bei der Aufsicht erhältlich. Diese werden bei Ausgabe an die Klausur geheftet. Viel Erfolg! Aufgabe 1 2 3 4 5 6 7 8 9 10 11 Σ Punkte erreicht von möglichen 16 8 5 7 10 10 8 8 15 7 6 100 Note.................... Unterschrift..............................
Aufgabe 1 (3 + 2 + 2 + 3 + 1 + 1 = 16 Punkte) Seien Π = {P, Q, R} eine Menge von Aussagenvariablen und F die folgende Formel über Π ( ( ( ) ) ( ) ) F = P P Q P Q a) Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für sämtliche Teilformeln von F angeben. Bedenken Sie, dass auch F eine Teilformel von F ist. P Q 0 0 0 1 1 0 1 1 /3 P b) Vervollständigen Sie die folgenden beiden Definitionen Eine aussagenlogische Formel ist erfüllbar (und somit nicht unerfüllbar) genau dann, wenn Eine aussagenlogische Formel ist allgemeingültig genau dann, wenn 1
c) Die folgende Tabelle zeigt die Wahrheitswerte für die beiden Formeln G und H P Q R G H 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 /3 P /1 P /1 P c.1) Kreuzen Sie in der folgenden Tabelle an, welche Eigenschaften G hat. erfüllbar unerfüllbar allgemeingültig ja nein c.2) Kreuzen Sie in der folgenden Tabelle an, welche Beziehungen zwischen G und H gelten. G = H H = G H G ja nein c.3) Geben Sie mit Hilfe der Wahrheitstabelle von G in c) eine disjunktive Normalform von G an. c.4) Geben Sie mit Hilfe der Wahrheitstabelle von G in c) eine konjunktive Normalform von G an. 2
d) Kreuzen Sie an, welche der folgenden Aussagen zutreffen oder nicht zutreffen. Punktevergabe Pro korrektem Kreuz werden 0.5 Punkte vergeben. Pro inkorrektem Kreuz werden 0.5 Punkte abgezogen. Für diese Aufgabe werden insgesamt mindestens 0 Punkte vergeben. Seien F und G zwei beliebige Formeln. F = G genau dann, wenn... wahr F G allgemeingültig ist. G F unerfüllbar ist. ein Tableau für F G geschlossen werden kann. mit Resolution die leere Klausel für F G hergeleitet werden kann. falsch /4 P Sei F eine beliebige Formel. F ist allgemeingültig genau dann, wenn... wahr falsch es eine allgemeingültige Formel G gibt mit F = G. mit Resolution nicht die leere Klausel für F hergeleitet werden kann. F F unerfüllbar ist. F = F. /16 P 3
4
Aufgabe 2 (1 + 5 + 2 = 8 Punkte) Seien Π = {P, Q, R, S, U, W } eine Menge von Aussagenvariablen und F die folgende Formel über Π in der Schreibweise als Konjunktion von Implikationen F = (1) P (2) Q (3) P, R S (4) S R (5) P U (6) P, U W (7) U, W S (8) U, S Q /1 P a) Vervollständigen Sie die folgende Definition Eine Formel ist eine Horn-Formel genau dann, wenn........ b) Verwenden Sie den Markierungsalgorithmus, um die Erfüllbarkeit von F zu untersuchen. Geben Sie explizit für jeden Schritt an, welche Atome markiert werden, und wieso die Markierung zustande kommt. Achten Sie darauf, dass bei der Ausführung in jeder Zeile nur genau eine neue Markierung hinzukommt. /5 P Markiert....................................................................................................................................... Erklärung................................................................................................................................................................................................................................. 5
c) Verwenden Sie das Ergebnis aus b), um eine begründete Aussage zur Erfüllbarkeit von F zu machen. Geben Sie im Falle der Erfüllbarkeit das Modell an, dass in b) hergeleitet wurde. Erfüllbar Ja Nein Begründung................ Modell.......... /8 P 6
Aufgabe 3 (4+1 = 5 Punkte) Seien Π = {P, Q, R, S, T, U, W } eine Menge von Aussagenvariablen und N die folgende Klauselmenge über Π N = {{S, U}, {P, W }, {R, U}, {T, Q}, {T, S}, {W, P }, { R, U}, { S, T }} a) Verwenden Sie den Resolutionskalkül (in Mengennotation), um die Erfüllbarkeit von N zu untersuchen. /4 P (1) {S, U} (2) {P, W } (3) {R, U} (4) {T, Q} (5) {T, S} (6) {W, P } (7) { R, U} (8) { S, T }................................................................................................................................................................ b) Verwenden Sie das Ergebnis aus a), um eine begründete Aussage zur Erfüllbarkeit von N zu machen. Erfüllbar Ja Nein /1 P /5 P Begründung.......... 7
Aufgabe 4 (5+2 = 7 Punkte) Seien Π = {P, Q} eine Menge von Aussagenvariablen und F die folgende Formel über Π ( ) ( ) ( ) P (Q P ) P Q a) Bilden Sie ein vollexpandiertes Tableau, um die Erfüllbarkeit von F zu untersuchen. Führen Sie keine Vereinfachungen an der gegebenen Formel durch. /5 P b) Verwenden Sie das Ergebnis aus a), um eine begründete Aussage zur Erfüllbarkeit von F zu machen. Erfüllbar Ja Nein /7 P Begründung.......... 8
Aufgabe 5 (3+7 = 10 Punkte) /3 P a) Geben Sie die allgemeinste Struktur eines Beweises mit struktureller Induktion über den Aufbau der Formeln in der Aussagenlogik an..................... b) Sei Π eine Menge von Aussagenvariablen und sei For {,, } Π die Menge der aussagenlogischen Formeln über Π die als Operatoren nur, und enthalten, d.h. die Operatoren, kommen in Formeln aus For {,, } Π nicht vor. Sei ferner die die Funktion α über Formeln aus For {,, } Π wie folgt definiert Für jede aussagenlogische Formel F For {,, } Π wenn F = wenn F = P wenn F = P Π α(f ) = α(f 1 ) wenn F = F 1 α(f 1 ) α(f 2 ) wenn F = F 1 F 2 α(f 1 ) α(f 2 ) wenn F = F 1 F 2 Zeigen Sie mit Hilfe der strukturellen Induktion über den Aufbau von aussagenlogischen Formeln, dass für jede aussagenlogische Formel F For {,, } Π gilt α(f ) F 9
/7 P............................................ /10 P 10
Aufgabe 6 (2 + 2 + 1 + 2 + 2 + 1 = 10 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei Ω = {a/0, b/0}, und Π = {q/2, p/3, r/4}. Ferner seien X eine Menge von Variablen und u, w, x, y, z X. /1 P a) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Negationsnormalform an. ( ) x p(x, y, b) r(x, y, z, a)............ b) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in bereinigter Form an. ( ) ) w x ( y z r(x, z, y, b) r(x, y, z, a) q(w, y)...... c) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Pränexnormalform an. ( ) ( ( ) ) u w r(a, w, b, u) x y q(y, x) q(x, y)...... 11
d) Bringen Sie die folgende Formel über Σ und X in Skolemnormalform ( ( ) ) x y u w z r(a, x, w, u) p(x, y, a) p(y, a, z) /1 P........ e) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel mit Matrix in konjunktiver Normalform an. ( ( ( ) ( ) )) x y q(x, y) q(x, a) q(x, x) q(a, y) q(b, x)............ f) Stellen Sie die folgende Formel über Σ und X als Klauselmenge dar. x y ( ( q(y, a) ) ( ) ( ) ) q(a, y) p(a, x, x) q(x, a) q(x, a)...... /10 P 12
Aufgabe 7 (2+3+3 = 8 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei Ω = {1/0, f/2, g/2, h/2}, und Π = { /2}. Ferner seien X eine Menge von Variablen und x, y, z X. Gegeben sind die Struktur A und die Belegung β A = (Q, mit { 1 A Q, f A Q Q Q, g A Q Q Q, h A Q Q Q }, { A }) 1 A = 4 Q f A (q 1, q 2 ) = q 1 q 2 Q für alle q 1, q 2 Q g A (q 1, q 2 ) = q 1 + q 2 Q für alle q 1, q 2 Q h A (q 1, q 2 ) = q 1 q 2 Q für alle q 1, q 2 Q A = {(q, q) q Q} β X Q, definiert durch β(x) = 1, β(y) = 0, β(z) = 3 Evaluieren Sie die folgenden Terme und Formeln in klaren und leicht nachvollziehbaren Schritten. I) A(β) ( ( g h ( f(x, y), g(y, x) ) ) ), 1......... 13
/3 P /3 P ( II) A(β) x y ( g ( f(y, y), h(x, x) ) ) ) 1......... ( III) A(β) y z ( ) ) h(f(y, z), g(y, z)) g(x, x)......... /8 P 14
Aufgabe 8 (2+2+2+2 = 8 Punkte) Seien Ω = {a/0, h/1, f/2, g/3} eine Menge von Funktionssymbolen, X eine Menge von Variablen und u, w, x, y X. a) Verwenden Sie den Martelli-Montanari-Algorithmus, um die Unifizierbarkeit der beiden gegebenen Unifikationsprobleme über Ω und X zu untersuchen. Jeder Schritt soll der Anwendung genau einer Instanz einer Regel entsprechen. I) {g(f(x, y), h(w), a)? = g(u, h(f(a, u)), y), u? = f(w, a)} II) {g(f(x, y), h(x), y)? = g(u, h(h(a)), a), f(w, a)? = f(f(u, a), a)} 15
b) Verwenden Sie die Ergebnisse aus a), um eine begründete Aussage zur Unifizierbarkeit der beiden Unifikationsprobleme zu machen. Geben Sie im Falle der Unifizierbarkeit den Unifikator an, der in a) hergeleitet wurde. I) Unifizierbar Ja Nein /8 P Begründung Unifikator II) Unifizierbar Ja Nein Begründung Unifikator 16
Aufgabe 9 (3+4+4+4 = 15 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei Ω = {a/0, Π = {p/2, f/1}, und q/3}. Ferner seien X eine Menge von Variablen und x, y, z X. a) Geben Sie die allgemeine Form der prädikatenlogischen Faktorisierungsregel (für Klauseln in Mengennotation) an. /3 P b) Geben Sie die allgemeine Form der prädikatenlogischen Resolutionsregel (für Klauseln in Mengennotation) an. /4 P 17
c) Untersuchen Sie, welche der folgenden Klauseln über Σ und X faktorisierbar sind. Ist eine Klausel faktorisierbar, geben Sie sämtliche Faktoren und die verwendeten Unifikatoren an. Führen Sie dabei die Substitution im Ergebnis explizit aus. Ist eine Klausel nicht faktorisierbar, oder ist die Faktorisierung bestimmter Literale nicht möglich begründen Sie, warum dem so ist. Dass eine Faktorisierung nicht möglich ist, weil Literale verschiedene Prädikatensymbole haben, brauchen Sie nicht zu erwähnen. I) { p(f(x), y), p(f(y), f(x)), q(x, y, z) } II) { p(f(x), x), p(f(f(y)), z), p(z, z), q(x, y, z) } /4 P 18
d) Seien die folgenden Klauseln gegeben (1) { p(f(x), x), q(f(y), y, a) } (2) { p(x, y), q(y, y, x) } (3) { p(y, y), p(f(y), z), q(y, f(y), a) } Bilden Sie sämtliche Resolventen, die sich mit der Resolutionsregel aus den folgenden Klauseln über Σ und X bilden lassen (1) und (2), (2) und (3), (1) und (3) geben Sie dabei explizit verwendeten Unifikatoren und durchgeführten Umbenennungen an. Verwenden Sie dafür die vorgegebenen Antwortschablonen. Führen Sie dabei die Substitution im Ergebnis explizt aus. Hinweis Die Anzahl der vorgegebenen Antwortschablonen muss nicht der Anzahl der herleitbaren Resolventen entsprechen. Umbenennungen ( ) { } ( ) { } mit mgu = Umbenennungen ( ) { } ( ) { } mit mgu = Umbenennungen ( ) { } ( ) { } mit mgu = 19
Umbenennungen ( ) { } ( ) { } mit mgu = Umbenennungen ( ) { } ( ) { } mit mgu = Umbenennungen ( ) { } ( ) { } /4 P mit mgu = /15 P 20
Aufgabe 10 (5+2 = 7 Punkte) Sei Σ = (Ω, Π) eine Signatur, wobei Ω = {f/1}, und Π = {p/1}. Ferner seien X eine Menge von Variablen und x, y, z X und sei F die folgenden Formel über Σ und X ( ( ) ) F = x p(x) y p(y) p(f(y)) p(f(f(x))) a) Verwenden Sie den Tableaukalkül mit freien Variablen, um die Erfüllbarkeit von F zu untersuchen. Führen Sie keine Vereinfachungen an der gegebenen Formel durch. Hinweis Beachten Sie, dass es möglich ist, eine Regel mehrmals auf einen Knoten anzuwenden. /5 P 21
b) Verwenden Sie das Ergebnis aus a), um eine begründete Aussage zur Erfüllbarkeit von F zu machen. Erfüllbar Ja Nein Begründung.......... /7 P 22
Aufgabe 11 (6 Punkte) Schreiben Sie das Prologprädikat ver(l,l1,l2) (verteilen), das als Argument drei beliebig lange Listen von Atomen erwartet. ver(l,l1,l2) ist genau dann wahr, wenn 1.) die Länge von L ungerade ist und 2.) es in L nicht zwei gleiche Atome gibt, die direkt nebeneinander liegen und 3.) L1 alle Atome (in gleicher Reihenfolge) enthält, die in L an ungerader Stelle stehen und 4.) L2 alle Atome (in gleicher Reihenfolge) enthält, die in L an gerader Stelle stehen. Sie müssen die folgenden Arten von Eingaben beachten L, L1 und L2 sind Listen von Atomen mit beliebiger Laenge, L, L1 und L2 sind Variablen Beim Aufruf mit Variablen sollen diese entsprechend mit konkreten Werten belegt werden, sodass das Prädikat wahr ergibt. Prolog soll für jeden Aufruf exakt eine Antwort zurück geben, es gibt also keine Möglichkeit nach weiteren Antworten zu fragen. Bis auf die folgenden Ausnahmen dürfen Sie keine built-in Prädikate verwenden den Cut-Operator!, das Prädikat fail, das immer falsch ist, Verwendung von Arithmetik ist nicht gestattet. Zur Verdeutlichung der Funktion von ver einige korrekte Beispielaufrufe /6 P Eingabe Ausgabe Eingabe Ausgabe ver([a], [a], []). true ver([a,b,a,b,a], [a,a,a], [b,b]). true ver([b,a,c], [b,c], [a]). true ver([a,b,c,b,d], [a,c,d], [b,b]). true ver([a,b], [a], [b]). false ver([a,a,c,d,e], [a,c,e], [a,d]). false ver([a,b,c], [c,a], [b]). false ver([a,b,b,d,e], [a,b,e], [b,d]). false ver([a,b,c], [b], [c,a]). false ver([a,b,c,c,e], [a,c,e], [b,c]). false ver([a,b,c], [a,b,c], [a,b,c]). false ver([a,b,c,d,d], [a,c,d], [b,d]). false........................................ /6 P 23