• Keine Ergebnisse gefunden

Universität des Saarlandes Fakultät 6 - Fachrichtung 6.2 - Informatik

N/A
N/A
Protected

Academic year: 2022

Aktie "Universität des Saarlandes Fakultät 6 - Fachrichtung 6.2 - Informatik"

Copied!
60
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

1. Übung

Aufgabe 1 [Begriffe] (6 Punkte)

Erläutern Sie kurz folgende Begriffe. Sie können dafür externe Informationsquellen wie das Internet heranziehen.

(1) Wissensrepräsentation (2) Wissensbasis

(3) Semantisches Netz

(4) Künstliches Neuronales Netz (5) Fuzzy Logic

(6) Konzeptsprache

Aufgabe 2 [T-Box/A-Box] (2 Punkte)

Beschreiben Sie mit eigenen Worten, welches Wissen jeweils in der T-Box und A-Box eines terminologischen Systems repräsentiert wird.

Aufgabe 3 [Wissensverarbeitung] (4 Punkte)

Erklären Sie anhand eines Beispiels die Unterschiede zwischen Datenverarbeitung und Wissens- verarbeitung.

Abgabe am Mittwoch, den 06.09.2006 morgens nach der Vorlesung.

(2)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

1. Übung

Lösungsvorschlag

Aufgabe 1 [Begriffe]

(1) Wissensrepräsentation:

Wissensrepräsentation ist eine Theorie, die zu einer gegebenen Problemstellung und einer verfügbaren Wissensquelle einen dazu passenden Formalismus (bzw. Formalismen) bereitstellt, der die Akquisition (d.h. die Erwerbung) des erforderlichen Wissens aus der genannten Quelle in einer Form ermöglicht, die dieses Wissen für den Menschen und für die Maschine verständlich repräsentiert und zur möglichst effizienten Problemlösung beiträgt.

(2) Wissensbasis

Die Wissensbasis (engl. knowledge base) enthält das Wissen, welches einem

wissensverarbeitendem KI-System (z.B. Expertensystem) zur Verfügung steht. Sie stellt also quasi eine Datenbank für Wissen dar und verfügt über eine exakte Struktur, mit deren Hilfe Konzepte klassifiziert und eingeordnet werden (z.B. semantisches Netz).

(3) Semantisches Netz

Ein semantisches Netz dient der Repräsentation einer Menge von Konzepten, Rollen, ihren Eigenschaften und Beziehungen zwischen diesen. Es kann zur Beschreibung der Wissensbasis eines KI-Systems verwendet werden und wird meist als Graph dargestellt.

(4) (Künstliches) Neuronales Netz

Ein künstliches Neuronales Netz (engl. artificial neural network) stellt ein Rechenmodell dar, welches in Grundzügen der Arbeitsweise des menschlichen Gehirns nachempfunden ist. Dabei stellen Neuronen (die Nervenzellen des Gehirns) die Grundeinheiten des Modells dar, welche jeweils mehrere Inputs und einen Output besitzen, und die netzartig miteinander verbunden sind. Ein KNN wird in der KI zum automatischen Lernen und späteren Klassifizieren bestimmter Muster in Datenreihen eingesetzt (Machine Learning).

(5) Fuzzy Logic

Bei der Fuzzy Logic, einer Erweiterung der zweiwertigen Booleschen Logik, existieren zusätzlich zu den Zuständen Wahr (True, 1) und Falsch (False, 0) noch beliebige

(3)

Zwischenwerte ]0..1[. Fuzzy Logic findet u.a. in der Robotik Einsatz.

(6) Konzeptsprache

Eine Konzeptsprache (auch Terminologische Logik oder Termsubsumptionssprache, engl.

description logics) ist eine Sprache zur Wissensrepräsentation. Meist unterscheidet eine Konzeptsprache zwischen terminologischem Wissen (→ T-Box) und instanzenbezogenem Wissen (→ A-Box). Beispiele für solche Sprachen sind KL-ONE und SB-ONE.

Aufgabe 2 [T-Box/A-Box]

Sowohl die T-Box, als auch die A-Box enthalten Formeln, welche die Wissensbasis eines Systems beschreiben.

T-Box (Terminological Box):

Die T-Box enthält Definitionen von Begriffen als abstrakte Repräsentationen. Hier befindet sich das Wissen über die Konzepte einer Domäne. Terminologie = wissenschaftliche Systematik für den Aufbau eines Fachwortschatzes.

A-Box (Assertional Box):

Hier befindet sich das Wissen über konkrete Instanzen (Assertionen) von Konzepten aus der T-Box.

Die A-Box repräsentiert den Zustand der modellierten Welt.

Aufgabe 3 [Wissensverarbeitung]

Erläuterung der Unterschiede zwischen Datenverarbeitung und Wissensverarbeitung am Beispiel

„Bahnauskunft“ (vgl. Skript):

Datenverarbeitung Wissensverarbeitung Kunde füllt ein statisches Suchformular mit

Angaben zur gewünschten Strecke aus.

(Automatisierung monotoner, klar strukturierter und wohldefinierter Informationsverarbeitungsprozesse)

Kunde wird über ein komplexes Dialogsystem mit Korrekturmöglichkeit, variabler

Datenspezifikation und natürlichsprachiger Interaktion durch die Dateneingabe geführt.

(Automatisierung komplexer

Informationsverarbeitungsprozesse, die den intelligenten Umgang mit diffusem Wissen erfordern.)

Eine typische Interaktion mit einem Bahnbeamten wird als Referenz zugrunde gelegt, um daraus eine statische Suchmaske für ein Auskunftsprogramm zu erstellen.

(Zu automatisierende Verarbeitungsabläufe sind aus nichtautomatisierten Informations verarbeitungsprozessen bekannt)

Das Auskunftssystem versucht, die erhaltenen Informationen (evtl. auch Metainformationen wie z.B. Zögern bei der Antwort) möglichst ergiebig in den Dialogprozess zu integrieren, anstatt einen bestimmten Pfad vorzugeben.

(Zu automatisierende Verarbeitungsabläufe sind kognitive Prozesse und daher nicht direkt beobachtbar)

(4)

Entwickler schreibt Benutzeroberfläche zur Eingabe der zur Ausstellung eines Tickets erforderlichen Daten, Streckenverbindungen werden in die Datenbank eingegeben.

(Systementwickler schreibt mit Hilfe seines Wissens über den Anwendungsbereich ein Programm)

Experte (z.B. Bahnbeamter) bringt dem wissensbasierten System (z.B.

Fahrkartenautomat) bei, welche Informationen zur Ausstellung eines Tickets benötigt werden, wie diese zusammen hängen und welche weiteren „typischen“ Anfragen von Kunden gestellt werden u.ä.

(Wissensträger transferiert sein Wissen über den Anwendungsbereich in ein

wissensbasiertes System) Verarbeitung zentriert um Datensätze des Typs

„Verbindung“ mit Feldern wie „Abfahrtszeit“

und „Klasse“.

(Hauptsächlich Verarbeitung homogen strukturierter Massendaten (viele Instanzen, wenig Typen))

System kennt wesentlich mehr Konzepte, z.B.

Benutzermodelle (→ Partnermodell), und interpretiert Felder wie „Klasse“ nun als eigene Konzepte.

(Verarbeitung heterogen strukturierter Wissenseinheiten (wenig Instanzen, viele Typen))

Alternatives Beispiel: Buchbestellung

Datenverarbeitung: Bestellung eines Buches bei Amazon im Internet Wissensverarbeitung: Bestellung eines Buches in einer Buchhandlung

• Ist die Schreibweise des namens eines Autors unsicher (Nielsen/Nilson), liefert Amazon unter Umständen kein oder ein falsches Ergebnis. Der Buchhändler kann aufgrund seiner

Erfahrung/seines Wissens solche Fehler kompensieren und das gewünschte Buch (schneller) finden.

• Bei einem Buchhändler besteht die Möglichkeit, nach einem „spannenden Buch“ zu fragen.

Obwohl in der Datenbank von Amazon zwar eine riesige Auswahl unterschiedlicher Bücher erfasst ist, sind solche Anfragen nicht möglich. Der Buchhändler ist also durch sein Wissen in der Lage, besser auf individuelle Kundenwünsche einzugehen (Type vs. Instanzen).

• Der Buchhändler kann direkt auf sein Gegenüber eingehen, indem er z.B. einem Erwachsenen keine Kinderbücher vorschlagen wird. Bei Amazon dagegen werden alle Bücher zu einem Suchbegriff vorgeschlagen, ohne deren Eignung für den jeweiligen Kunden zu

berücksichtigen (Partnermodell).

• Die Komplexität von Amazon ist hauptsächlich auf die Unmenge der gespeicherten Daten zurückzuführen, beim Buchhändler wird die Komplexität durch dessen Wissen/Erfahrung repräsentiert.

(5)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

2. Übung

Aufgabe 1 [Konzeptbeschreibung] (4 Punkte)

Nehmen Sie folgende Konzeptdefinitionen als vollständig definiert an:

Person(x) ⇒ geschlecht(x) = männlich ∨ geschlecht(x) = weiblich Erwachsen(x) ⇒ Person(x)

Frau(x) ⇔ Erwachsen(x) ∧ geschlecht(x) = weiblich Mann(x) ⇔ Erwachsen(x) ∧ geschlecht(x) = männlich

Beschreiben Sie mit diesen atomaren Konzepten folgende neuen Konzepte:

(1) Elternteil(x) (2) Mutter(x)

(3) Großelternteil(x) (4) Großmutter(x)

Hinweise:

• Verwenden Sie in Ihrer Beschreibung für (1) und (3) die Rolle kind(x).

• In dieser Aufgabe gibt es folgende Rollen: geschlecht(x) und kind(x).

Aufgabe 2 [Taxonomien] (6 Punkte)

Ein Online-Shop wie Amazon.de verwendet Kategorien zur Einordnung seiner Produkte. Geben Sie eine Taxonomie in grafischer Darstellung an, welche die Semantik eines kleinen Ausschnitts der Kategorien eines Online-Shops darstellt.

Es sollten zumindest 3 Kategorien erster Ebene modelliert werden, welche das allgemeinste Konzept spezialisieren. Finden Sie Beispiele für primitive und disjunkte Klassen, für Partitionen und Überdeckungen, sowie für Konzepte, die von mehreren Oberkonzepten subsumiert werden, und markieren Sie diese entsprechend in Ihrer Grafik. Verwenden Sie die in der Vorlesung vorgestellte Notation.

(6)

Aufgabe 3 [Rollenbeziehungen] (5 Punkte)

Stellen Sie folgende Rollenbeziehung grafisch dar:

„Die Nummer, die auf dem Display des Telefons erscheint, ist die Nummer des Anschlusses der Person, die den Anschluss des Telefons gewählt hat.“

Ergänzen Sie – wo sinnvoll – die Rollen des Graphen um Anzahlrestriktionen.

Hinweis: Falls Sie ein Knowledge Representation System ausprobieren möchten, finden Sie auf der Homepage Links und Hilfen zu dem in der Vorlesung erwähnten Werkzeug KRIS.

Aufgabe 4 [Aktionssemantik in RAT] (5 Punkte) Gegeben sei folgende Taxonomie:

a) Definieren Sie atomare Aktionen für RAT in der Syntax aus der Vorlesung, welche einen Geschirrspülvorgang bestehend aus folgenden Teilschritten modellieren:

