Klausur Kognitive Systeme I: Intelligente Agenten

Werbung
Professur für Angewandte Informatik / Kognitive Systeme
Prof. Dr. Ute Schmid
Klausur Kognitive Systeme I: Intelligente Agenten
17.2.05
Erlaubte Hilfsmittel: Alles (Bücher, Skripten, Ordner, Wörterbuch)
Bearbeitungszeit: 90 Minuten
Die Klausur besteht aus sieben Aufgaben, von denen sechs bearbeitet werden müssen.
Mit jeder Aufgabe können 15 Punkte, insgesamt können 90 Punkte erreicht werden.
Falls alle sieben Aufgaben bearbeitet wurden, werden die ersten sechs bearbeiteten
Aufgaben bewertet. Soll von sieben bearbeiteten Aufgaben eine der ersten sechs bearbeiteten Aufgaben nicht, dafür aber die letzte Aufgabe bewertet werden, so ist die
Bearbeitung der nicht zu bewertenden Aufgabe durchzustreichen.
1 Suche
1. (2 Punkte) Ist Breitensuche vollständig? Begründen Sie Ihre Antwort kurz.
2. (2 Punkte) Welche Suchstrategie erhält man, wenn man A* mit der trivialen Heuristik, die die Restkosten für jeden Zustand mit 0 schätzt, anwendet? Begründen
Sie Ihre Antwort kurz.
3. (2 Punkte) Welche Suchstrategie erhält man, wenn man A* mit der trivialen Heuristik, die die Restkosten für jeden Zustand mit 0 schätzt, auf ein Problem anwendet, in dem die Kosten zum Erreichen eines Nachfolgezustands immer gleich 1
sind? Begründen Sie ihre Antwort kurz.
4. (4 Punkte) Angenommen, A* wird neben der Queue um eine zusätzliche Datenstruktur, die sogenannte Closed List, erweitert, die zu Beginn lediglich den Startzustand enthält. Der Zirkeltest und der Test auf gleiche Endknoten werden gestrichen. Stattdessen werden, wenn ein Pfad expandiert wurde, die neuen Endknoten
mit den Einträgen in der Closed List verglichen. Alle neuen Pfade, deren Endknoten bereits in der Closed List vorkommen, werden gelöscht. Alle anderen Pfade
werden in die Queue übernommen und deren Endknoten werden zusätzlich in die
Closed List kopiert.
Warum ist A* dann nicht mehr optimal?
5. Letzte Teilaufgabe auf der nächsten Seite.
1
5. (5 Punkte) Gegeben seien folgender Zustandsraum
11
12
s1
s3 10
s2
s4
20
18
s5
mit Zielknoten s5 und folgende Restkostenschätzungen:
h∗ (s1) = h∗ (s2) = h∗ (s3) = 17
h∗ (s4) = 15
h∗ (s5) = 0
Wenden Sie den A*-Algorithmus (wie in der Vorlesung definiert) auf den gegebenen Zustandsraum mit Startzustand s1 und der gegebenen Restkostenschätzung
an. Notieren Sie für jeden Suchschritt die Queue. Unterstreichen Sie jeweils den
zu expandierenden Pfad. Notieren Sie zu allen Endknoten die Pfadkosten und die
Restkostenschätzung.
2 Planen: STRIPS
Ein Puzzle bestehe aus vier Plättchen, zwei weißen und zwei schwarzen, und fünf nebeneinanderliegenden Zellen Z1 bis Z5, die jeweils ein Plättchen aufnehmen können.
Ein möglicher Zustand wäre der folgende, wobei w ein weißes und s ein schwarzes
Plättchen und f die freie Zelle bezeichnen.
Z1 Z2 Z3 Z4 Z5
s
f
w w
s
In einem Spielzug Move darf ein Plättchen in die freie Zelle verschoben werden, falls
es in der linken benachbarten oder in der übernächsten rechten Zelle liegt. (In der Grafik
sind die beiden aktuell möglichen Züge durch Pfeile markiert.)
1. (2 Punkte) Modellieren Sie durch eine geeignete Anzahl von Instanzen eines (statischen) Prädikats legal(?x, ?y), zwischen welchen Zellen grundsätzlich ein
Wechsel stattfinden darf. (Eine solche Instanz ist z.B. legal(Z3,Z4).)
2
2. (10 Punkte) Formulieren Sie den Operator Move in STRIPS. Machen Sie dabei
von dem Prädikat legal(?x, ?y) Gebrauch.
Hinweis: Im Prinzip ist es möglich, Move durch ein einziges Schema zu definieren, Sie können es
jedoch auch durch zwei Schemata definieren, falls Ihnen das leichter fällt.
3. (3 Punkte) Formulieren Sie den in der Grafik gezeigten Zustand sowie das Ziel,
in dem sich die beiden weißen Plättchen in den Zellen Z1 und Z2 und die beiden
schwarzen Plättchen in den Zellen Z3 und Z4 befinden, im STRIPS-Stil.
Hinweis: Sie können in der Zustandsbeschreibung die statischen legal-Prädikate weglassen.
3 Planen allgemein
1. (8 Punkte) Graphplan-Simulation: Folgender Operator aus der Blocksworld sei
gegeben:
Put(?x,?y)
PRE { on(?x,?z), clear(?x), clear(?y) }
ADD { on(?x,?y), clear(?z) }
DEL { on(?x,?z), clear(?y) }
Übertragen Sie den folgenden Startzustand als Level S0 eines Planning Graphen
auf Ihr Lösungsblatt:
{ on(A, B), on(B, C),
ontable(C), ontable(D),
clear(A), clear(D)
}
Zeichnen Sie nun den Aktionslevel A0 und den darauffolgenden Zustandslevel S1 ,
jeweils inklusive Mutex-Links, ein.
Hinweis: PRE- und ADD-Kanten müssen Sie, DEL-Kanten können Sie (gestrichelt oder sonstwie
von den ADD-Kanten unterscheidbar) einzeichnen.
2. (3 Punkte) Graphplan allgemein: Begründen Sie, weshalb sich ab einem bestimmten Level im Planning Graphen die Menge der Prädikate nicht mehr ändert.
3. (3 Punkte) Warum führt das Weglassen der DEL-Listen in einer Domain zu einem
relaxierten Problem?
4. (1 Punkt) Welche wichtige Eigenschaft fehlt linearen Planern?
3
4 Logik allgemein
Folgende Formel sei gegeben (Meier und Karstadt seien Konstante):
A = ∀k∀l [kunde(k, l) → ∃w gekauft(k, w)] ∧
∀k∀w [gekauft(k, w) → eigentum(k, w)] ∧
kunde(Meier, Karstadt)
Diese Formel ist wohlgeformt hinsichtlich der Signatur Σ = (S, OP, R) mit
S = {kunden, waren, läden}, OP = {Meier :→ kunden, Karstadt :→ läden} und
R = {kunde : (kunden, läden), gekauft : (kunden, waren), eigentum : (kunden, waren)}.
1. (5 Punkte) Formulieren Sie ein Modell passend zu Σ für die Formel A.
2. (5 Punkte) Formulieren Sie eine Struktur passend zu Σ, die kein Modell für die
Formel A ist.
3. (5 Punkte) Betrachten Sie die drei folgenden Termpaare (x, y seien Variable, B, C
Konstante):
a) { f(x, g(h(y), C)), f(B, g(y, C)) }
b) { f(x, g(h(B), y)), f(h(y), g(h(y)), y) }
c) { f(B, g(x)), f(C, y) }
Entscheiden Sie jeweils, ob die beiden Terme unifizierbar sind oder nicht und
geben Sie jeweils entweder einen Unifikator oder eine kurze Begründung an.
5 Logik: Resolution
1. (12 Punkte) Folgende Klauselmenge sei gegeben (k1 , l1 , w1 , k2 , w2 seien Variable,
Meier, Karstadt, B, C seien Konstante):
{ ¬kunde(k1 , Karstadt) ∨ gemietet(k1 , B)
¬kunde(k2 , Karstadt) ∨ gekauft(k2 , C)
¬gekauft(k3 , w1 ) ∨ eigentum(k3 , w1 ),
kunde(Meier, Karstadt)
}
Beweisen Sie daraus die folgende Formel durch Resolution:
∃k∃w∃w 0 [eigentum(k, w) ∧ gemietet(k, w 0 )]
Negieren Sie dazu die Formel und wandeln Sie sie anschließend in Klauselform
um. Zeichnen Sie den Refutationsbaum auf.
4
2. (3 Punkte) Führen Sie für die folgende Formel die ersten drei Schritte (1. Implikationen entfernen, 2. Negationen nach innen ziehen, 3. Skolemisierung) zur Umformung in Klauselform durch und notieren Sie das Ergebnis aus jedem Schritt:
¬∀x [prim(x) → greater(x, 10)]
6 Lernen
Folgende Trainingsmenge sei gegeben:
Beispiel x1 x2 x3
e1
−1 −1
1
e2
1 −1
1
e3
1
1 −1
e4
1
1
1
e5
−1
1 −1
Klasse
−1
−1
1
−1
1
1. (6 Punkte) Wenden Sie den Algorithmus ID3 auf diese Trainingsmenge an. Berechnen Sie keinen Information-Gain, sondern fügen Sie die Merkmale in der
Reihenfolge x1 , x2 , x3 ein. Notieren Sie für jede Rekursionstiefe den bis dahin
aufgebauten Baum. Solange ein Blatt noch nicht eindeutig einer Klasse zugeordnet ist, markieren Sie es mit den Namen der Beispiele, die dem Blatt zugeordnet
sind.
2. (3 Punkte) Gegeben seien fünf Beispiele b1 , . . . , b5 . b2 habe Klassenzugehörigkeit
1, alle anderen Klassenzugehörigkeit −1. Schätzen Sie, welche Entropie höher ist:
Die von e1 , . . . , e5 oder die von b1 , . . . , b5 ? Begründen Sie Ihre Antwort kurz.
3. (2 Punkte) Betrachten Sie nochmals die Beispiele e1 , . . . , e5 . Schätzen Sie, welcher Information-Gain höher ist: Der von x1 oder der von x3 . Begründen Sie ihre
Antwort kurz.
4. (4 Punkte) Definieren Sie in Form eines erweiterten Gewichtsvektors (w 0 , w1 , w2 )
ein Perzeptron, welches das Beispiel e1 korrekt klassifiziert. (Wie es die anderen
Beispiele klassifiziert, soll egal sein.) Geben Sie anschließend die Linearkombination und ihr Ergebnis für dieses Perzeptron angewandt auf e1 an.
5
7 Prolog
(15 Punkte) Eine einfache Grammatik sei durch folgende Regeln definiert:
s ⇒ np vp
np ⇒ art nom
vp ⇒ verb | verb np
Dabei steht s für Satz, np für Nominalphrase, vp für Verbphrase, art für Artikel, nom
für Nomen und verb für Verb. Ein ⇒ bedeutet, dass das was links steht sich zusammensetzt aus dem was rechts steht. Die erste Regel besagt also, dass ein Satz aus einer
Nominalphrase gefolgt von einer Verbphrase steht. Das | steht für oder. Die letzte Regel
besagt also, dass eine Verbphrase aus einem Verb oder einem Verb gefolgt von einer
Nominalphrase besteht.
Sätze seien in Prolog repräsentiert als Listen, z.B. [the, dog, eats, the, cat].
art, nom und verb seien durch Prolog-Fakten definiert, z.B. durch folgende:
art([the]).
nom([dog]).
nom([cat]).
verb([eats]).
Definieren Sie Prolog-Regeln für s/1, np/1 und vp/1, so dass Prolog auf eine Anfrage s(Satz) genau dann yes. antwortet, wenn Satz eine Liste ist, die einen Satz
gemäß der oben gegebenen Grammatik und den Fakten für art, nom und verb repräsentiert. (Z.B. müsste s([the, dog, eats, the, cat]) wahr sein, da sich dieser
Satz mittels der Grammatik und der Fakten aus s ableiten lässt.)
6
Herunterladen