Hauptklausur 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
Hauptklausur zur Vorlesung
Logik für Informatiker
Sommersemester 2014
11.08.2014
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 (10 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
Note: . . . . . . . . . . . . . . . . . . . .
1
2
3
4
5
6
7
8
9
10 Σ
14
7
10
9
10
8
12
7
17
6
100
Unterschrift: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgabe 1
(14 Punkte)
Seien Π = {P, Q, R} eine Menge von Aussagenvariablen und F die folgende Formel über Π:
F =
¬P ∨ Q ∧ R → P → 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.
/6 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
1
c) Sei G die folgende Formel über Π: G = Q ↔ R
Geben Sie eine Wahrheitstabelle an, in der Sie die Wahrheitswerte für G angeben. Untersuchen Sie mit Hilfe der Wahrheitstabellen für F und G, ob F |= G gilt. Begründen Sie Ihre
Antwort.
/3 P
d) Geben Sie mit Hilfe der Wahrheitstabelle aus c) jeweils eine konjunktive und disjunktive
Normalform der Formel G an.
/2 P
/14 P
2
Aufgabe 2
Seien Π = {P, Q, R,
Klauselmenge über Π:
(7 Punkte)
S,
T } eine Menge von Aussagenvariablen und N die folgende
N = { {P, Q, S, T }, {P, Q}, {¬P, ¬Q}, {¬P }, {¬Q, S}, {¬S} }
a) In welchem k-KNF-Fragment befindet sich N ? Begründen Sie kurz Ihre Antwort.
/1 P
b) Simplifizieren Sie N mit Hilfe der Subsumptionsregel. Geben Sie die vollständig simplifizierte Klauselmenge, N1 , an und begründen Sie durch Angabe der Subsumptionsbeziehungen
zwischen den entsprechenden Klauseln, wie Sie N1 hergeleitet haben.
N1 =
/2 P
c) In welchem k-KNF-Fragment befindet sich N1 ? Begründen Sie kurz Ihre Antwort.
/1 P
3
d) Bestimmen Sie mit Hilfe des Resolutionskalküls, ob N1 unerfüllbar ist, und folgern Sie aus
diesem Resultat, ob N unerfüllbar ist. Begründen Sie Ihre Antworten.
/3 P
/7 P
4
Aufgabe 3
(10 Punkte)
Seien Π = {P, Q, R, S, T, U, W, X} eine Menge von Aussagenvariablen und F die
folgende Formel über Π:
F =
(P ) ∧ (¬R) ∧ (¬P ∨ S) ∧ (¬P ∨ ¬S ∨ T ) ∧ (¬P ∨ ¬T ∨ Q) ∧ (¬P ∨ ¬Q ∨ ¬T ∨ U ) ∧
(¬Q ∨ ¬T ∨ ¬U ∨ X) ∧ (¬S ∨ ¬U ∨ ¬W ∨ R)
a) Begründen Sie, warum es sich bei F um eine Horn-Formel handelt.
/1 P
b) Schreiben Sie F als Konjunktion von Implikationen auf.
/4 P
5
c) Wenden Sie den Markierungsalgorithmus zur Überprüfung der Erfüllbarkeit von Hornklauseln
auf die im Schritt b) erzeugte Konjunktion von Implikationen an. Geben Sie explizit für jeden
Schritt an, welche Atome markiert werden, und wieso die Markierung zustande kommt.
/3 P
d) Ist die Formel F erfüllbar oder unerfüllbar? Begründen Sie kurz Ihre Antwort mit Hilfe der
Ergebnisse aus c); falls F erfüllbar ist, geben Sie ein Modell an.
/2 P
/10 P
6
Aufgabe 4
(9 Punkte)
Seien Π = {P, Q, R} eine Menge von Aussagenvariablen und F und G die folgenden Formeln
über Π:
F = ¬(P ∨ Q) → (P ∨ R)
G = ¬(Q ∨ R) → P
Verwenden Sie den Tableaukalkül, um zu begründen, dass F |= G gilt. Führen Sie keine Vereinfachungen an den gegebenen Formeln durch.
/9 P
7
/9 P
8
Aufgabe 5
(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. Seien die folgenden Funktionen auf aussagenlogischen Formeln über Π wie folgt definiert:
Für jede aussagenlogische Formel F :


wenn F ∈ Π ∪ {>, ⊥}
0
Neg(F ) = 1 + Neg(F1 )
wenn F = ¬F1


Neg(F1 ) + Neg(F2 ) wenn F = F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔}


1



0
AV(F ) =

AV(F1 )