Spülmaschine öffnen, Geschirr aufnehmen, Geschirr in die Maschine einräumen, Spülmittel aufnehmen, Spülmittel einfüllen, Maschine schließen, Maschine einschalten.

b) Geben Sie den Spülvorgang als Aktionssequenz mit passenden Constraints an.

Abgabe am Montag, den 11.09.2006 morgens nach der Vorlesung.

(7)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

2. Übung

Lösungsvorschlag

Aufgabe 1 [Konzeptbeschreibung]

Elternteil(x) ⇔ Person(x) ∧ ∃ y ( kind(x) = y ∧ Person(y) ) Mutter(x) ⇔ Elternteil(x) ∧ geschlecht(x) = weiblich Großelternteil(x) ⇔ Person(x) ∧ ∃ y ( kind(x) = y ∧ Elternteil (y) ) Großmutter(x) ⇔ Großelternteil (x) ∧ geschlecht(x) = weiblich

Aufgabe 2 [Taxonomien]

(8)

Aufgabe 3 [Rollenbeziehungen]

Aufgabe 4 [Aktionssemantik in RAT]

a)

(defaction GESCHIRR-AUFNEHMEN

(actpars ( (G GESCHIRR) (P PERSON) (T TISCH) ) (before (G.position = T.auf) )

(before (P.hand.inhalt: LEER) ) (after (G.position = P.hand.innen) ) (after (P.hand.inhalt: G) )

(defaction GESCHIRR-EINRÄUMEN

(actpars ( (G GESCHIRR) (P PERSON) (M SPÜLMASCHINE) ) (before (G.position = P.hand.innen) )

(before (M.tür.status: OFFEN) ) (after (G.position = M.innen) ) (after (P.hand.inhalt: LEER) ) (defaction SPÜLMITTEL-AUFNEHMEN

(actpars ( (S SPÜLMITTEL) (P PERSON) (T TISCH) ) (before (S.position = T.auf) )

(before (P.hand.inhalt: LEER) )

(9)

(after (S.position = P.hand.innen) ) (after (P.hand.inhalt: S) )

(defaction SPÜLMITTEL-EINFÜLLEN

(actpars ( (S SPÜLMITTEL) (P PERSON) (M SPÜLMASCHINE) ) (before (S.position = P.hand.innen) )

(before (M.tür.status: OFFEN) )

(after (S.position = M.spülmittelfach.innen) ) (after (P.hand.inhalt: LEER) )

(defaction SPÜLMASCHINE-ÖFFNEN

(actpars ( (P PERSON) (M SPÜLMASCHINE) ) (before (M.tür.status: GESCHLOSSEN) ) (before (M.status: AUS) )

(before (P.hand.inhalt: LEER) ) (after (M.tür.status: OFFEN) ) (defaction SPÜLMASCHINE-SCHLIEßEN

(actpars ( (P PERSON) (M SPÜLMASCHINE) ) (before (M.tür.status: OFFEN) )

(before (M.status: AUS) ) (before (P.hand.inhalt: LEER) )

(after (M.tür.status: GESCHLOSSEN) ) (defaction SPÜLMASCHINE-EINSCHALTEN

(actpars ((S SPÜLMITTEL) (P PERSON) (M SPÜLMASCHINE) ) (before (M.status: AUS) )

(before (M.tür.status: GESCHLOSSEN) ) (before (S.position = M.spülmittelfach.innen) ) (before (P.hand.inhalt: LEER) )

(after (M.status: EIN) ) b)

(defaction SPÜLVORGANG

(actpars ( (P PERSON) (M SPÜLMASCHINE) (G GESCHIRR) (T TISCH) (S SPÜLMITTEL) )

(sequence

(A1 SPÜLMASCHINE-ÖFFNEN)

(loop while exists GESCHIRR G ∧ G.position = T.auf:

(A2a GESCHIRR-AUFNEHMEN)

(A2b GESCHIRR-EINRÄUMEN)

)

(A3 SPÜLMITTEL-AUFNEHMEN)

(A4 SPÜLMITTEL-EINFÜLLEN)

(A5 SPÜLMASCHINE-SCHLIEßEN)

(A6 SPÜLMASCHINE-EINSCHALTEN) )

(constraints

(equal P (A1 P) (A2a P) (A2b P) (A3 P) (A4 P) (A5 P) (A6 P)) (equal M (A1 M) (A2b M) (A4 M) (A5 M) (A6 M))

(10)

(equal G (A2a G) (A2b G)) (equal T (A1 T) (A2a T))

(equal S (A3 S) (A4 S) (A6 S)) ) )

(11)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

3. Übung

Aufgabe 1 [Denotationelle Semantik] (2 + 4 Punkte)

Gegeben sind folgende Konzeptdefinitionen in konkreter Form:

A: and (AUTO) (atleast 2 Sitz (LEDER)) (not some Sitz (STOFF))

B: and (or AUTO LKW) (or (exact 1 Farbe (ROT)) (exact 1 Farbe (GRÜN))) (atmost 3 Sitz)

C: or (and (AUTO) (optatleast 3 Sitz (STOFF))) (and (LKW) (atmost 2 Sitz (not STOFF))

D: and (LKW) (exact 1 Farbe (GRÜN)) (exact 1 Sitz (STOFF)) (exact 2 Sitz (LEDER))

a) Wandeln Sie die Konzeptdefinitionen mit Hilfe der in der Vorlesung vorgestellten Regeln in Mengenausdrücke über einer Interpretation ℑ = <D, 〚·〛> um.

b) Welche Subsumptionsbeziehungen gelten zwischen A, B, C und D? Weisen Sie diese mit Hilfe der Ausdrücke aus Teil (a) nach.

Aufgabe 2 [Produktionensysteme] (2 + 1 + 1 Punkte)

Das folgende Produktionensystem soll die ersten 7 Fibonacci-Zahlen ausgeben. Hierbei liefert PLUS(X, Y) die Summe von X und Y und SUCC(X) den Nachfolger von X (also X+1):

WM: (START) (P 0) (Q 1) (ENDE 5)

R1: (START) & (P X1) & (Q X2) Æ

LÖSCHE (START), ERGÄNZE (COUNT 0), ERGÄNZE (TEMP 0), ERGÄNZE (CALC), DRUCKE (X1 X2)

R2: (ENDE X1) & (COUNT X1) Æ STOP

R3: (CALC) & (P X1) & (Q X2) & (TEMP X3) Æ

LÖSCHE (CALC), ERSETZE (X3, PLUS(X1, X2), (TEMP X3)), ERGÄNZE (PRINT)

(12)

R4: (PRINT) & (TEMP X3) & (COUNT X4)Æ

LÖSCHE (PRINT), ERGÄNZE (SHIFT), DRUCKE(X3), ERSETZE (X4, SUCC(X4), (COUNT X4))

R5: (SHIFT) & (P X1) & (Q X2) & (TEMP X3) Æ

LÖSCHE (SHIFT), ERSETZE (X1, X2, (P X1)), ERSETZE (X2, X3, (Q X2))

a) Berechnen Sie die Ausgabe des Produktionensystems bis keine der angegebenen Regeln mehr feuert. Geben Sie jeweils den Zustand der Datenbasis, die Konfliktmenge, die Instanziierung der feuernden Regel, die eventuelle Ausgabe und die Auswirkungen auf die Datenbasis an.

Beispiel:

WM: (START) (P 0) (Q 1) (ENDE 5) Konfliktmenge: {R1}

[R1 ((START) (P 0) (Q 1))]

Ausgabe: 0 1

WM: (COUNT 0) (TEMP 0) (CALC) (P 0) (Q 1) (ENDE 5) Konfliktmenge: …

b) Offensichtlich ist in obigem Produktionensystem ein Fehler, denn Regel R2 feuert nie.

Ändern Sie R5 so ab, dass das Produktionensystem solange den Regelzyklus R3, R4, R5 wiederholt bis R2 feuert.

c) Das obige Regelsystem ist unabhängig von der verwendeten Konfliktauflösungsstrategie.

Warum? Ist es sinnvoll ein solches Produktionensystem zu schreiben?

Aufgabe 3 [Einarbeitung in OPS5] (2 + 3 Punkte)

Auf der Vorlesungshomepage finden Sie einen Link zu OPS5 sowie Instruktionen zu dessen Installation.

a) Installieren Sie sich OPS5 und arbeiten Sie sich mit Hilfe des Affe-Banane-Beispiels und der Kurzeinführung (ebenfalls von der Homepage) in das System ein.

b) Übersetzen Sie das Produktionensystem von Aufgabe 2 nach OPS5 und lassen Sie es laufen (mailen Sie den Sourcecode ihrem Bremser).

c) Ändern Sie das Affe-Banane-Beispiel derart ab, dass der Affe noch eine Verlängerung von 40 cm auf den Stock schrauben kann (mailen Sie den Sourcecode ihrem Bremser).

(13)

Aufgabe 4 [Konfliktauflösungsstrategien] (2 + 3 Punkte)

Nehmen Sie ein Produktionensystem mit der folgenden Datenbasis WM als gegeben an:

WM ( (P S) (Q T) (P T) (R V) (Q S) . . . (W V) (W T) )

Die Datenbasiselemente in WM sind von links nach rechts auf der Basis steigender Verweildauer geordnet. Dabei seien die Elemente (P S) und (Q T) im letzten Zyklus, die Elemente (P T), (R V) und (Q S) beim vorletzten Zyklus und die Elemente (W V) und (W T) vor 100 Zyklen im WM abgespeichert worden.

Folgende Produktionsregeln sind in der Reihenfolge ihrer Eingabe abgelegt.

P1 ( (P =X) (=Y S) (W =X) Æ … ) P2 ( (=X S) (=X T) Æ … )

P3 ( (=X S) (=X T) (R V) (W =Y) Æ … )

P4 ( (Q =X) (P =X) ¬(M N) (W V) ¬(N U) Æ ... )

a) Stellen Sie die zugehörigen Instantiierungen zu den vier angegebenen Prämissen auf.

b) Welche der drei in der Vorlesung vorgestellten Spezialisierungsrelationen SC treffen hier zu? Begründen Sie Ihre Antwort!

Aufgabe 5 [Vererbungsnetze] (3 + 2 Punkte) a) Gegeben sei folgendes Vererbungsnetz:

Geben Sie leichtgläubige, skeptische und ideal skeptische Extension(en) vollständig an.

Hinweis: Sie können die Namen der Knoten mit V, D, P, A, S und G abkürzen.

(14)

b) Gegeben sei folgendes Vererbungsnetz:

Zeigen Sie anhand dieses Beispiels, dass gekoppelte und entkoppelte Vererbung unterschied- liche Extension(en) produzieren können.

Aufgabe 6 [Vererbungskonflikte] (5 Punkte)

Geben Sie für jedes der folgenden 5 Vererbungsnetze an, ob sie Konflikte enthalten, und falls ja, mit welcher Methode die Konflikte in leichtgläubigen Extensionen gelöst werden (Widerspruch, On-Path-Preemption oder Off-Path-Preemption).

Abgabe am Montag, den 18.09.2006 morgens nach der Vorlesung.

(15)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

3. Übung

Lösungsvorschlag

Aufgabe 1 [Denotationelle Semantik]

a)

Konzept A:

〚AUTO〛

∩ {d ∈ D | |〚sitz〛 (d) ∩〚LEDER〛 | ≥ 2}

∩ D \ {d ∈ D |〚sitz〛 (d) ∩〚STOFF〛 ≠ ∅}

Konzept B:

(〚AUTO〛 ∪〚LKW〛)

∩ ( {d ∈ D | |〚farbe〛 (d) ∩〚ROT〛 | = 1} ∪ {d ∈ D | |〚farbe〛 (d) ∩〚GRÜN〛 | = 1} )

∩ {d ∈ D | |〚sitz〛 (d) | ≤ 3}

Konzept C:

(〚AUTO〛 ∩{d ∈ D |〚sitz〛 (d) ∩〚STOFF〛 ≠ ∅∨|〚sitz〛 (d) ∩〚STOFF〛 | ≥ 3} )

∪ (〚LKW〛 ∩{d ∈ D | |〚sitz〛 (d) ∩ D \〚STOFF〛 | ≤ 2} ) Konzept D:

〚LKW〛

∩ {d ∈ D | |〚farbe〛 (d) ∩〚GRÜN〛 | = 1}

∩ {d ∈ D | |〚sitz〛 (d) ∩〚STOFF〛 | = 1}

(16)

∩ {d ∈ D | |〚sitz〛 (d) ∩〚LEDER〛 | = 2}

b)

A ≼T C. Beweis:

Sei x ∈〚"A"〛

⇒ x ∈〚AUTO〛 ∧〚sitz〛 (x) ∩〚STOFF〛 = ∅

⇒ x ∈〚AUTO〛 ∩ {d ∈ D |〚sitz〛 (d) ∩〚STOFF〛 = ∅}

⇒ x ∈〚"C"〛 D ≼T B. Beweis:

Sei x ∈〚"D"〛

⇒ x ∈〚LKW〛 ∧ |〚farbe〛 (x) ∩〚GRÜN〛 | = 1

∧ |〚sitz〛 (x) ∩〚STOFF〛 | = 1 ∧ |〚sitz〛 (x) ∩〚LEDER〛 | = 2

⇒ x ∈〚LKW〛 ∧ |〚farbe〛 (x) ∩〚GRÜN〛 | = 1 ∧ |〚sitz〛 (x) | = 3 (*)

⇒ x ∈ (〚AUTO〛 ∪〚LKW〛)

∧ ( |〚farbe〛 (x) ∩〚GRÜN〛 | = 1 ∨ |〚farbe〛 (x) ∩〚ROT〛 | = 1)

∧ |〚sitz〛 (x) | ≤ 3

⇒ x ∈〚"B"〛 D ≼T C. Beweis:

Sei x ∈〚"D"〛

⇒ x ∈〚LKW〛 ∧ |〚sitz〛 (x) ∩〚LEDER〛 | = 2

⇒ x ∈〚LKW〛 ∧|〚sitz〛 (x) ∩ D \〚STOFF〛 | = 2 (*)

⇒ (x ∈〚LKW〛 ∧|〚sitz〛 (x) ∩ D \〚STOFF〛 | ≤ 2)

∨ (x ∈〚AUTO〛 ∧ (|〚sitz〛 (x) ∩〚STOFF〛 ≠ ∅∨|〚sitz〛 (x) ∩〚STOFF〛 | ≥ 3))

⇒ x ∈〚"C"〛

(*) unter closed-world-Annahme

Aufgabe 2 [Produktionensysteme]

a)

