Blatt 10 - userpages

Werbung
Universität Koblenz-Landau
FB 4 Informatik
1
Prof. Dr. Viorica Sofronie-Stokkermans∗
2
Dipl.-Inform. Markus Bender∗
Übung zur Vorlesung Logik für Informatiker
Aufgabenblatt 10
Abgabe bis 24.06.2016, 17:00 s.t.
Aufgabe 10.1
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {a/0, b/0, f /1, g/2}, und
• Π = {p/1, q/2, ≈/2}.
Ferner sei X eine Menge von Variablen und x, y, z ∈ X.
Berechnen Sie die Ergebnisse der folgenden Substitutionen:
I) g g(x, b), g(a, x) [f (a)/x]
II) g x, g(z, y) ≈ g g(a, y), x [y/x, x/y]
III) ∃ x q g(x, a), g(b, y) [x/y]
IV) ∃ x g f (x), f (y) ≈ g g(y, x), g(z, x) [f (y)/x, a/y]
!
[x/y, f (a)/z]
V)
∀ x q z, f (a) ∨ x ≈ g(y, b)
∨ ∃z p z
VI)
!
∃ x g y, z ≈ g a, x ∨ ∀ y q g(z, y), f (x)
[a/x, x/y, b/z]
17.06.2016
Aufgabe 10.2
Sei Σ = (Ω, Π) eine Signatur, wobei
• Ω = {0/0, 1/0, s/1, +/2}, und
• Π = {≈/2}.
Ferner sei X eine Menge von Variablen und x, y ∈ X.
Gegeben sind die folgenden Struktur A und die Belegungen β1 , β2 :
A = (Q+ , {0A , 1A , sA : Q+ → Q+ , +A : Q+ × Q+ → Q+ }, {≈A }) mit
• 0A = 1 ∈ Q+
• 1A =
1
3
∈ Q+
• sA (q) =
1
q
∈ Q+
• +A (q1 , q2 ) =
q1
q2
∈ Q+
• ≈A ist die Gleichheit, d.h. ≈A = {(q, q) | q ∈ Q+ }
• β1 : X → Q+ , definiert durch β1 (x) = 2, β1 (y) = 7
• β2 : X → Q+ , definiert durch β2 (x) = 14, β2 (y) = 3
Evaluieren Sie
I) A(β)(s((1 + x) + s(0 + y))),
II) A(β)(1 + x ≈ s(x) + y), und
III) A(β)(s(1) + s(1) ≈ s(s(0))), für
a) β = β1 ,
b) β = β2 ,
Gehen Sie dabei in klaren und leicht nachvollziehbaren Schritten vor.
Aufgabe 10.3
Erstellen Sie die Wissensbasis solution10.pl, und definieren Sie in ihr die folgenden
Prädikate:
• enthaelt(Liste, Element), das genau dann wahr ist, wenn es mindestens ein Vorkommen des Atoms Element in der Liste Liste gibt.
Sie müssen lediglich die folgende Eingabe beachten: Liste ist eine Liste von Atomen
mit beliebiger Länge; Element ist ein Atom.
• ikb(Element), (ist Kleinbuchstabe) das genau dann wahr ist, wenn Element ein
Kleinbuchstabe ist.
Sie müssen die folgenden Arten von Eingaben beachten: 1) Element ist ein beliebiges
Atom, 2) Element ist eine Variable.
• igb(Element), (ist Großbuchstabe) das genau dann wahr ist, wenn Element ein
Großbuchstabe ist.
Sie müssen die folgenden Arten von Eingaben beachten: 1) Element ist ein beliebiges
Atom, 2) Element ist eine Variable.
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.
Achten Sie darauf, dass es beim Laden Ihrer Wissensbasis zu keinen Fehlern oder Warnungen kommt.
Hinweis: Beachten Sie, dass Prolog eine Eingabe von Großbuchstabe, z.B. A als Variable interpretiert und nicht als Atom. Um einen Großbuchstaben als Atom zu verwenden,
müssen Sie ihn in einfache Anführungszeichen setzen, z.B. ’A’.
Hinweis: Im Rahmen dieser Aufgabe gelten weder ’ß’ noch Umlaute als Buchstaben. Sie
müssen entsprechend nicht beachtet werden.
Aufgabe 10.4
Hinweis: Diese Aufgabe muss von jedem Mitglied der Abgabegruppe selbst erfüllt
werden. Erfüllt jemand diese Aufgabe nicht, wird dieses Blatt für diese Person mit allen
Konsequenzen als „nicht eingereicht“ bewertet.
Legen Sie im SVN unter Verwendung Ihres eigenen Zuganges im Verzeichnis „solutions“
Ihrer Abgabegruppe eine Datei mit dem Namen check_<KENNUNG>.txt an, wobei KENNUNG
Ihre Rechnerkennung ist. Im Falle von Markus Bender hieße diese Datei beispielsweise
check_mbender.txt.
Achten Sie darauf, dass nur Sie selbst diese Datei hochladen, es wird nicht gewertet, wenn
ein Gruppenmitglied diese Datei für Sie ins SVN stellt.
∗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/
ss16logic.html einsehen können.
Bei Fragen zu Ihrer Korrektur wenden Sie sich an [email protected].
Herunterladen