Blatt 12 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
1
Prof. Dr. Viorica Sofronie-Stokkermans∗
2
Dipl.-Inform. Markus Bender∗
14.07.2017
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 12
Abgabe bis 20.07.2017, 8:00 s.t.
Hinweis: Bitte beachten Sie die abweichende Abgabefrist.
Hinweis: In Belangen der Klausurzulassung ist dies ein Bonusblatt. Wenn Sie dieses Blatt
nicht einreichen, entstehen Ihnen keinen Nachteile bei der Klausurzulassung. Sie haben mit
dem Blatt aber die Möglichkeit zusätzliche Punkte im Bereich der Prädikatenlogik und im
Bereich Prolog zu erlangen und Aufgabentypen erneut zu üben.
Aufgabe 12.1
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, f /1, h/2}, und
• Π = {p/1, ≈/2}.
Ferner sei X eine Menge von Variablen und x, y, z ∈ X.
Markieren Sie durch Ankreuzen, welcher der folgenden Ausdrücke über Σ und X zu welchem der genannten Konzepten gehört. Dabei steht NNF für die Negationsnormalform
PNF für die Pränexnormalform und SNF für die Skolemnormalform.
Hinweis: Es können mehre Spalten zutreffen, d.h. es ist erlaubt mehr als nur 1 Kreuz pro
Zeile zu setzen.
1
2
3
4
5
6
7
8
9
10
11
12
Ausdruck
x ≈ f (x)
∃ x ¬p(x)
h(f (y), a)
¬p(f (f (a)))
¬(h(a, x) ≈ x)
∀ x (¬(a ≈ x))
p(a) ∧ ∀ x p(x)
∀ x ∃ y (y ≈ x)
f (h(y, h(a, y)))
¬(p(a) ∧ x ≈ x)
¬∀ x (a ≈ f (x))
(a ≈ x) ∨ (a ≈ z)
Term
Atom
Literal
Klausel
Formel
NNF
PNF
SNF
Aufgabe 12.2
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, f /1}, und
• Π = {p/1, q/2, r/3}.
Ferner seien X eine Menge von Variablen und u, u0 , w, x, y, z ∈ X.
a) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Negationsnormalform an.
¬∃ x ∃ y p(f (y)) → ∀ z ¬p(f (x)) ∨ r(x, y, z)
b) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in bereinigter
Form an.
!
!
∀ w ∃ x ∀ y r(x, w, y) ∨ ∃ y q(a, y)
→ ∀ x ∃ z q(x, z) ∧ ¬q(w, y)
c) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel in Pränexnormalform an.
∀ w p(w) ∨ ∀ x ¬p(x) ∧ ∃ y ∃ z r(y, a, z) ∨ ¬q(f (y), z)
d) Bringen Sie die folgende Formel über Σ und X in Skolemnormalform:
∃ u ∀ u0 ∃ w ∃ x ∀ y ∃ z ∀ z 0 r(z 0 , a, z) ∨ r(x, u, y) ∨ r(u0 , f (u), w)
e) Geben Sie für die folgende Formel über Σ und X eine äquivalente Formel mit Matrix
in konjunktiver Normalform an.
∀x
¬p(x) ∧ q(x, f (x)) ∨ p(f (a)) ∨ q(a, x)
f) Stellen Sie die folgende Formel über Σ und X als Klauselmenge dar.
∀ x ∀ y ¬q(x, z) ∨ p(f (y)) ∨ r(x, a, y)
Aufgabe 12.3
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, b/0, c/0, f /1, g/1, h/2} und
• Π = ∅.
Ferner sei X eine Menge von Variablen und t, v, w, x, y, z ∈ X.
Gegeben sind die folgenden 3 Unifikationsprobleme über Σ und X.
?
I) {f (h(x, g(x))) = f (h(y, y))}
?
II) {f (h(g(x), f (a))) = f (h(g(c), f (x)))}
?
?
?
?
?
?
III) {t = b, x = f (t), v = g(x), f (v) = y, w = f (x), g(w) = z}
a) Wenden Sie den Martelli-Montanari Algorithmus auf die gegebenen Probleme an. Notieren Sie dabei auch die einzelnen Zwischenschritte. Jeder Schritt soll genau einer
Anwendung genau einer Regel des Algorithmus’ entsprechen. Die Namen der verwendeten Regeln sollen auch für jeden Schritt angegeben werden. Achten Sie darauf,
den Algorithmus so lange anzuwenden, bis keine Regeln mehr anwendbar sind.
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 Probleme, so geben Sie ihn explizit an.
Aufgabe 12.4
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {0/0, f /1, g/2}, und
• Π = {p/1, ≈/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Gegeben sind die Struktur A und die Belegungen β:
• A = (N, {0A , fA : N → N, gA : N × N → N}, {pA , ≈A }) mit
–
–
–
–
–
0A = 1 ∈ N
fA (n) = n + n + 1 ∈ N
gA (n1 , n2 ) = n1 + n2 ∈ N
pA (n) = {n | n ist gerade}
≈A ist die Gleichheit, d.h. ≈A = {(n, n) | n ∈ N}
• β : X → N, definiert durch β(x) = 1, β(y) = 11
Evaluieren Sie
I) A(β)(g(f (x), f (y)))
II) A(β)(∀ x p(f (x)))
III) A(β)(∀ x ∃ y (x ≈ f (y)))
IV) A(β)(∃ x ∃ y ((f (x) ≈ y) → (0 ≈ g(g(y, x), x))))
Aufgabe 12.5
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, b/0, f /1}, und
• Π = {p/2, q/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Gegeben seien die folgenden Formelen über Σ und X:
F = p(f (a), b) ∧
p(f (b), a) ∧
∧
∀ x ¬p(f (a), x) ∨ q(a, x)
∀ x ∀ y ¬p(f (b), x) ∨ ¬p(f (a), y) ∨ ¬p(b, y) ∨ ¬q(x, y)
G = ¬p(b, b)
Verwenden Sie den Resolutionskalkül, um zu begründen, dass F |= G. Geben Sie dabei explizit alle Unifikatoren, Umbenennungen und Faktoren an. Wenden Sie auch die
Substitution explizit an und geben Sie das Ergebnis entsprechend an. Führen Sie keine
Vereinfachungen an der gegebenen Klauselmenge durch.
Aufgabe 12.6
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = ∅, und
• Π = {p/1, q/1, r/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Gegeben sei die folgende Formel über Σ und X:
F = ¬ ∀ x p(x) → (∃ y r(x, y))
∨ ∀ x ¬p(x) ∨ ∃ x ∃ y r(x, y) ∨ q(y)
Verwenden Sie den Tableaukalkül mit freien Variablen, um zu begründen, dass F allgemeingültig ist. Führen Sie keine Vereinfachungen an der gegebenen Formel durch.
Aufgabe 12.7
Erstellen Sie die Wissensbasis solution12.pl, und definieren Sie in ihr die folgenden
Prädikate:
• eev(AltesE, NeuesE, AlteL, NeueL) (ersetze erstes Vorkommen), das genau dann
wahr ist, wenn die Liste NeueL identisch mit der Liste AlteL ist, bis auf den Punkt,
dass das erste (linkeste) Vorkommen des Elements AltesE in AlteL, in der Liste
NeueL dem Element NeueE entspricht, d.h. das Prädikat ersetzt das erste Vorkommen
von AltesE in AlteL durch NeuesE und gibt die daraus resultierende Liste in NeueL
zurück.
• elv(AltesE, NeuesE, AlteL, NeueL) (ersetze letztes Vorkommen), das genau
dann wahr ist, wenn die Liste NeueL identisch mit der Liste AlteL ist, bis auf den
Punkt, dass das letzte (rechteste) Vorkommen des Elements AltesE in AlteL, in der
Liste NeueL dem Element NeueE entspricht, d.h. das Prädikat ersetzt das letzte Vorkommen von AltesE in AlteL durch NeuesE und gibt die daraus resultierende Liste
in NeueL zurück.
• eav(AltesE, NeuesE, AlteL, NeueL)(ersetze alle Vorkommen), das genau dann
wahr ist, wenn die Liste NeueL identisch mit der Liste AlteL ist, bis auf den Punkt,
dass alle Vorkommen des Elements AltesE in AlteL, in der Liste NeueL dem Element NeueE entspricht, d.h. das Prädikat ersetzt alle Vorkommen von AltesE in
AlteL durch NeuesE und gibt die daraus resultierende Liste in NeueL zurück.
Sie müssen die folgenden Arten von Eingaben bei beachten:
• AltesE ist ein Atom,
• NeuesE ist ein Atom,
• AlteL ist eine Liste von Atomen, und
• NeueL kann eine Liste von Atomen oder eine Variable sein.
Beim Aufruf mit Variablen sollen diese entsprechend belegt werden.
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,
• das Prädikat ‘reverse(L1, L2)’, das genau dann wahr ist, wenn L1 das Reverse von
L2 ist.
Achten Sie darauf, dass es beim Laden Ihrer Wissensbasis zu keinen Fehlern oder Warnungen kommt.
∗1
∗2
B 225
B 224
[email protected]
[email protected]
www.uni-koblenz.de/~sofronie
www.uni-koblenz.de/~mbender
Bitte beachten Sie die Modalitäten zur Abgabe, die Sie unter http://userp.uni-koblenz.de/~mbender/
ss17logic.html einsehen können.
Bei Fragen zu Ihrer Korrektur wenden Sie sich an [email protected].
Herunterladen