(17)

WM: (START) (P 0) (Q 1) (ENDE 5)

Feuert: R1, Variablen: X1=0, X2=1, Ausgabe:0 1 WM: (P 0) (Q 1) (ENDE 5) (COUNT 0) (TEMP 0) (CALC) Feuert: R3, Variablen: X1=0, X2=1, X3=0, Ausgabe: keine WM: (P 0) (Q 1) (ENDE 5) (COUNT 0) (TEMP 1) (PRINT) Feuert: R4, Variablen: X3=1, X4=0, Ausgabe: 1

WM: (P 0) (Q 1) (ENDE 5) (TEMP 1) (SHIFT) (COUNT 1) Feuert: R5, Variablen: X1=0, X2=1, X3=1, Ausgabe: keine WM: (ENDE 5) (TEMP 1) (COUNT 1) (P 1) (Q 1)

b)

R5: (SHIFT) & (P X1) & (Q X2) & (TEMP X3) Æ LÖSCHE (SHIFT), ERSETZE (X1, X2, (P X1)), ERSETZE (X2, X3, (Q X2)), ERGÄNZE (CALC))

c)

Die Elemente (CALC), (PRINT), (SHIFT) verhindern, dass mehrere Regeln gleichzeitig feuern können, da zu jeder Zeit immer nur eines dieser Elemente in der Datenbasis steht.

