Blatt 7 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
1
Prof. Dr. Viorica Sofronie-Stokkermans∗
2
Dipl.-Inform. Markus Bender∗
02.06.2017
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 7
Abgabe bis 16.06.2017, 17:00 s.t.
Aufgabe 7.1
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {f /1, g/2, c/0} und
• Π = {p/1, q/3, ≈/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Markieren Sie durch Ankreuzen, welcher der folgenden Ausdrücke über Σ und X zu welchem der genannten Konzepten gehört.
Hinweis: Es können mehre Spalten zutreffen, d.h. es ist erlaubt mehr als nur 1 Kreuz pro
Zeile zu setzen.
Ausdruck
Term Atom Literal Klausel Formel ‘Nichts’
∃ x ∀ y q(c, y, x)
∃ x c ≈ x ≈ y
∃ x p p(x)
∀ x g(c,x)
∀ x ∀ y p(x, y) ∨ q(x, y, c)
¬∃ x c ≈ c
¬f
(x)
¬p g c, f (x)
c ≈ f (x) ∧ q(c, c, x)
c
f (c) ≈ c f (c) ≈ p f (c)
g g c, f (x) , f f (y)
p(x) ∧ ¬x ≈ a
q(c, f (c), x)
x ≈ f (x) ∨ q(x, c, x)
Aufgabe 7.2
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {vater/1, mutter/1} und
• Π={
detektiv/1, verbrecher/1, schlau/1, frustriert/1, traurig/1,
verfolgt/2, stolzAuf/2, fängt/2
}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Die Bedeutung der Prädikate entspricht dem normalen Sprachgebrauch.
Formalisieren Sie mithilfe der Prädikatenlogik:
I) Jeder Detektiv verfolgt einen Verbrecher.
II) Es gibt schlaue Verbrecher.
III) Jeder Detektiv ist schlau.
IV) Kein Detektiv kann einen schlauen Verbrecher fangen.
V) Jeder Detektiv, der einen Verbrecher verfolgt, aber nicht fängt, ist frustriert.
VI) Wenn alle Verbrecher schlau sind, dann sind alle Detektive frustriert.
VII) Jeder Verbrecher hat eine traurige Mutter und einen traurigen Vater.
VIII) Jeder Detektiv, der einen Verbrecher fängt, erfüllt seinen Vater mit Stolz.
Aufgabe 7.3
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, f /1} und
• Π = {p/1, q/3}.
Ferner sei X eine Menge von Variablen und x, y, z ∈ X.
Gegeben sind die folgenden prädikatenlogischen Formeln:
I) F1 = ∃ x
II) F2 = ∀ x
q(z, a, x) ∨ ∀ z ¬q(x, z, y) ∨ ¬ ∃ y (p(f (y)) ∨ p(x))
!
∨ q(y, z, x)
!
∃ x q(x, y, f (a)) ∧ ∃ y q(f (z), x, y)
∧ ∃ z q(y, f (z), x) ∧ q(f (z), a, z)
Geben Sie für jedes Vorkommen einer Variablen in F1 und F2 an, ob die Variable dort frei
oder gebunden ist.
Aufgabe 7.4
Erstellen Sie die Wissensbasis solution07.pl, und definieren Sie in ihr das Prädikat
egave(L, E) (enthält gerade Anzahl von Element), das genau dann wahr ist, wenn es
eine gerade Anzahl des Elementes E in der Liste L gibt. Beim Aufruf mit Variablen sollen
diese entsprechend belegt werden um das Prädikat wahr zu machen.
Hinweis: Wenn ein Element nicht in einer Liste vorkommt, so ist seine Anzahl gerade.
Sie müssen die folgenden Arten von Eingaben beachten:
• L ist eine Liste von Atomen mit beliebiger Länge; E ist ein Atom
• L ist eine Variable; E ist eine Atom
• L ist eine Variable; E ist eine Variable
Die Kombination in der L eine Liste von Atomen ist, und E eine Variable muss nicht
betrachtet 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 verwenden:
• den Cut-Operator ‘!’,
• das Prädikat ‘fail’, das immer falsch ist,
Verwendung von Arithmetik ist nicht gestattet.
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