Suchverfahren, 20 Punkte - Hochschule Bonn-Rhein-Sieg

Werbung
Name:
Matrikel:
Bemerkung: Diese Musterlösung ist bewußt etwas ausführlicher gestaltet, als für eine
vollständige und korrekte Lösung in der Prüfung notwendig gewesen wäre.
Aufgabe 1 (Suchverfahren, 20 Punkte)
Für diese Aufgabe betrachten wir Probleme der folgenden Art: Gegeben ist ein Spielbrett, das
aus mit Zahlen markierten Feldern besteht.
1 9 6 12
8 7 3 5
5 9 11 4
In einem Spielzug dürfen Sie eine Figur um genau ein Feld entweder in senkrechter oder in
waagerechter Richtung verschieben.
Sind x und y die Zahlen der Felder eines Spielzugs, so ist der Aufwand für diesen Spielzug
gleich (x − y)2 .
Wie müssen Sie die Figur bewegen, so daß Sie mit möglichst geringem Gesamtaufwand (Aufwandssumme) von der linken oberen Ecke in die rechte untere Ecke gelangen?
(a) Grenzen Sie kurz die Begriffe “uninformiertes Suchverfahren” und “informiertes Suchverfahren” ab.
(b) Was versteht man unter einem zulässigen Schätzer? Geben Sie für das oben dargestellte
Problem einen nichtrivialen zulässigen Schätzer an.
(c) Berechnen Sie eine optimale Zugfolge mit Hilfe Ihres zulässigen Schätzers. Stellen Sie
diese Berechnung dar (z.B. in Form eines Suchbaums oder als Tabelle).
Lösung:
(a) Suchverfahren, die über die Beschreibung des Zustandsraums hinaus keine Zusatzinformation benutzen, heißen uninformierte Suchverfahren.
Informierte Suchverfahren nutzen Problemwissen zur Steuerung des Suchprozesses, typischerweise in Form einer heuristischen Funktion h(s), die die Entfernung vom Zustand
s zu einem Zielzustand schätzt.
(b) Eine heuristische Funktion h heißt zulässiger Schätzer genau dann, wenn h die minimalen
Kosten von einem Zustand s bis zu einem Zielzustand niemals überschätzt, d.h. es gilt
h(s) ≤ h∗ (s) für alle Zustände s des Zustandsraums.
Es sei m die Anzahl der Zeilen, n die Anzahl der Spalten. Die Elemente des Spielbrettes
seien xi,j .
Ein Zustand s ist charakterisiert durch eine Position (i, j) auf dem Spielbrett. Um von
einer Position/Zustand (i, j) zum Endzustand (m, n) zu gelangen, müssen mindestens
die folgenden Spielzüge ausgeführt werden:
1
Name:
Matrikel:
– von Zeile i zu Zeile i + 1,. . .,von Zeile m − 1 zu Zeile m
– und von Spalte j zu Spalte j − 1,. . ., von Spalte n − 1 zu Spalte n
Wir definieren Größen, die beschreiben, welcher Aufwand mindestens beim Übergang
von der j − 1-ten zur j-ten Spalte bzw. von der i − 1-ten zur i-ten Zeile anfällt.
cj := min (xi,j−1 − xi,j )2
1≤i≤m
ist der kleinste Abstand zwischen Spalte j − 1 und Spalte j.
ri := min (xi−1,j − xi,j )2
1≤j≤n
ist der kleinste Abstand zwischen Zeile i − 1 und Zeile i.
Ein zulässiger Schätzer h ist dann:
m
X
h(i, j) =
n
X
ri +
k=i+1
cj
k=j+1
Veranschaulichung:
1
9
6
12
r2 = 4
8
3
7
5
r3 = 1
5
11
9
c2 = 1
c3 = 4
4
c4 = 4
Für den Startzustand (1, 1) ergibt sich h(1, 1) = 4 + 1 + 1 + 4 + 4 = 14. Eine optimale
Zugfolge vom Start bis zum Ziel hat also mindestens den Gesamtaufwand 14.
2
Name:
Matrikel:
(c) Suchbaum:
1.
(1,1)
Φ = 0 + 14
2.
(1,2)
Φ = 64 + 13
(2,1)
Φ = 49+10
6.
3.
(2,2)
Φ = 50 + 9
7.
(1,2)
Φ = 54 + 13
(2,3) 8.
Φ = 66 + 5
9.
(1,3)
Φ = 63 + 9
(2,4)
Φ = 70 + 1
(3,1)
Φ = 58 + 9
4.
(3,2)
Φ = 54 + 8
5.
(3,3)
Φ = 58 + 4
10.
(3,4)
Φ = 71 + 0
3
(3,4)
Φ = 107 + 0
Name:
Matrikel:
Aufgabe 2 (Inferenz in der Aussagenlogik, 20 Punkte)
(a) Stellen Sie die folgenden Aussagen als aussagenlogische Formeln dar:
– Für einen Autokauf stehen ein Kombi, ein Sportwagen und ein Smart zur Auswahl.
– Ein Sportwagen erfordert ein hohes Einkommen und eine Garage.
– Für eine Familie kommt kein Smart in Frage.
– Für eine Familie ohne hohes Einkommen kommt nur ein Kombi in Frage.
(b) Was versteht man unter einem Modell für eine Formel F ? Es seien F und G Formelmengen. Was bedeutet F |= G?
(c) Gegeben Sei die Formelmenge F = {F1 , F2 } mit:
F1 : i → j
F2 : ¬(j → k) → ¬i
Zeigen Sie mittels der Definition der semantischen Folgerung: F |= i → k
(d) Geben Sie den Modus Ponens und die Resolutionsregel an. Was versteht man unter einer
Resolvente?
(e) Zeigen Sie mittels Resolution für die Formelmenge aus (c): F |= i → k
Lösung:
(a)
– Kombi ∨ Sportwagen ∨ Smart
– Sportwagen → hohesEinkommen ∧ Garage
– F amilie → ¬Smart
– F amilie ∧ ¬hohesEinkommen → Kombi ∧ ¬Sportwagen ∧ ¬Smart
(b) Ein Modell für eine Formel F ist eine Σ-Interpretation, die F erfüllt.
Eine Interpretation I ist ein Modell für eine Formelmenge F gdw. I ein Modell für jedes
F ∈ F ist.
F |= G bedeutet, daß jedes Modell für F auch ein Modell für jede Formel G ∈ G ist.
(c) Wir ermitteln die Modelle für F :
Nr.
1.
2.
3.
4.
5.
6.
7.
8.
i
f
f
f
f
w
w
w
w
j
f
f
w
w
f
f
w
w
k
f
w
f
w
f
w
f
w
4
F1
w
w
w
w
f
f
w
w
F2
w
w
w
w
i→k
w
w
w
w
f
w
w
Name:
Matrikel:
Die Interpretationen 1. bis 4. und 8. sind Modelle für F . Jede dieser Interpretationen ist
auch ein Modell für i → k. Also gilt F |= i → k.
(d) Modus Ponens:
A, A → B
B
Resolutionsregel:
A → B, ¬A → C
B∨C
Eine Resolvente R ist die Klauselmenge, die sich durch die Anwendung der Resolutionsregel auf zwei Klauselmengen ergibt.
Seien K1 , K2 Klauseln und sei A eine atomare Formel mit A ∈ K1 und ¬A ∈ K2 . Dann
heißt die Klausel R mit
R = (K1 \ {A}) ∪ (K2 \ {¬A})
Resolvente von K1 und K2 .
(e) Zunächst Überführung der Formeln in KNF und Bildung der Klauseln:
– i → j ≡ ¬i ∨ j
K1 : {¬i, j}
– ¬(j → k) → ¬i ≡ ¬(¬j ∨ k) → ¬i ≡ ¬j ∨ k ∨ ¬i
K2 : {¬i, ¬j, k}
Die Hypothese wird negiert und ebenfalls in Klauselform überführt.
¬(i → k) ≡ ¬(¬i ∨ k) ≡ i ∧ ¬k
K3 : {i}
K4 : {¬k}
Ableitung der leeren Klausel:
K1 , K3
K2 , K5
K3 , K6
K4 , K7
{j}
{¬i, k}
{k}
2
5
K5
K6
K7
Name:
Matrikel:
Aufgabe 3 (Inferenz in der Pr¨
adikatenlogik, 20 Punkte)
(a) Stellen Sie die folgenden Sachverhalte in Prädikatenlogik erster Stufe so dar, Achten Sie
auch die Repräsentation von nicht explizit erwähnten Sachverhalten, so daß abgeleitet
werden kann, daß Jim eine Katze getötet hat.
– Jack besitzt einen Hund.
– Jeder Hundebesitzer ist ein Tierfreund.
– Tierfreunde töten keine Tiere.
– Jack oder Jim haben die Katze Mutzi getötet.
(b) Führen Sie für die folgenden Formeln eine Skolemisierung durch und überführen Sie die
Formeln anschließend in Klauselform:
(i)
∃X∀Y (P (X) ∧ (¬A(X) ∨ M (X, Y )))
(ii)
∀X∃Y ∃Z(¬P (X, Y ) ∨ (Q(X, Z) ∧ ¬R(X, Z)))
(c) Gegeben seien die folgenden Klauseln:
K1
K2
K3
K4
K5
K6
K7
:
:
:
:
:
:
:
{S(a)}
{¬L(Y ), A(a, Y )}
{¬S(W ), ¬L(U ), ¬B(U ), ¬A(W, U )}
{¬L(V ), ¬G(V, s), ¬S(Z), A(Z, V )}
{L(b)}
{G(b, s)}
{B(b)}
Leiten Sie mittels Resolution die leere Klausel ab. Skizzieren Sie die Ableitung (z.B. als
Baum oder Tabelle).
Lösung:
(a)
– ∃XDog(X) ∧ Owns(jack, X)
– ∀X(∃Y Dog(Y ) ∧ Owns(X, Y )) → AnimalLover(X)
– ∀XAnimalLover(X) → (∀Y Animal(Y ) → ¬Kills(X, Y ))
– Kills(jack, mutzi) ∨ Kills(jim, mutzi)
– Darüberhinaus muß man explizit ausdrücken, daß Mutzi eine Katze ist: Cat(mutzi)
– Weiterhin muß explizit ausgedrückt werden, daß Katzen Tiere sind:
∀XCat(X) → Animal(X)
6
Name:
Matrikel:
(b)
∀Y (P (a) ∧ (¬A(X) ∨ M (a, Y ))) ≡ P (a) ∧ ∀Y (¬A(a) ∨ M (a, Y ))
Klauseln: {P (a)} und {¬A(a), M ag(a, Y )}
Eleminierung von ∃Y durch Skolemfunktion f :
∀X∃Z(¬P (X, f (X)) ∨ (Q(X, Z) ∧ ¬R(X, Z)))
Eleminierung von ∃Z durch Skolemfunktion g:
∀X(¬P (X, f (X)) ∨ (Q(X, g(X)) ∧ ¬R(X, g(X)))
≡ ∀X((¬P (X, f (X)) ∨ Q(X, g(X))) ∧ (¬P (X, f (X)) ∨ ¬R(X, g(X))))
Klauseln: {¬P (X, f (X)), Q(X, g(X))} und {¬P (X, f (X)), ¬R(X, g(X))}
(c) Ableitung der leeren Klausel:
K1 , K3
K2 , K5
K5 , K8
K7 , K10
K9 , K11
{W/a} {¬L(U ), ¬B(U ), ¬A(a, U )}
{Y /b}
{A(a, b)}
{U/b}
{¬B(b), ¬A(a, b)}
{¬A(a, b)}
2
7
K8
K9
K10
K11
Name:
Matrikel:
Aufgabe 4 (Logikprogrammierung, 20 Punkte)
(a) Was ist eine Hornklausel? Welche Arten von Hornklauseln unterscheidet man? Geben Sie
für jeder Art von Hornklausel ein Beispiel in Prolog-Notation an.
(b) Gegeben Sei das folgende Prolog-Programm:
p(X,Y) :- q(X), r(Y).
q(X) :- s(X).
r(X) :- t(X).
s(a).
t(b).
t(c).
Was ergibt sich für die folgende Anfrage?
:- p(a,b).
Verdeutlichen Sie die Ableitung des Ergebnisses.
(c) Gegeben seien Fakten über Personen, die mit Hilfe der Relationen elternteil(X, Y )
(X ist Elternteil von Y ), geschlecht(X, S) (X hat Geschlecht S ∈ {m, w}) und
verheiratet(X, Y ) (Frau X ist mit Mann Y verheiratet) repräsentiert sind.
Formulieren Sie Prolog-Regeln für:
– X ist Mutter von Y .
– X ist Kusine von Y .
– X ist mütterlicherseits Vorfahr von Y .
(d) Definieren Sie ein Prolog-Prädikat, mit dem man prüfen kann, ob eine Liste von IntegerZahlen eine gerade Anzahl an ungeraden Zahlen enthält.
Lösung:
(a) Eine Hornklausel ist eine Klausel mit höchstens einem positiven Literal.
Arten von Hornklauseln in Prolog-Notation:
– Regel: B :- A.
– Fakt: A.
– Zielklausel: :- B.
(b) Als Antwort ergibt sich “yes”. Ableitung:
8
Name:
Matrikel:
Ziel- bzw. Zentralklausel
:- p(a,b)
:- q(a), r(b)
:- s(a), r(b)
:- r(b)
:- t(b)
yes
(c)
Seitenklausel (Regel oder Fakt)
p(X,Y) :- q(X), r(Y)
q(X) :- s(X)
s(a)
r(X) :- t(X)
t(b)
mutter(X,Y) :- elternteil(X,Y), geschlecht(X,w).
kusine(X,Y) :- geschlecht(X,w),
elternteil(A,X), elternteil(B,Y), A \== B,
elternteil(E,A), elternteil(E,B).
vorfahr(X,Y) :- elternteil(X,Y).
vorfahr(X,Y) :- elternteil(X,Z), vorfahr(Z,Y).
mvorfahr(X,Y) :- mutter(X,Y).
mvorfahr(X,Y) :- mutter(Z,Y), vorfahr(X,Z).
(d)
g([]).
g([X|Y]) :- 1 is X mod 2, u(Y).
g([X|Y]) :- 0 is X mod 2, g(Y).
u([X]) :- 1 is X mod 2.
u([X|Y]) :- 1 is X mod 2, g(Y).
u([X|Y]) :- 0 is X mod 2, u(Y).
9
Herunterladen