Es ist nicht sinnvoll, ein solches Regelsystem zu schreiben, da gerade die Konfliktauflösung ein elementarer Bestandteil eines Produktionensystems ist. Aufgaben, die nur durch eine strikte Ablaufreihenfolge gelöst werden können, werden besser mit herkömmlichen Programmier- sprachen implementiert.

Aufgabe 3 [Einarbeitung in OPS5]

b)

(in-package :ops)

(literalize p wert) (literalize q wert) (literalize temp wert) (literalize count wert) (literalize ende wert) (literalize start)

(p r1

(p ^wert <x1>) (q ^wert <x2>) { (start) <start> } -->

(make count ^wert 0) (make temp ^wert 0)

(make calc)

(write (crlf) |Starte System:| <x1> <x2>) (remove <start>)

)

(p r2

(ende ^wert <x1>)

(count ^wert <x1>)

(18)

-->

(halt) )

(p r3

{ (calc) <calc> } (p ^wert <x1>) (q ^wert <x2>)

{ (temp ^wert <x3>) <temp> } -->

(remove <calc>)

(modify <temp> ^wert (compute <x1> + <x2>))

(make print)

)

(p r4

{ (print) <print> } (temp ^wert <x3>)

{ (count ^wert <x4>) <count> } -->

(remove <print>)

(make shift)

(write (crlf) |Fibonacci | <x3>)

(modify <count> ^wert (compute <x4> + 1)) )

(p r5

{ (shift) <shift> } { (p ^wert <x1>) <p> } { (q ^wert <x2>) <q> } (temp ^wert <x3>) -->

(remove <shift>) (modify <p> ^wert <x2>) (modify <q> ^wert <x3>)

(make calc)

)

(make p ^wert 0) (make q ^wert 1) (make ende ^wert 5)

c)

Folgendes muss hinzugefügt werden:

Bei den Deklarationen:

(literalize verlaengerung benutzt)

Bei den Regeln:

;; - - -

;; FALLS: die Banane an der Decke haengt und sie nicht in Reichweite

;; des Affen ist und der Affe auf der Kiste steht, den Stock

;; schon benutzt hat aber noch nicht die Verlaengerung

;;

;; DANN: steigt er von der Kiste und nimmt sich die Verlaengerung

;; - - -

(19)

(p nimm_verlaengerung (banane ^ort decke)

{ (raum ^resthoehe <rest>) <raum> } (raum ^resthoehe > 0)

{ (affe ^ort kiste

^in_hand stock) <affe> }

{ (verlaengerung ^benutzt nein) <verlaengerung> } ;{ (stocklaenge ^laenge <lang>) <verl> }

-->

(write (crlf) (crlf) |Cheetah gibt immer noch nicht auf: |)

(write (crlf) |Sie springt von der Kiste nimmt die Verlangerung|) (write (crlf) |und setzt sie auf den Stock|)

(modify <verlaengerung> ^benutzt ja) (modify <affe> ^ort boden ^in_hand stock) ;(modify <verl> ^laenge 40)

(modify <raum> ^resthoehe (compute <rest> + 60 - 40)))

Bei den Instanziierungen:

(make verlaengerung ^benutzt nein)

Folgende Regel muss abgeändert werden:

(p unmoeglich

(affe ^ort kiste ^in_hand stock)

(verlaengerung ^benutzt ja) (raum ^resthoehe > 0)

- (banane ^ort boden) -->

(write (crlf) (crlf) |Cheetah kann die Banane alleine nicht erreichen|) (write (crlf)

|Ein klarer Fall f\"ur Tarzan, den R\"acher der hungrigen Kili's|) (halt))

Aufgabe 4 [Konfliktauflösungsstrategien]

a)

I11 X:=T, Y:=Q (P T) (Q S) (W T) I12 X:=T, Y:=P (P T) (P S) (W T) I21 X:=P (P S) (P T) I22 X:=Q (Q S) (Q T)

I31 X:=P, Y:=V (P S) (P T) (R V) (W V) I32 X:=Q, Y:=V (Q S) (Q T) (R V) (W V) I33 X:=P, Y:=T (P S) (P T) (R V) (W T) I34 X:=Q, Y:=T (Q S) (Q T) (R V) (W T) I41 X:=T (Q T) (P T) (W V) I42 X:=S (Q S) (P S) (W V) b)

SC1:

(20)

P3 ist Spezialfall von Produktion P2, denn - P3 hat mehr Prämissen als P2

- Zu jeder Prämisse in P2, die Konstanten enthält, gibt es eine entsprechende in P3, die diese Konstanten als Teilmenge enthält (die ersten zwei Prämissen)

- P3 und P2 sind nicht identisch.

Zwischen anderen Produktionen bestehen keine Spezialisierungsbeziehungen im Sinne von SC1.

SC2:

Hier muss eine Instanziierung die Datenelemente von einer anderen als echte Teilmenge haben, um ein Spezialfall zu sein.

Daher sind I12 , I31 und I33 Spezialfälle von I21 , I33 von I12, I32 und I34 von I22.

SC3:

Nach SC3 sind die Spezialfälle wie nach SC2, da die Produktionen von den Spezialfällen in SC2 mehr Prämissen haben als die Produktionen von den Allgemeinfällen.

Aufgabe 5 [Vererbungsnetze] (3 + 2 Punkte) a)

Leichtgläubige Extensionen:

Φ1 = Γ ∪ {D→A→G; P→S↛G; V→D→A; V→P→S; V→D→A→G}

Φ2 = Γ ∪ {D→A→G; P→S↛G; V→D→A; V→P→S; V→P→S↛G}

Φ3 = Γ ∪ {D→A→G; P→S↛G; V→P↛A; V→P→S; V→P→S↛G}

Skeptische Extension:

ΦS = Γ ∪ {D→A→G; P→S↛G; V→P→S; V→P→S↛G}

Ideal skeptische Extension:

ΦIS = Γ ∪ {D→A→G; P→S↛G; V→P→S} = Φ1 ∩ Φ2 ∩ Φ3

b)

Gekoppelte Vererbung produziert folgende leichtgläubige Extensionen:

Φ1 = Γ ∪ {B→C→E; A→B→C; A→B→D; A→B→C→E} mit Folgerungen A→E und B→E Φ2 = Γ ∪ {B→D↛E; A→B→C; A→B→D; A→B→D↛E} mit Folgerungen A↛E und B↛E

Entkoppelte Vererbung produziert zusätzlich folgende leichtgläubige Extensionen:

Φ3 = Γ ∪ {B→C→E; A→B→C; A→B→D; A→B→D↛E} mit Folgerungen A↛E und B→E Φ4 = Γ ∪ {B→D↛E; A→B→C; A→B→D; A→B→C→E} mit Folgerungen A→E und B↛E