AV(F ) + AV(F )
1
2
wenn
wenn
wenn
wenn
F
F
F
F
∈Π
∈ {>, ⊥}
= ¬F1
= F1 ◦ F2 , mit ◦ ∈ {∨, ∧, →, ↔}
(AV(F ) bezeichnet die Anzahl der Vorkommen von Aussagevariablen in F ; Neg(F ) bezeichnet die Anzahl der Vorkommen von Negationen in F .)
9
Die Menge NNF-ForΠ der aussagenlogischen Formeln über Π in Negationsnormalform ist die
kleinste Menge von aussagenlogischen Formeln über Π für die gilt:
Π ∪ {>, ⊥} ⊆ NNF-ForΠ
¬F ∈ NNF-ForΠ
F1 ◦ F2 ∈ NNF-ForΠ
gdw. F ∈ Π
gdw. F1 , F2 ∈ NNF-ForΠ für ◦ ∈ {∨, ∧}
Zeigen Sie mit Hilfe der strukturellen Induktion über den Aufbau von aussagenlogischen
Formeln, dass für jede aussagenlogische Formel F über Π, die in Negationsnormalform ist,
gilt:
Neg(F ) ≤ AV(F ).
/7 P
/10 P
10
Aufgabe 6
(8 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {f /1, g/1, h/2}, und
• Π = {≈/2}.
Ferner seien X eine Menge von Variablen und x, y ∈ X.
Gegeben sind die Struktur A und die Belegung β:
• A = (Z, {fA : Z → Z, gA : Z → Z, hA : Z × Z → Z}, {≈A }) mit
–
–
–
–
fA (n) = −n ∈ Z
gA (n) = n ∗ 2 ∈ Z
hA (n1 , n2 ) = n1 + n2 ∈ Z
≈A ist die Gleichheit, d.h. ≈A = {(n, n) | n ∈ Z}
• β : X → Z, definiert durch β(x) = 5, β(y) = 10
Evaluieren Sie, in klaren und leicht nachvollziehbaren Schritten,
I) A(β)(h(h(g(x), f (g(y))), x))
/2 P
11
II) A(β)(g(h(f (x), y)) ≈ y)
/2 P
III) A(β)(∀x (g(x) ≈ h(x, x)) → (g(x) ≈ y) )
/2 P
IV) A(β)(∃x∃y g(x) ≈ f (y) )
/2 P
/8 P
12
Aufgabe 7
(12 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, b/0, f /1}, und
• Π = {q/1, p/2, r/4, s/5}.
Ferner seien X eine Menge von Variablen und u, w, x, y, z ∈ X.
I) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Negationsnormalform an.
!
∀w∀x
∀y∃z ¬p(w, y) → q(w) → ¬¬q(x) ∨ ¬ q(x) ∨ q(z)
/3 P
II) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in bereinigter
Form an.
!
∀w∀x
∀y∀z r(w, y, x, z)
∨ ∃z q(w) ∧ p(w, z) ∧ ∃y (p(y, z))
/2 P
III) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Pränexnormalform an.
!
∀u
∃w∃x q(u) ∧ q(w) ∧ q(x)
∨ ∀y p(u, y) ∧ ∃z (r(u, z, y, z))
/1 P
13
IV) Bringen Sie die folgende Formel über Σ und X in Skolemnormalform:
∃u∀w∃x∀y∃z s(x, f (z), y, f (u), w) ∨ r(f (w), y, z, a)
/3 P
V) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel mit Matrix in
konjunktiver Normalform an.
∀x∀y∀z p(x, y) ∨ q(a) ∧ ¬q(b) ∨ p(y, a) ∧ ¬p(f (z), a)
/2 P
VI) Stellen Sie die folgende Formel über Σ und X als Klauselmenge dar.
∀x∀y∀z p(x, y) ∨ ¬p(a, z) ∧ p(a, b) ∧ q(z) ∨ p(b, x)
/1 P
/12 P
14
Aufgabe 8
(7 Punkte)
Seien Ω = {f /1, g/1, h/2} eine Menge von Funktionssymbolen, X eine Menge von Variablen
und v, w, x, y, z ∈ X.
Gegeben sind die folgenden 2 Unifikationsprobleme über Ω und X:
?
?
?
?
?
I) {f (v) = f (w), v = h(x, f (z)), h(x, y) = w}
?
II) {f (v) = f (w), v = h(x, f (z)), h(x, g(y)) = w}
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) {f (v) = f (w), v = h(x, f (z)), h(x, y) = w}
/2 P
?
II) {f (v) = f (w), v = h(x, f (z)), h(x, g(y)) = w}
/2 P
15
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
16
Aufgabe 9
(17 Punkte)
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, b/0, f /1}, und
• Π = {p/2, q/2}.
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.
/4 P
17
b) Wenden Sie, sofern möglich, die Faktorisierungsregel auf die folgenden Klauseln über Σ und
X an und geben Sie dabei explizit die verwendeten Unifikatoren an.
Sollte eine Faktorisierung nicht möglich sein, begründen Sie jeweils kurz, warum dem so ist.
(1) {p(a, x), p(x, b)}
(2) {p(a, x), p(y, b)}
(3) {p(a, x), ¬p(y, b)}
(4) {p(a, x), p(y, z)}
(5) {p(x, y), p(y, f (x))}
(6) {q(x, y), p(a, z)}
/5 P
18
c) Gegeben seien die Klauseln (1), (2), (3) über Σ und X.
(1) {¬p(x, y), p(x, y)}
(2) {¬p(b, x)}
(3) {p(a, x), p(x, b)}
Bilden Sie sämtliche Resolventen, die sich aus den Klauseln:
• (1) und (2),
• (1) und (3),
• (2) und (3)
bilden lassen und geben Sie dabei explizit die verwendeten Unifikatoren und durchgeführten
Umbenennungen an.
/8 P
/17 P
19
Aufgabe 10
(6 Punkte)
Schreiben Sie das Prologprädikat ep(Liste, Element) (enthält Paar), das genau dann wahr
ist, wenn in der Liste Liste das Atom Element mindestens einmal als Paar, d.h. direkt aufeinanderfolgend, vorkommt. Sie können davon ausgehen, dass Liste eine flache Liste von Atomen
ist, d.h. es kommen keine verschachtelten Listen vor.
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 Beispielaufrufe:
Eingabe
ep([a,a],a).
ep([a,b,a],a).
ep([a,b,a,a],a).
ep([a,b,a,a],a).
ep([a,a,b,b,a,a],a).
Ausgabe
true
false
true
true
true
Eingabe
ep([a,a],b).
ep([a,b,a],b).
ep([a,b,a,a],b).
ep([a,b,a,a],b).
ep([a,a,b,b,a,a],b).
Ausgabe
false
false
false
false
true
/6 P
20
/6 P
Herunterladen