Klausur zur Vorlesung Logik für Informatiker

Werbung
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 2015
30.09.2015
Name:
...................................................
Vorname:
...................................................
Matrikelnummer:
...................................................
Studiengang:
...................................................
Hinweise
• Legen Sie Ihren Studentenausweis und ein Ausweisdokument mit Lichtbild (Personalausweis, Pass, Führerschein) auf den Tisch.
• Schalten Sie Ihr Handy aus.
• Prüfen Sie Ihr Exemplar der Klausur auf Vollständigkeit (12 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 sind mit Namen und Matrikelnummer zu beschriften und müssen abgegeben werden.
• Heften Sie bei der Abgabe sämtliche Blätter zusammen.
• Blätter, die versehentlich nicht abgegeben wurden, können nicht nachträglich abgegeben
werden.
Viel Erfolg!
Aufgabe
Punkte erreicht
von möglichen
1
2
3
4
5
6
7
8
9
10 11 12
Σ
13
10
5
8
10
10
8
7
13
7
100
Note: . . . . . . . . . . . . . . . . . . . .
3
6
Unterschrift: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgabe 1
(3 + 3 + 2 + 3 + 2 = 13 Punkte)
Seien Π = {P, Q} eine Menge von Aussagenvariablen und F die folgende Formel über Π:
F =
(Q → 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) Kreuzen Sie in der folgenden Tabelle an, ob F erfüllbar, unerfüllbar oder allgemeingültig ist.
Begründen Sie Ihre Antwort mit Hilfe der Wahrheitstabelle aus a).
ja
nein
erfüllbar
unerfüllbar
allgemeingültig
Begründung:
/3 P
c) Geben Sie mit Hilfe der Wahrheitstabelle aus a) jeweils eine disjunktive und eine konjunktive Normalform der Formel F an.
/2 P
1
d) Seien G und H die folgenden Formel über Π:
G = ¬(P ↔ Q)
H = ¬(Q → Q)
Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für G und H angeben.
Untersuchen Sie mit Hilfe der Wahrheitstabellen für F , G und H, ob
I) F |= G,
II) F |= H,
gilt. Begründen Sie Ihre Antwort mit Hilfe der Wahrheitstabellen.
/3 P
e) Geben Sie, falls vorhanden, mit Hilfe der Wahrheitstabelle aus a) eine Belegung für F
an, in der
i) F wahr ist,
ii) F falsch ist.
/2 P
/13 P
2
Aufgabe 2
(1 + 7 + 1 + 1 = 10 Punkte)
Seien Π = {P, Q, R, S, T, U, W, X} eine Menge von Aussagenvariablen und F die
folgende Formel über Π in der Schreibweise als Konjunktion von Implikationen:
F =
(1)
(2)
U
(3)
W
(4)
X
(5)
Q, S
(6)
Q, W
(7)
R, T
(8)
S, U
(9)
T, W
(10) P, Q, S
→
→
→
→
→
→
→
→
→
→
W
Q
S
T
X
U
P
U
a) Definieren Sie, wann es sich bei einer Formel um eine Horn-Formel handelt.
/1 P
b) Wenden Sie den Markierungsalgorithmus zur Überprüfung der Erfüllbarkeit von Hornklauseln
auf die gegebene Konjunktion von Implikationen F an.
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 eine neue Markierung hinzukommt.
/7 P
3
c) Ist die Formel F erfüllbar oder unerfüllbar? Begründen Sie kurz Ihre Antwort mit Hilfe der
Ergebnisse aus b); falls F erfüllbar ist, geben Sie ein Modell an.
/1 P
d) Bearbeiten Sie genau eine der folgenden Teilaufgaben:
I) Nur zu bearbeiten, wenn F erfüllbar ist.
Geben Sie eine Hornklausel K über Π an, sodass F ∧ K unerfüllbar ist.
II) Nur zu bearbeiten, wenn F unerfüllbar ist.
Wie viele der Klauseln ((1), . . . , (10)) muss man mindestens aus F entfernen, um eine
erfüllbare Formel zu erhalten.
/1 P
/10 P
4
Aufgabe 3
(5 Punkte)
Seien Π = {P, Q, R, S} eine Menge von Aussagenvariablen und N die folgende Klauselmenge
über Π:
N = {{P }, {P, R}, {Q, S}, {¬Q, ¬S}, {¬P, Q, ¬S}, {¬P, ¬Q, S}}
Verwenden Sie den Resolutionskalkül (in Mengennotation), um zu begründen, dass N unerfüllbar
ist.
(1) {P }
(2) {P, R}
(3) {Q, S}
(4) {¬Q, ¬S}
(5) {¬P, Q, ¬S}
(6) {¬P, ¬Q, S}
/5 P
/5 P
5
Aufgabe 4
(8 Punkte)
Seien Π = {P, Q, S} eine Menge von Aussagenvariablen und F die folgende Formel über Π:
P ∨ ¬ (¬P ∧ ¬S) → (Q ∧ S) ∨ S
Verwenden Sie den Tableaukalkül, um zu begründen, dass F allgemeingültig ist. Führen Sie
keine Vereinfachungen an der gegebenen Formel durch.
/8 P
/8 P
6
Aufgabe 5
(3+7 = 10 Punkte)
a) Geben Sie die allgemeinste Struktur eines Beweises mit struktureller Induktion über den
Aufbau der Formeln in der Aussagenlogik an.
/3 P
b) Sei Π eine Menge von Aussagenvariablen. Sei die folgende Funktion auf aussagenlogischen
Formeln über Π, die keine Negation enthalten, wie folgt definiert:
Für jede aussagenlogische Formel F , die keine Negation enthält:
(
>
wenn F ∈ Π ∪ {>, ⊥}
α(F ) =
α(F1 ) ◦ α(F2 ) wenn F = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔}
(α(F ) ersetzt alle Vorkommen von Aussagenvariablen, ⊥ und > in einer Formel durch >.)
Zeigen Sie mit Hilfe der strukturellen Induktion über den Aufbau von aussagenlogischen
Formeln, dass für jede aussagenlogische Formel F über Π, die keine Negation enthält, gilt:
α(F ) ist allgemeingültig.
7
/7 P
/10 P
8
Aufgabe 6
(2 + 2 + 1 + 2 + 2 + 1 = 10 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, f /1}, und
• Π = {p/1, q/2, r/3}.
Ferner seien X eine Menge von Variablen und u, w, x, y, z ∈ X.
a) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Negationsnormalform an.
∀x
∃z p(z) → ¬ p(x) ∨ ¬q(x, z)
/2 P
b) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in bereinigter Form
an.
∀x ∃z q(x, z) ∧ ∀z p(z) → ∃x q(x, z)
/2 P
c) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Pränexnormalform an.
∀x p(x) ∨ ∃z q(x, z) ∧ ∃u q(u, f (u)) ∨ ∀y p(f (y))
/1 P
9
d) Bringen Sie die folgende Formel über Σ und X in Skolemnormalform:
∃y∀u∀w∃x
p(y) ∧ r(a, u, y) ∨ r(x, f (w), x)
/2 P
e) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel mit Matrix in
konjunktiver Normalform an.
∀x∀y p(x) ∧ p(a) ∨ p(y) ∨ q(x, y) ∧ q(y, x)
/2 P
f) Stellen Sie die folgende Formel über Σ und X als Klauselmenge dar.
∀x∀y p(x) ∨ r(x, a, y) ∧ p(y) ∨ r(x, a, y) ∧ p(y) ∨ p(f (y))
/1 P
/10 P
10
Aufgabe 7
(2+3+3 = 8 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {c/0, f /1, g/2}, und
• Π = {p/1, ≈/2}.
Ferner seien X eine Menge von Variablen und x, y ∈ X.
Gegeben sind die Struktur A und die Belegung β:
• A = ({a, b}∗ ,
{ cA ∈ {a, b}∗ , fA : {a, b}∗ → {a, b}∗ , gA : {a, b}∗ × {a, b}∗ → {a, b}∗ },
{ pA , ≈A })
mit
–
–
–
–
–
cA = aa ∈ {a, b}∗
fA (w) = wR ∈ {a, b}∗ (Das Reverse von w)
gA (w1 , w2 ) = w1 w2 ∈ {a, b}∗ (Die Konkatenation von w1 und w2 )
pA = {w ∈ {a, b}∗ | w enthält mindestes ein a}
≈A = {(w, w) | w ∈ {a, b}∗ }
• β : X → {a, b}∗ , definiert durch β(x) = aab, β(y) = bba
Evaluieren Sie, in klaren und leicht nachvollziehbaren Schritten,
I) A(β)
!
,c
g f g f (y), f (x)
/2 P
11
II) A(β)
∀x x ≈ f (y) → g(x, y) ≈ f (g(x, y))
/3 P
III) A(β)(∀x∃y p(g(x, y)))
/3 P
/8 P
12
Aufgabe 8
(2+2+3 = 7 Punkte)
Seien Ω = {a/0, c/0, g/2} eine Menge von Funktionssymbolen, X eine Menge von Variablen
und w, x, y, z ∈ X.
Gegeben sind die folgenden 2 Unifikationsprobleme über Ω und X:
?
?
I) {w = g(y, x), g(w, y) = g(z, z)}
?
?
?
II) {w = a, x = y, g(g(w, c), x) = g(y, g(w, z))}
a) Wenden Sie den Martelli-Montanari-Algorithmus auf die gegebenen Probleme an. Notieren
Sie dabei sämtliche Zwischenschritte. Jeder Schritt soll der Anwendung genau einer Instanz
einer Regel entsprechen.
?
?
I) {w = g(y, x), g(w, y) = g(z, z)}
/2 P
13
?
?
?
II) {w = a, x = y, g(g(w, c), x) = g(y, g(w, z))}
/2 P
b) Verwenden Sie die Ergebnisse aus dem vorherigen Aufgabenteil um eine begründete Aussage
über das (Nicht-)Vorhandensein eines Unifikators zu machen. Gibt es einen Unifikator für
ein Problem, so geben Sie ihn explizit an.
/3 P
/7 P
14
Aufgabe 9
(5+4+4 = 13 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, c/0, e/0, g/1}, und
• Π = {p/3, q/3}.
Ferner seien X eine Menge von Variablen und x, y, z ∈ X.
a) Geben Sie die allgemeine Form der prädikatenlogischen Resolutionsregel und Faktorisierungsregel (für Klauseln in Mengennotation) an.
/5 P
15
b) Es seien die folgenden Klauseln über Σ und X gegeben:
(1) {p(a, x, g(y)), p(y, g(a), x), ¬p(x, y, z)}
(2) {p(g(z), c, g(y)), p(y, z, x), ¬p(x, y, z)}
(3) {p(x, y, z), p(g(y), z, x), ¬p(x, y, z)}
Geben Sie sämtliche Faktoren an, die sich mit der Faktorisierungsregel aus den gegebenen Klauseln bilden lassen und geben Sie bei der Faktorisierung explizit die verwendeten
Unifikatoren an.
Sollte eine Faktorisierung nicht möglich sein, begründen Sie jeweils kurz, warum dem so
ist. Dass eine Faktorisierung nicht möglich ist, weil Literale verschiedene Prädikatensymbole
haben, brauchen Sie nicht zu erwähnen.
/4 P
16
c) Es seien die folgenden Klauseln über Σ und X gegeben:
(1) {p(a, y, x), ¬p(y, y, a)}
(2) {p(c, e, x), ¬p(y, x, g(y))}
(3) {p(x, x, c), ¬p(c, y, y)}
Bilden Sie sämtliche Resolventen, die sich aus den Klauseln:
• (1) und (2),
• (1) und (3),
• (2) und (3)
mit der Resolutionsregel bilden lassen und geben Sie dabei explizit die verwendeten Unifikatoren und durchgeführten Umbenennungen an.
/4 P
/13 P
17
18
Aufgabe 10
(7 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = ∅, und
• Π = {p/2}.
Ferner seien X eine Menge von Variablen und w, x, y, z ∈ X.
Sei F die folgenden Formel über Σ und X:
F = ∀w∃x ¬p(w, x) ∧ ∃y∀z p(y, z)
Verwenden Sie den Tableaukalkül mit freien Variablen um zu zeigen, dass F unerfüllbar ist.
Führen Sie keine Vereinfachungen an der gegebenen Formel durch.
/7 P
/7 P
19
20
Aufgabe 11
(1 + 2 = 3 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {e/0, h/1}, und
• Π = {p/1, r/2}.
a) Zeigen Sie, wie das Herbrand-Universum für die Signatur Σ aufgebaut ist, indem Sie exemplarisch 4 ausgewählte Individuen des Herbrand-Universums angeben.
/1 P
b) Geben Sie exemplarisch 2 verschiedene, nichtleere Mengen von Grundatomen über Σ an, die
je eine Herbrand-Interpretation über Σ beschreiben.
Interpretation 1:
Interpretation 2:
/2 P
/3 P
21
Aufgabe 12
(6 Punkte)
Schreiben Sie die Prologprädikate gav(TL, L), gerade Anzahl Vorkommen, und uav(TL, L),
ungerade Anzahl Vorkommen, die jeweils genau dann wahr sind, wenn die entsprechenden Bedingungen erfüllt sind:
gav(TL, L): Die Anzahl der Vorkommen der Liste TL als Teilliste in der Liste L ist gerade.
uav(TL, L): Die Anzahl der Vorkommen der Liste TL als Teilliste in der Liste L ist ungerade.
Dabei ist TL eine Liste, die genau 2 beliebige Atome enthält, und L ist eine Liste die beliebig
viele beliebige Atome enthält.
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 und keine Arithmetik
verwenden:
• den Cut-Operator ‘!’,
• das Prädikat ‘fail’, das immer falsch ist.
Zur Verdeutlichung einige korrekte Beispielaufrufe:
Eingabe
gav([a,b],
gav([a,b],
gav([a,b],
gav([a,b],
gav([a,b],
gav([a,b],
gav([b,a],
gav([a,b],
gav([c,a],
[a]).
[a,a]).
[a,b]).
[a,c]).
[a,c,b]).
[a,b,a,b]).
[a,b,a,b]).
[c,a,b,a,a,b,a]).
[c,a,b,a,a,b,a]).
Ausgabe
true
true
false
true
true
true
false
true
false
/6 P
/6 P
22
Eingabe
uav([a,b],
uav([a,b],
uav([a,b],
uav([a,b],
uav([a,b],
uav([a,b],
uav([b,a],
uav([a,b],
uav([c,a],
[a]).
[a,a]).
[a,b]).
[a,c]).
[a,c,b]).
[a,b,a,b]).
[a,b,a,b]).
[c,a,b,a,a,b,a]).
[c,a,b,a,a,b,a]).
Ausgabe
false
false
true
false
false
false
true
false
true
Herunterladen