(21)

Aufgabe 6 [Vererbungskonflikte]

(1) On-Path- oder Off-Path-Unterdrückung:

Unterdrückter Pfad: A→B→C→E→D Redundant: B→E

(2) Widerspruch

Widersprechende Pfade: C→E→B→Aund C→E→D↛A (3) On-Path-Unterdrückung:

Unterdrückter Pfad: E→B→C→D→A (4) keine

(5) Off-Path-Unterdrückung:

Unterdrückter Pfad: D→A→C↛B

(22)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

4. Übung

Aufgabe 1 [RETE-Algorithmus] (4 Punkte)

Zum Einbau von Festplatten in Rechner verwendet ein System die folgende Produktionsregel:

(P Festplatte_einbauen (Gehäuse

^Einbauschächte_frei >= 1

^Zustand geöffnet

^Schnittstelle <Intf>

^Schraubentyp <Typ> ) (Festplatte

^Kapazität >= 100

^Geschwindigkeit << 7.200 10.000 >>

^Schnittstelle <Intf> ) (Schraube

^ID <SID>

^Typ <Typ> ) (Schraube

^ID <> <SID>

^Typ <Typ> ) -->

(…Aktionsteil…) )

Ergänzen Sie das zu der Regel generierte RETE-Netz (unten) um die Einträge in Alpha- und Beta-Speicher, wenn die in nachstehender Tabelle genannten Elemente in der Datenbasis auftreten.

Zeitstempel Klasse Zustand

Einbausch.

_frei

Schnitt-

stelle Kapazität

Geschwin-

digkeit ID Typ

1 Festplatte NIL NIL SATA 150 10.000 HD-33 NIL

4 Schraube NIL NIL NIL NIL NIL S-15 A

7 Schraube NIL NIL NIL NIL NIL S-28 B

12 Gehäuse geöffnet 3 SATA NIL NIL G-10 C

13 Festplatte NIL NIL IDE 200 5.400 HD-31 NIL

18 Schraube NIL NIL NIL NIL NIL S-32 A

19 Festplatte NIL NIL IDE 300 7.200 HD-14 NIL

22 Gehäuse geöffnet 1 IDE NIL NIL G-40 B

26 Schraube NIL NIL NIL NIL NIL S-65 B

(23)

Hinweis: Manche Felder in der Grafik bleiben unter Umständen leer.

Aufgabe 2 [FRAMES] (3 Punkte)

Geben Sie für folgende Vorgehensweisen eine Implementierung in FRAME-Syntax an (bei Abfragen auch das Ergebnis der Abfrage):

(1) Definition eines Frames Tier mit den Eigenschaften Farbe, Fortbewegung und Durch- schnittsalter. Die Fortbewegung soll auf die Möglichkeiten gehen, kriechen, fliegen und schwimmen begrenzt sein. Bei Angabe des Durchschnittsalters soll eine (gegebene) Prozedur Alter_Prüfen() aufgerufen werden, um den Wert zu validieren.

(2) Definitionen der Frames Elefant und Delfin, welche von Tier erben. Geben Sie dabei für die geerbten Attribute sinnvolle Standardwerte und Restriktionen an.

(3) Definition der Frames Clyde (eine Instanz von Elefant) und Flipper (eine Instanz von Delfin), jeweils ohne Attributzuweisungen.

(4) Abfrage des Attributs Farbe für Clyde.

(5) Setzen des Attributs Farbe für Clyde auf weiß.

(6) Suchabfrage nach allen Tieren mit der Farbe grau.

Aufgabe 3 [Wahrheitswerttabelle] (2+2 Punkte)

Student Sören stellt sich sein Mensaessen nach folgenden Regeln zusammen:

(24)

(1) Wenn ich Pommes esse, dann nehme ich mir weder Salat, noch Fisch.

(2) Ohne Pommes esse ich Fisch und Salat nicht zusammen.

(3) Ein Dessert gibt es immer genau dann, wenn ich keine Pommes habe.

(4) Mein Essen besteht aus mindestens zwei Komponenten.

(5) Salat und Dessert alleine reichen mir nicht aus.

a) Stellen Sie zu diesen Definitionen passende Formeln in Aussagenlogik auf.

b) Wie sieht Sörens Mittagessen aus? Geben Sie eine Wahrheitswerttabelle an.

Aufgabe 4 [Deduktion im Aussagenkalkül] (2+2 Punkte)

Beweisen Sie folgende Theoreme durch Wang’s Algorithmus, Resolution oder durch die Konnektionsmethode.

a) Prämissen: (B∨C) (A∨¬C) (¬A∨C) (¬A∨¬C) Theorem: B

b) Prämissen: (C ⇒ (A∨B)) (A∨B∨C) (B ⇒ A) Theorem: A

Aufgabe 5 [Unifikation] (4 Punkte)

Bestimmen Sie, soweit vorhanden, den allgemeinsten Unifizierer (MGU) für folgende Term- paare:

(1) { p(u, v) ; p(y, f(y)) }

(2) { p(a, x, f(g(y))) ; p(z, h(z, w), f(w)) } (3) { f(h(y), z, h(a)) ; f(x, y, g(a, x)) }

(4) { p(f(y), h(z,w), j(z), y) ; p(w, h(g(w,x),x), j(g(f(a),v)), a) }

Benutzen Sie hierzu den Unifikationsalgorithmus aus der Vorlesung. Geben Sie zu jedem Programmschritt die Variablenbelegungen an (wie in der Vorlesung). In Teil (4) brauchen Sie nur Schritt 1 und 4 des Algorithmus anzugeben.

Aufgabe 6 [Green’sches Antwortprädikat] (2+4 Punkte)

Betrachten Sie das folgende Rätsel:

Tom, Mike und John sind Mitglieder in einem Fußballfanclub. Die Mitglieder des Clubs sind entweder aktive Spieler, Fans oder beides. Kein Fan mag gegnerische Mannschaften und alle aktiven Spieler spielen gerne Fußball. Mike mag alles, was Tom nicht mag und hasst alles, was Tom mag.

(25)

Gibt es einen Fan im Club, der kein aktiver Spieler ist? Wie heißt er?

a) Formulieren Sie das Rätsel in Prädikatenlogik.

b) Benutzen Sie die „Antwortextraktion aus Resolutionsbeweisen“ (Green’sches Antwort- prädikat) zur Lösung des Rätsels (Folien 172ff im Skript).

Aufgabe 7 [Default Reasoning] (5 Punkte)

Geben Sie alle Extensionen für die folgenden Defaulttheorien Δi = (Di, Wi) an:

(1) D1 = {

) (

) ( :

) (

x Pacifist

x Pacifist x

Quaker

) (

) ( :

) (

x Pacifist

x Pacifist x

Republican

¬

¬ }

W1 = { Quaker(Nixon) ; Republican(Nixon) }

(2) D2 = {

) (

) ( :

) (

x Employed

x Employed x

Adult

( )

) ( :

) (

x Employed

x Employed x

Student

¬

¬

) (

) ( : ) (

x Adult

x Adult x

Student

}

W2 = { Student(Jill) }

(3) D3 = {

) ( )

(

) ( )

( :

x Employed x

Adult

x Employed x

Adult

) (

) ( :

) (

x Employed

x Employed x

Student

¬

¬

) (

) ( : ) (

x Adult

x Adult x

Student

}

W3 = { Student(Jill) }

(4) D4 = {

) (

) ( )

( :

) (

x Employed

x Employed x

Student x

Adult ¬ ∧

) (

) ( :

) (

x Employed

x Employed x

Student

¬

¬

) (

) ( : ) (

x Adult

x Adult x

Student

}

W4 = { Student(Jill) }

(5) D5 = {

) (

) ( :

Earth Flat

Earth Flat

¬ }

W5 = { }

Abgabe am Montag, den 25.09.2006 morgens nach der Vorlesung.

(26)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

4. Übung

Lösungsvorschlag

Aufgabe 1 [RETE-Algorithmus]

Anmerkung: In dieser Aufgabe war ein RETE-Netz vorgegeben. Beachten Sie aber, dass bei strikter Anwendung des RETE-Algorithmus höchstens einer der Eingänge eines Zweierknotens ebenfalls ein Zweierknoten sein kann.

Aufgabe 2 [FRAMES]

(1)

(FASSERT TIER

(27)

(FARBE)

(FORTBEWEGUNG ($REQUIRE ((member :value '(gehen, kriechen, fliegen, schwimmen)))))

(DURCHSCHNITTSALTER ($IF-ADDED (ALTER_PRÜFEN :FRAME))) )

(2)

(FASSERT ELEFANT

(AKO ($VALUE (TIER)))

(FARBE ($DEFAULT (|grau|)))

(FORTBEWEGUNG ($DEFAULT (|gehen|)))

(DURCHSCHNITTSALTER ($REQUIRE ((AND (> :VALUE 0) (< :VALUE 70))))) )

(FASSERT DELFIN

(AKO ($VALUE (TIER)))

(FARBE ($DEFAULT (|grau|)))

(FORTBEWEGUNG ($DEFAULT (|schwimmen|)))

(DURCHSCHNITTSALTER ($REQUIRE ((AND (> :VALUE 0) (< :VALUE 30))))) )

(3)

(FASSERT CLYDE

(AKO ($VALUE (ELEFANT))) )

(FASSERT FLIPPER

(AKO ($VALUE (DELFIN))) )

(4)

(FGET ‘CLYDE ‘FABRE ‘$VALUE)

→ grau

(5)

(FPUT ‘CLYDE ‘FABRE ‘$VALUE |weiß|)

(6)

(FQUERY ‘?FRAME

(FARBE ($VALUE (|grau|))) (AKO? :VALUE ‘TIER)

) → ELEFANT, DELFIN, FLIPPER

(28)

Aufgabe 3 [Wahrheitswerttabelle]

a)

(1) P ⇒ ¬ (S∨F)

(2) ¬P ⇒ ¬ (S∧F)

(3) D ⇔ ¬P

(4) (P∧S) ∨ (P∧F) ∨ (P∧D) ∨ (S∧F) ∨ (S∧D) ∨ (F∧D)

(5) S∧D ⇒ P∨F b)

P S F D (1) (2) (3) (4) (5) 1∧2∧3∧4∧5

0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0

Sören isst also immer nur Fisch und Dessert.

Aufgabe 4 [Deduktion im Aussagenkalkül]

Beweis durch Resolution.

a)

Zu widerlegen: (B∨C) ∧ (A∨¬C) ∧ (¬A∨C) ∧ (¬A∨¬C) ∧ (¬B)

(29)

b)

Zu widerlegen: (C ⇒ (A∨B)) ∧ (A∨B∨C) ∧ (B ⇒ A) ∧ (¬A)

Aufgabe 5 [Unifikation]

(1) {p(u, v); p(y, f(y))}

1) K:= 0, w0:= w, s0:= NIL

2) D0:={u, y} u, y sind jeweils Variablen 4) s1:=s0{y/u} = {y/u}

w1:=w0{y/u} = {p(y, v); p(y, f(y))}

5) K:=1

2') D1:={v, f(y)} v ist Variable und f(y) ist Term ohne v 4') s2:=s1{f(y)/v} = {y/u}{f(y)/v} = {y/u, f(y)/v}

w2:={p(y, f(y))}

5’) K:=2

2'') w2 besteht aus einzelnem Element, daher: s2 ist MGU: STOP (2) {p(a, x, f(g(y))); p(z, h(z,w), f(w))}

1) K:=0, w0:= w, s0:= NIL

(30)

2) D0:={a, z} a ist Konstante, z ist Variable 4) s1:=s0{a/z} = NIL{a/z} = {a/z}

w1:=w0{a/z} = {p(a, x, f(g(y))); p(a, h(a,w), f(w))}

5) K:=1

2') D1:={x, h(a,w)} x ist Variable und h(a,w) ist Term ohne x 4') s2:=s1{h(a,w)/x} = {a/z}{h(a,w)/x} = {a/z, h(a,w)/x}

w2:={p(a, h(a,w), f(g(y))); p(a, h(a,w), f(w))}

5’) K:=2

2'') D2:={f(g(y)), f(w)} f(g(y)) ist Term ohne w, g(y) ist ebenfalls Term ohne w und f(w) ist Term ohne y

4'') s3:=s2{g(y)/w} = {a/z, h(a,w)/x, g(y)/w}

w3:={p(a, h(a,w), f(g(y)))}

5’’) K:=3

2''') w3 besteht aus einzelnem Element, daher: s3 ist MGU: STOP (3) {f(h(y), z, h(a)); f(x, y, g(a, x))}

1) K:=0, w0:= w, s0:= NIL

2) D0:={h(y), x} x ist Variable, h(y) ist Term ohne x 4) s1:=s0{h(y)/x} = NIL{h(y)/x} = {h(y)/x}

w1:=w0{h(y)/x} = {f(h(y), z, h(a)); f(h(y), y, g(a, h(y)))}

5) K:=1

2') D1:={z, y} z und y sind jeweils Variablen 4') s2:=s1{y/z} = {h(y)/x}{y/z} = {h(y)/x, y/z}

w2:={f(h(y), y, h(a)); f(h(y), y, g(a, h(y)))}

5’) K:=2

2'') D2:={h(a), g(a, h(y))} g(a, h(y)) beide Ausdrücke sind Terme mit unterschiedlichen Funktionsnamen, daher sind sie nicht unifizierbar

(4) {p( f(y), h(z,w), j(z), y ); p( w, h(g(w, x), x), j(g(f(a), v)), a)}

1) K:=0, w0:= w, s0:= NIL

2) D0:={f(y), w} w ist Variable, f(y) ist Term ohne w 4) s1:=s0{f(y)/w} = {f(y)/w}

w1:=w0{f(y)/w} = {p( f(y), h(z, f(y)), j(z), y ); p( f(y), h(g(f(y), x), x), j(g(f(a), v)), a)}

5) K:=1

2') D1:={h(z, f(y)), h(g(f(y), x), x)} z ist Variable, g(f(y), x) ist Term ohne z und f(y) ist Term ohne x

4') s2:=s1{g(f(y), x)/z} = {f(y)/w, (g(f(y), x))/z}

w2:= {p( f(y), h(g(f(y), x), f(y)), j(g(f(y), f(y))), y);

p( f(y), h(g(f(y), x), x), j(g(f(a), v)), a)}

5') K:= 2

(31)

2'') D2 := {h(g(f(y), x), f(y)), h(g(f(y), x), x)}

s2 := s1{f(y)/x} = {f(y)/w, (g(f(y), x))/z , f(y)/x}

w2:= {p( f(y), h(g(f(y), f(y)), f(y)), j(g(f(y), f(y))), y);

p( f(y), h(g(f(y), f(y)), f(y)), j(g(f(a), v)), a)}

5'') K:=3

2''') D1:={j(g(f(y), f(y))), j(g(f(a), v))} a ist Konstante, y ist Variable, v ist Variable und f(y) ist Term ohne v

4''') s3:=s2{a/y} = {f(y)/w, (g(f(y), x)/z, f(y)/x), a/y}

w3:= {p( f(a), h(g(f(a), f(a)), f(a)), j(g(f(a), f(a))), a);

p( f(a), h(g(f(a), f(a)), f(a)), j(g(f(a), v)), a)}

5''') K:=4

2'''') D1:={j(g(f(a), f(a))), j(g(f(a), v))}

4'''') s3:=s2{f(a)/v} = {f(y)/w, (g(f(y), x)/z, f(y)/x), a/y, f(y)/a}

w3:= {p( f(a), h(g(f(a), f(a)), f(a)), j(g(f(a), f(a))), a )}

5'''') K:=5

2''''') w3 besteht aus einzelnem Element, daher: s3 ist MGU: STOP

Aufgabe 6 [Green’sches Antwortprädikat]

a)

Mitglied(Tom) ∧ Mitglied(Mike) ∧ Mitglied(John) (∀x) Mitglied(x) ⇒ Aktiv(x) ∨ Fan(x)

(∀x) (∀y) Fan(x) ∧ Gegner(y) ⇒ ¬Mag(x, y) (∀x) Aktiv(x) ⇒ Mag(x, Fußball)

(∀y) ¬Mag(Tom, y) ⇔ Mag(Mike, y)

b)

Green’sches Antwortprädikat:

(∀x) Fan(x) ∧ ¬Aktiv(x) ⇒ ANS(x)

(1) Mitglied(Tom) (2) Mitglied(Mike) (3) Mitglied(John)

(4) ¬Mitglied(x) ∨ Aktiv(x) ∨ Fan(x) (5) ¬Fan(x) ∨ ¬Gegner(y) ∨ ¬Mag(x, y) (6) ¬Aktiv(x) ∨ Mag(x, Fußball)

(7) Mag(Tom, y) ∨ Mag(Mike, y) (8) ¬Mag(Tom, y) ∨ ¬Mag(Mike, y)

(9) ¬Mitglied(x) ∨ ¬Fan(x) ∨ Aktiv(x) ∨ ANS(x)

(32)

Resolution:

(9 + 1) → (10) ¬Fan(Tom) ∨ Aktiv(Tom) ∨ ANS(Tom) [Tom/x]

(9 + 2) → (11) ¬Fan(Mike) ∨ Aktiv(Mike) ∨ ANS(Mike) [Mike/x]

(10 + 4) → (12) ¬Mitglied(Tom) ∨ Aktiv(Tom) ∨ ANS(Tom) (11 + 4) → (13) ¬Mitglied(Mike) ∨ Aktiv(Mike) ∨ ANS(Mike) (12 + 1) → (14) Aktiv(Tom) ∨ ANS(Tom)

(13 + 2) → (15) Aktiv(Mike) ∨ ANS(Mike)

(14 + 6) → (16) Mag(Tom, Fußball) ∨ ANS(Tom) [Fußball/y]

(15 + 6) → (17) Mag(Mike, Fußball) ∨ ANS(Mike) [Fußball/y]

(16 + 8) → (18) ¬Mag(Mike, Fußball) ∨ ANS(Tom) [Fußball/y]

(17 + 18) → (19) ANS(Tom) ∨ ANS(Mike)

Antwort: Entweder Tom oder Mike ist zwar Fan und Mitglied des Clubs, jedoch kein aktiver Spieler.

Aufgabe 7 [Default Reasoning]

(1) E1 = { Pacifist(Nixon) } E2 = { ¬Pacifist(Nixon) }

(2) E1 = { Student(Jill), Employed(Jill), Adult(Jill) } E2 = { Student(Jill), ¬Employed(Jill), Adult(Jill) }

(3) E1 = { Student(Jill), Adult(Jill) Employed(Jill), ¬Employed(Jill), Adult(x) Employed(x) }

E2 = { Student(Jill), Adult(Jill) Employed(Jill), Adult(Jill), Adult(x) Employed(x) } E3 = { Student(Jill), ¬Employed(Jill), Adult(Jill), Adult(x) Employed(x) }

(4) E = { Student(Jill), ¬Employed(Jill), Adult(Jill) } (5) Es gibt keine Extensionen.

Begründung: Es wird kein Fixpunkt unter Cn erreicht:

{ } … { ¬Flat(Earth) } … { } … { ¬Flat(Earth) } …

(33)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

5. Übung

(Teil A)

Aufgabe 1 [Algorithmus A/A*] (1+1+1+1+1 Punkte)

Ein Pfadsuchealgorithmus A für einen Roboter soll entworfen werden. Der Raum wird dazu in gleich große Kacheln eingeteilt. Der Roboter kann sich horizontal und vertikal (nicht schräg!) von einer Kachel auf die nächste bewegen (= 1 Bewegungsschritt), sofern er nicht durch eine Wand daran gehindert wird. Außerdem gibt es Türen, welche der Roboter öffnen kann. Dazu ist jedoch mehr Energie notwendig, so dass er sie nur dann benutzt, wenn es keine andere Alternative gibt oder die alternative Route deutlich länger ist (zehn oder mehr zusätzliche Schritte).

B C

D A

a) Wie sehen die Knoten und Kanten des Zustandsgraphen aus?

b) Überlegen Sie sich eine Kostenschätzungsfunktion f(K) = g(K) + h(K) für das Suchproblem und geben Sie diese an.

c) Welchen Weg wählt der Roboter bei Verwendung Ihrer Funktion von A nach B? Zeichnen Sie den Weg in obige Grafik ein oder geben Sie die Knotenfolge an.

d) Der Roboter befinde sich nun auf Feld C. Zeichnen Sie den Suchbaum für die Pfadsuche nach D.

e) Ist Ihr Algorithmus ein Algorithmus A*? Begründen Sie Ihre Antwort kurz (kein Beweis)!

Wände Türen

(34)

Aufgabe 2 [Minimax- / Alpha-Beta-Verfahren] (1+2+2 Punkte)

Bei dem antiken Spiel Radmühle wird ein Spielfeld der unten abgebildeten Form mit 9 mit- einander verbunden Feldern verwendet. Die zwei Spieler besitzen jeweils 3 schwarze bzw. weiße Steine. Ziel ist es, die Steine auf eine Geraden durch die Mitte zu bringen. Der Ablauf erfolgt analog zum Spiel Mühle: Es wird abwechselnd von jedem Spieler ein Zug ausgeführt. Zuerst kann jeweils ein Stein auf ein unbesetztes Feld gesetzt werden. Befinden sich alle Steine auf dem Spielfeld, so muss jede Runde ein Stein auf ein verbundenes Feld bewegt werden.

Der Minimax-Algorithmus soll verwendet werden, um einen Computerspieler für Radmühle zu programmieren.

a) Definieren Sie eine geeignete heuristische Bewertungsfunktion B(K) für Minimax.

b) Geben Sie analog zum Beispiel aus der Vorlesung (Tic Tac Toe) einen Suchbaum an: Stellen Sie die nächsten beiden Spielzüge von Schwarz (= Max) ausgehend von der oben abgebildeten Situation dar.

c) Markieren Sie in Ihrem Suchbaum diejenigen Kanten, die bei Einsatz des Alpha-Beta- Verfahrens nicht verfolgt würden.

Aufgabe 3 [Plandarstellung] (1+3 Punkte)

Ein Bar-Roboter kann folgende Aktionen ausführen (hier gegeben in Form von STRIPS- Operatoren):

pickup(x):

P: ONTABLE(x), HANDEMPTY D: ONTABLE(x), HANDEMPTY A: HOLDING(x)

(35)

putdown(x):

P: HOLDING(x) D: HOLDING(x)

A: ONTABLE(x), HANDEMPTY dropin(x, g):

P: HOLDING(x), GLASS(g), ONTABLE(g) D: HOLDING(x)

A: INGLASS(x, g), HANDEMPTY pourin(x, g):

P: BOTTLE(x), HOLDING(x), GLASS(g), ONTABLE(g) D: -

A: INGLASS(x, g) crush(x, c, g):

P: INGLASS(x), CRUSHER(c), HOLDING(c), GLASS(g), ONTABLE(g) D: -

A: CRUSHED(x) serve(g):

P: GLASS(g), ONTABLE(g), LIME(l), INGLASS(l, g), CRUSHED(l), CACHAÇA(a), INGLASS(a, g), ONTABLE(a), SUGAR(s), INGLASS(s, g), ICE(i), INGLASS(i, g), HANDEMPTY

D: ONTABLE(g) A: SERVED(g)

a) Verändern Sie die Menge der Operatoren, so dass nur der nachfolgend angegebene Cocktail serviert werden kann:

Caipirinha:

Die Limetten achteln und zusammen mit dem Rohrzucker in ein Caipirinha-Glas geben. Mit einem Stößel die Limetten ausquetschen, anschließend das Glas mit Crushed Ice auffüllen und den Cachaça hinzugeben.

Tipp: Spezialisieren Sie Operatoren wie dropin(x, g), so dass diese Einschränkungen bzgl. der Reihenfolge der Zutaten enthalten.

Hinweis: Das Eis können Sie als bereits „gecrushed“ und die Limetten als bereits geachtelt annehmen.

b) Stellen Sie einen Plan in Form einer Dreieckstabelle auf, mit dessen Hilfe der Bar-Roboter den in (a) beschriebenen Cocktail mixen kann. Gehen Sie dabei von folgenden Voraussetzungen aus:

GLASS(g), LIME(l), CACHAÇA(a), BOTTLE(a), SUGAR(s), CRUSHER(c), ICE(i), ONTABLE(g), ONTABLE(l), ONTABLE(a), ONTABLE(s), ONTABLE(c),

ONTABLE(i), HANDEMPTY

(36)

Ziel soll sein:

SERVED(g)

Hinweis: Sie dürfen die Aktionen pickup und dropin zugunsten einer kompakteren Dar- stellung auch auf zwei gleichzeitige Gegenstände erweitern, z.B.

dropin(x, g) und dropin(y, g) dropin2(x, y, g).

Aufgabe 4 [STRIPS-Planung, Monkey-Bananas revisited] (1+3+2 Punkte)

Das Affe-Banane-Problem stellt sich einem Affen in einem Labor, in welchem ein paar Bananen, außerhalb der Reichweite des Affen, an der Decke hängen. In dem Labor befindet sich außerdem eine Kiste, mit deren Hilfe der Affe die Bananen erreichen kann, falls er auf sie steigt (auf die Kiste natürlich, nicht auf die Bananen ☺). Anfänglich befindet sich der Affe an Ort A, die Bananen an Ort B und die Kiste an Ort C. Der Affe und die Kiste haben die Höhe Low, aber wenn der Affe auf die Kiste steigt, wird er die Höhe High erreichen, also dieselbe Höhe wie die Bananen. Die Operatoren des Affen sind Gehen (Go) von einem Ort zu einem anderen, Schieben (Push) eines Objektes von einem Ort zu einem anderen, Hinaufklettern (ClimbUp) auf oder Herunterklettern (ClimbDown) von einem Objekt, sowie Greifen (Grasp) oder Fallenlassen (Ungrasp) eines Objektes. Greifen bewirkt, dass der Affe ein Objekt hält, wenn er und das Objekt sich an demselben Ort befinden.

Gegeben sind folgende Prädikate:

At(x, y): x ist an Ort y

Height(x, h): x hat Höhe h, wobei h High oder Low ist Holding(x, y) : x hält y

On(x, y) : x ist auf y Monkey(x): x ist ein Affe Box(x): x ist eine Kiste Bananas(x): x sind Bananen

a) Beschreiben Sie den Start- und Ziel-Zustand des Affe-Banane-Problems.

b) Beschreiben Sie die folgenden Operatoren in der STRIPS-Notation der Vorlesung:

Push(actor, object, location1, location2, height): Actor (der Affe) schiebt ein Objekt object von location1 zu location2. Beachte, dass actor auf der selben Höhe height wie object sein muss.

Climbup(actor, box, location): Actor (der Affe) klettert auf box welche am Ort location ist.

Climbdown(actor, box, location): Actor (der Affe) klettert von box welche am Ort location ist.

Grasp(actor, object, location, height): Actor (der Affe) greift object welches am Ort location ist und die Höhe height hat.

Ungrasp(actor, object, location): Actor (der Affe) lässt object am aktuellen Ort location fallen.

Ein Beispiel für den Go Operator in der STRIPS-Notation der Vorlesung ist:

(37)

Go(actor, location1, location2)

Precondition: Monkey(actor) ^ At(actor, location1) ^ Height(actor, Low) Delete-List: At(actor, location1)

Add-Formula: At(actor, location2)

Hinweis: Sie können Prädikate hinzufügen oder weglassen, wenn Sie meinen, dass Sie sie brauchen oder als unnötig empfinden.

c) Beschreiben Sie einen Plan (mit obigen Operatoren), der es dem Affen ermöglicht, die Banane zu greifen.

Aufgabe 5 [Certainty Factors 1] (2+2 Punkte)

Während einer Konsultation vermutet ein Arzt, ausgehend von den Daten und Symptom- beschreibungen eines Patienten, dass dieser mit einer a-priori Wahrscheinlichkeit von 70% ein Magenkarzinom (gastric adenocarcinoma, GA) hat. Mit anderen Worten: 70% aller Patienten mit diesen Daten und Symptomen haben GA. Um jedoch eine sichere Diagnose zu stellen, beschließt der Arzt, den Patienten zu befragen. Dazu verwendet er aus der folgenden Abbildung gewonnene Daten (die weißen Teile der Abbildung beziehen sich auf Patienten mit GA und die grauen Teile auf Patienten ohne GA).

11 11 113

49 25

13

95 76 219

8

25 5

4 219

95 32 Schmerzen Gewichts-

verlust

Erbrechen

Aus der Abbildung lassen sich beispielsweise folgende Werte ermitteln:

• 90% aller Patienten mit GA und 40% derer ohne GA verlieren Gewicht.

• 70% aller Patienten mit GA und 10% derer ohne GA haben Schmerzen.

• 50% aller Patienten mit GA und 30% derer ohne GA müssen erbrechen.

a) Wie hoch ist die Wahrscheinlichkeit, dass der Patient GA hat, falls der Arzt feststellt, dass

(38)

- der Patient erbrechen muss und - er kein Gewicht verloren hat und - er Schmerzen hat?

b) Berechnen Sie die entsprechenden Measures of increased Belief (MB), Measures of increased Disbelief (MD), die Certainty Factors (CF) und interpretieren Sie die Ergebnisse.

MB(GA, Erbrechen), MD(GA, Erbrechen), CF(GA, Erbrechen)

MB(GA, Erbrechen und kein Gewichtsverlust), MD(GA, Erbrechen und kein Gewichtsverlust), CF(GA, Erbrechen und kein Gewichtsverlust)

MB(GA, Erbrechen und kein Gewichtsverlust und Schmerzen), MD(GA, Erbrechen und kein Gewichtsverlust und Schmerzen), CF(GA, Erbrechen und kein Gewichtsverlust und Schmerzen)

Aufgabe 6 [Certainty Factors 2] (4 Punkte)

Gegeben sei die folgende Abbildung. Die Werte über den Kanten stellen die Certainty Factors (CF) der entsprechenden Regeln dar.

A B C

D F

E

0,5 0,6

-0,4

0,6

0,5 -1

Berechnen Sie die MYCIN Certainty Factors CF[F, A] und CF[F, E].

Aufgabe 7 [Modellbasierte Diagnose] (2+1+1+0 Punkte) Betrachten Sie den folgenden binären Schaltkreis.

(39)

a) Geben Sie eine Systembeschreibung (SD) in Form von Prädikaten an.

b) Fügen Sie Beobachtungen (OBS) entsprechend den Markierungen hinzu.

c) Gehen Sie nun davon aus, dass die Beobachtungen in folgender Reihenfolge gemessen werden und geben Sie jeweils die Diagnosen (Δ) nach jeder Messung an (a, b, c bereits gegeben):

y x u v w

d) Was berechnet der Schaltkreis, wenn alle Bauteile korrekt funktionieren?

Abgabe am Montag, den 02.10.2006 nach der ersten Vorlesung.

Hinweis: Es wird am 26.09. noch ein weiteres, praktisch orientiertes Übungsblatt auf der Internetseite zur Vorlesung geben.

(40)

Universität des Saarlandes

Fakultät 6 - Fachrichtung 6.2 - Informatik

Prof. Dr. Dr. h.c. mult. W. Wahlster

Einführung in die Methoden der Künstlichen Intelligenz WS 2006/2007

5. Übung

(Teil A)

Lösungsvorschlag

Aufgabe 1 [Algorithmus A/A*]

a)

Knoten: (x, y)

wobei x und y die Koordinaten der Kachel sind und (0, 0) in „A“ liegt.

Kanten: (N | S | W | O)

d.h. jeder Übergang stellt eine Bewegung nach Norden, Süden, Westen oder Osten dar. Wände können die verfügbaren Bewegungsmöglichkeiten einschränken.

b)

g(K) ≔ Suchtiefe + (Anzahl der Türen auf dem aktuellen Pfad) × 10 h(K) ≔ d(K, T) (T = Zielknoten)

d(K1, K2) ≔ |X1 - X2| + |Y1 - Y2| für K1 = (X1, Y1) und K2 = (X2, Y2) („Abstand von K1 und K2“)

c)

B

A

Referenzen

ÄHNLICHE DOKUMENTE

Zu den vier Mischlingshunden ge- hören zwei nicht weniger aktive Menschen: Nadine und Andre Potthoff aus Issum haben jetzt unter dem Titel „Luna und ihre Freunde unterwegs

Leicht, facile, facile, eenvoudig, easy Schwer, difficile, difficile, moeilijk, hard Super

“Drei Missionare und drei Kannibalen sind auf einer Seite eines Flusses, zusammen mit einem Boot, das entweder ein oder zwei Personen transportieren kann.. Wie k ¨onnen sie alle

Synopse zum Lehrplan für Informatik 6 – Mittelschule Bayern (ISBN 978-3-661-38106-0) www.ccbuchner.de Informatik 6 Kompetenzerwartungen und inhaltliche Schwerpunkte

Die Kompetenzerwartungen und inhaltlichen Schwerpunkte sind entsprechend dem Lehrplan für die Mittelschule vorgenommen worden. Die Gegenstandsbereiche und Kompetenzbereiche

Name Gesamt Rang StNr.. Name Gesamt

[r]

8.2 Jos toimitus tai suoritus ei tapahdu myönnetyn lisäajan päättymiseen mennessä ja jos ostaja sen vuoksi aikoo käyttää mahdollisuuttaan purkaa sopimus tai vaatia