• 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!
38
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

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

(2)

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)

(3)

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.

(4)

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]

(5)

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) )

(6)

(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))

(7)

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

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

(8)

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}

(9)

∩ {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)

(10)

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>)

(11)

-->

(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

;; - - -

(12)

(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:

(13)

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

(14)

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

(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

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

(16)

(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

(17)

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)

(18)

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

(19)

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

(20)

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)

(21)

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 = { Quaker(Nixon), Republican(Nixon), Pacifist(Nixon) } E2 = { Quaker(Nixon), Republican(Nixon), ¬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) } …

(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

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

(23)

d)

• Ein schwarzes Quadrat deutet einen Zyklus an.

• Graue Knoten stellen Übergänge durch eine Wand dar und werden nicht erzeugt.

e)

Ja, da die in (b) angegebene heuristische Kostenschätzungsfunktion h(x) immer ≤ h*(x) ist, d.h.

es werden nie mehr als die tatsächlichen Kosten geschätzt. Es können allerdings geringere Kosten veranschlagt werden, da h(x) weder Wände, noch Türen beachtet.

Aufgabe 2 [Minimax- / Alpha-Beta-Verfahren]

a)

B(K) = P(Max) – P(Min)

P(p) ≔ D(s1,p, s2,p) + (1 – D(s3, Mitte)), wobei s1, s2 = die am weitesten entfernten Spielsteine auf dem äußeren Ring.

D(si,p, sj,p) ≔ Distanz von 2 Spielsteinen von Spieler p oder zwischen Spielstein und Feld.

b)

(2, 2) g=0 h=2 f=2

(2, 3) g=1 h=3

f=4 (2, 1) g=1 h=1

f=2 (1, 2) g=1 h=3

f=4 (3, 2)

g=1 h=1 f=2

(2, 2) (2, 0) g=2 h=2 f=4

(1, 1) g=2 h=2 f=4

(3, 1) g=22 h=0 f=22

(1, 2) g=3 h=3 f=6

(1, 0) g=3 h=3 f=6

(0, 1) g=3 h=3 f=6

(2, 1) g=3 h=1 f=4 g=2

h=2

f=4 D

C (2, 3)

g=4 h=3 f=7

(1, 4) g=4 h=5 f=9

(3, 4) g=4 h=3 f=7 (2, 4)

g=3 h=4 f=7

(2, 2) g=3 h=2 f=5

(1, 3) g=3 h=4 f=7

(3, 3) g=3 h=2

C f=5 (1, 3)

g=3 h=4 f=7 (1, 1)

g=3 h=2 f=5 (0, 2)

g=3 h=4 f=7 (2, 2)

g=3 h=2 C f=5

(1, 1) g=4 h=2 f=6

(0, 0) g=4 h=4 f=8

(2, 0) g=4 h=2 f=6

(0, 2) g=4 h=4 f=8

(0, 0) g=4 h=4 f=8

(1, 1) g=4 h=2 f=6 (3, 3)

g=5 h=2 f=7

(2, 4) g=5 h=4 f=9

(4, 4) g=5 h=4 f=9

(3, 4) g=6 h=3 f=9

(3, 2) g=6 h=1 f=7

(2, 3) g=6 h=3 f=9

(4, 3) g=6 h=3 f=9

(3, 3) g=7 h=2 f=9

(3, 1) g=7 h=0 f=7

(2, 2) g=7 h=2 f=9

(4, 2) g=7 h=2 D f=9

C

(1, 4) g=4 h=5 f=9 (1, 2)

g=4 h=3 f=7 (0, 3)

g=4 h=5 f=9 (2, 3)

g=4 h=3 f=7

(2, 4) g=5 h=4 f=9

(2, 2) g=5 h=2 f=7

(1, 3) g=5 h=5 f=9

(3, 3) g=5 h=2 C f=7

N

N

N

N

N

N

N

N

N

N

N S

S

S

S

S

S

S

S

S

S

S

S W

W

W

W

W

W W

W W

W

W

W O

O

O

O

O

O O

O

O O

O

O siehe rechts

(24)

3 – 3 = 033 = 02 – 3 = -12 – 2 = 02 – 3 = -12 – 2 = 02 3 = -12 3 = -12 – 2 = 023 = -12 – 2 = 02 3 = -13 – 2 = 133 = 03 – 2 = 13 – 3 = 0

Min:Max: 0-1-1-10

0 4 – 4 = 04 – 4 = 04 2 = 242 = 24 – 2 = 23 – 3 = 03 3 = 03 – 2 = 13 2 = 132 = 13 – 4 = -12 – 3 = -12 2 = 023 = -12 – 4 = -22 2 = 02 – 2 = 02 – 4 = -2

0-1

0 -2 Min:Max:

(25)

c)

Bei Verwendung des Alpha-Beta-Verfahrens fallen die in der obigen Grafik gestrichelt markierten Kanten weg.

Aufgabe 3 [Plandarstellung]

a)

dropinLime(l, g):

P: HOLDING(l), GLASS(g), ONTABLE(g), LIME(l) D: HOLDING(l)

A: INGLASS(l, g), HANDEMPTY dropinSugar(s, g):

P: HOLDING(s), GLASS(g), ONTABLE(g), SUGAR(s) D: HOLDING(s)

A: INGLASS(s, g), HANDEMPTY dropinIce(i, g):

P: HOLDING(i), GLASS(g), ONTABLE(g), ICE(i), LIME(l), CRUSHED(l) D: HOLDING(i)

A: INGLASS(i, g), HANDEMPTY pourinCachaça(a, g):

P: BOTTLE(a), HOLDING(a), GLASS(g), ONTABLE(g), CACHAÇA(a), ICE(i), INGLASS(i, g)

D: -

A: INGLASS(a, g) crushLime(l, c, g):

P: INGLASS(l), CRUSHER(c), HOLDING(c), GLASS(g), ONTABLE(g), LIME(l), SUGAR(s), INGLASS(s, g)

D: -

A: CRUSHED(l)

b)

(26)

ONTABLE(l) HANDEMPTY GLASS(g) ONTABLE(g) LIME(l) ONTABLE(s) GLASS(g) ONTABLE(g) SUGAR(s) ONTABLE(c) ONTABLE(i) GLASS(g) ONTABLE(g) ICE(i) LIME(l) ONTABLE(a)

HOLDING(l) HANDEMPTY INGLASS(l, g)

HOLDING(s) HANDEMPTY INGLASS(s, g)HOLDING(c) HOLDING(c) CRUSHED(l)

HANDEMPTY HOLDING(i) HANDEMPTY INGLASS(i, g)HOLDING(a) HOLDING(a)

pickup(l) dropinL(l, g) pickup(s) dropinS(s, g) pickup(c) crushL(l, c, g) putdown(c) pickup(i) dropinI(i) pickup(a) pourinA(a) GLASS(g) ONTABLE(g) LIME(l) …INGLASS(l, g)INGLASS(s, g)CRUSHED(l)INGLASS(i, g)INGLASS(a, g)HANDEMPTY SERVED(g)

putdown(a) serve(g)

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

(27)

Aufgabe 4 [STRIPS-Planung, Monkey-Bananas revisited]

a) Startzustand:

Monkey(Affe)^At (Affe, A)^Bananas(Banane)^At (Banane, B)^Box (Kiste)^

At(Kiste,C)^Height(Kiste,Low) ^Height(Affe, Low)^Height(Banane, High)^

Handempty(Affe)

Zielzustand:

Holding(Affe,Banane)

Es wurde ein neues Prädikat Handempty(x) eingeführt um sicherzustellen, dass der Affe nur ein Objekt halten kann. Dies ist für die Aufgabe allerdings nicht zwingend notwendig.

Beim Zielzustand darauf achten, dass nur Holding(Affe, Banane) angegeben wird. Alles andere ist eine Überspezifizierung des Zieles und kann eine längere Laufzeit zur Folge haben.

b)

Go(actor, location1, location2)

P: Monkey(actor)^At(actor,location1)^Height(actor, Low) D: At(actor, location1)

A: At(actor, location2)

Push(actor, object, location1, location2, height)

P: Monkey(actor)^At(actor, location1)^At(object, location1)^

Height(object, height)^Height(actor, height) D: At (actor, location1), At(object, location1)

A: At(object, location2), At(actor, location2) Climbup(actor, box, location)

P: Monkey(actor)^At(actor, location)^Box(box)^At(box, location)^

Height(actor, Low)^Height(box, Low)

D: Height(actor, Low)

A: Height(actor, High), On(actor, box) Climbdown(actor, box, location)

P: Monkey(actor)^At(actor, location)^Box(box)^At(box, location)^

Height(actor, High)^On(actor, box) D: Height(actor, High), On(actor, box) A: Height(actor, Low)

Grasp(actor, object, location, height)

P: Monkey(actor) ^At(actor, location)^At(object, location) ^

Height(actor, height)^Height(object, height)^Handempty(actor) D: At(object, location), Handempty (actor)

A: Holding(actor, object) Ungrasp(actor, object, location)

P: Monkey(actor)^At(actor, location)^Holding(actor, object)

(28)

D: Holding(actor, object)

A: At(object, location), Handempty(actor)

c) Go(Affe, A, C)

Push(Affe, Kiste, C, B, Low) Climbup(Affe, Kiste, B) Grasp(Affe, Banane, B, High)

Aufgabe 5 [Certainty Factors 1]

Hier: S = Schmerzen, G = Gewichtsverlust, E = Erbrechen

a)

Für bedingte Wahrscheinlichkeiten gilt:

) (

) ) (

|

( P B

B A B P

A

P = ∩ .

Also: 0,833

5 25

25 )

(

) ) (

|

( ≈

= +

¬

¬

= ∧

¬

P E G S

S G E GA S P

G E GA

P . (Die Werte lassen sich

direkt aus der Grafik ablesen.)

b)

7 , 1000 0 ) 700

(GA = =

P

795 , 440 0 350 49 32 4 5 95 219 25 11

95 219 25 ) 11

|

( = ≈

+ + + + + + +

+ +

= + E GA P

Wegen P(GA|E) ≥ P(GA) und P(GA) ≠ 1 gilt nach Definition für MB:

318 , 3 0 , 0

7 , 0 )

( 1

) ( )

| ) (

,

( = 4435− ≈

= −

GA P

GA P E GA E P

GA MB

Wegen P(GA|E) > P(GA) gilt nach Definition für MD:

0 ) , (GA E = MD

Und mit der Definition von CF:

318 , 0 ) , ( )

,

(GA E =MB GA ECF

Analog:

(29)

4 , 90 0 36 5 49 25 11

25 ) 11

|

( = =

+ + +

= +

¬

G E GA P

0 ) ,

(GA E∧¬G = MB

429 , 7 0

, 0

4 , 0 7 , 0 )

(

)

| ( ) ) (

,

( ∧¬ = − ∧¬ = − ≈

GA P

G E GA P GA G P

E GA MD

429 , 0 ) ,

(GA E∧¬G ≈− CF

833 , 30 0 ) 25

|

(GA E∧¬GS = ≈ P

444 , 3 0 , 0

7 , ) 0

,

( 3025− ≈

=

¬

G S E

GA MB

0 ) ,

(GA E∧¬GS = MD

444 , 0 ) ,

(GA E∧¬GSCF

Aufgabe 6 [Certainty Factors 2]

• CF[F, A]:

MB[C, A] ≝ MB[C, B] · MB[B, A] = 0,6 · 0,5 = 0,3 MD[C, A] ≝ MD[C, B] · MB[B, A] = 0 · 0,5 = 0

⇒ CF[C, A] ≝ MB[C, A] - MD[C, A] = 0,3 MB[F, A] = MB[F, C] · MB[C, A] = 0 · 0,3 = 0 MD[F, A] = MD[F, C] · MB[C, A] = 0,4 · 0,3 = 0,12

⇒ CF[F, A] = MB[F, A] - MD[F, A] = -0,12

• CF[F, E]:

CF1[C, E] = 0,6 (E→C)

CF2[C, E] = -1 · 0,5 = -0,5 (E→D→C)

⇒ CF[C, E] ≝

) ] , [ , ] , [ min(

1

] , [ ] , [

2 1

2 1

E C CF E C CF

E C CF E C CF

+ =

5 , 0 1

5 , 0 6 , 0

− = 0,2

CF[F, E] = -0,4 · 0,2 = -0,08

Aufgabe 7 [Modellbasierte Diagnose]

a)

Die Prädikatentypen type(C, T), ok(C), val(P, V) und conn(X, Y) seien wie in der Vorlesung definiert.

type(M, and) ∧ ok(M) ∧ val(in1(M), V1) ∧ val(in2(M), V2) ∧ (V3 = V1 ∧ V2) ⇒ val(out(M), V3) type(M, or) ∧ ok(M) ∧ val(in1(M), V1) ∧ val(in2(M), V2) ∧ (V3 = V1 ∨ V2) ⇒ val(out(M), V3)

(30)

type(M, xor) ∧ ok(M) ∧ val(in1(M), V1) ∧ val(in2(M), V2) ∧ (V3 = V1 ⊻ V2) ⇒ val(out(M), V3) val(P, V1) ∧ val(P, V2) ∧ V1 ≠ V2 ⇒ ⊥

conn(P1, P2) ∧ val(P1, V) ⇒ val(P2, V) conn(P1, P2) ∧ val(P2, Y) ⇒ val(P1, Y) type(g1, xor)

type(g2, and) type(g3, and) type(g4, xor) type(g5, or)

conn(out(g1), in1(g4)) conn(out(g1), in2(g2)) conn(out(g2), in1(g5)) conn(out(g3), in2(g5)) conn(in1(g1), in1(g3)) conn(in2(g1), in2(g3)) conn(in1(g4), in2(g2)) conn(in2(g4), in1(g2)) conn(a, in1(g1)) conn(a, in1(g3)) conn(b, in2(g1)) conn(b, in2(g3)) conn(c, in2(g4)) conn(c, in1(g2)) conn(u, out(g2)) conn(v, out(g3)) conn(w, out(g1)) conn(x out(g5)) conn(y, out(g4))

Hinweis: Es ist möglich, aber nicht zwingend notwendig, für einzelne Fälle (Wertbelegungen) weitere Constraints für die Bauteile anzugeben, was ggf. auch die Diagnosen in (c) verändert. Es ist jedoch nicht möglich, in jedem Fall von zwei bekannten Werten auf den dritten zu schließen!

b)

val(a, 1) val(b, 0) val(c, 1) val(u, 0) val(v, 0) val(w, 1) val(x 0) val(y, 0)

(31)

c)

Messung Diagnose y = 0 [ ]

x = 0 [ [g1]; [g2]; [g3]; [g5] ] * u = 0 [ [g1]; [g2] ]

v = 0 [ [g1]; [g2] ] w = 1 [ [g2] ]

* Hinweis: [g1, g4] würde ebenfalls zu einer konsistenten Diagnose führen, stellt jedoch nicht die kleinste Menge dar. [g1] ist unter obiger Systembeschreibung ohne g4 eine konsistente Diagnose, da mit ihr keine Information mehr über die Ausgabe für g1 vorliegt, damit val(in2(g4), V2) für alle Belegungen zu false auswertet, wodurch die Regel über die Ausgabe von g4 unabhängig von ok(g4) immer true ist.

d)

Der Schaltkreis ist ein (binärer) Addierer. Er berechnet die Summe von a, b und c.

(32)

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 B)

Lösungsvorschlag

Aufgabe 1 [Einführung in blackbox]

b)

Datei „affe.dom“:

(define (domain affe-banane)

(:requirements :strips) (:predicates (Monkey ?x)

(At ?x ?y)

(Height ?x ?y)

(Box ?x)

(Holding ?x ?y)

(On ?x ?y)

(Monkey ?x)

(Bananas ?X)

(Handempty ?actor)

)

(:action GO

:parameters(?actor ?location1 ?location2)

:precondition (and (Monkey ?actor) (At ?actor ?location1) (Height ?actor Low))

:effect (and (not (At ?actor ?location1)) (At ?actor

?location2)) )

(:action PUSH

:parameters(?actor ?object ?location1 ?location2 ?height)

:precondition (and (Monkey ?actor) (At ?actor ?location1) (At

?object ?location1)

(Height ?object ?height) (Height ?actor ?height))

:effect (and (not(At ?actor ?location1)) (not(At ?object ?location1)) (At

?object ?location2)

(At ?actor ?location2)) )

(:action CLIMBUP

:parameters (?actor ?box ?location)

:precondition (and (Monkey ?actor) (At ?actor ?location) (Box ?box) (At

?box ?location)

(Height ?actor Low) (Height ?box Low))

(33)

:effect (and (not (Height ?actor Low)) (Height ?actor High) (On ?actor

?box)) )

(:action CLIMBDOWN

:parameters (?actor ?box ?location)

:precondition (and (Monkey ?actor) (At ?actor ?location) (Box ?box) (At ?box ?location)

(Height ?actor High) (On ?actor ?box))

:effect (and (not(Height ?actor High)) (not(On ?actor ?box)) (Height

?actor Low)) )

(:action GRASP

:parameters (?actor ?object ?location ?height)

:precondition (and (Monkey ?actor) (At ?actor ?location) (At ?object

?location)

(Height ?actor ?height) (Height ?object ?height) (Handempty

?actor))

:effect (and (not(At ?object ?location)) (not (Handempty ?actor)) (Holding ?actor ?object))

)

(:action UNGRASP

:parameters (?actor ?object ?location)

:precondition (and (Monkey ?actor) (At ?actor ?location) (Holding ?actor

?object) )

:effect (and (not (Holding ?actor ?object)) (At ?object ?location) (Handempty ?actor))

) )

Datei „affe.prob“:

(define (problem affe1) (:domain affe-banane)

(:objects Affe A B C Banane Kiste High Low) (:init

(Monkey Affe) (At Affe A) (Bananas Banane) (At Banane B) (Box Kiste) (At Kiste C) (Height Kiste Low) (Height Affe Low) (Height Banane High) (Handempty Affe)

) (:goal

(Holding Affe Banane) )

)

Die beiden Dateien können Sie auch von der Vorlesungswebsite herunter laden.

c) Der neue Plan besteht darin, dass der Affe nun die Box greift, zur Banane läuft und die Box dort wieder fallen lässt.

Go(Affe, A, C)

Grasp(Affe, Kiste, C, Low) Go(Affe, C, B)

Ungrasp(Affe, Kiste, B) Climbup(Affe, Kiste, B) Grasp(Affe, Banane, B, High)

(34)

Aufgabe 2 [Grundlagen zu Prolog]

b)

(1) ?- elternteil(berta,X).

X = arthur ; X = ariadne ;

(2) ?- elternteil(X,barbara).

X = casanova ; X = heinz ;

(3) ?- elternteil(daisy,X), maennlich(X).

X = heinz ;

Aufgabe 3 [Regeln in Prolog]

a)

(1)

vater(Person, Vater) :- elternteil(Person, Vater), maennlich(Vater).

(2)

grossmutter(Person, Oma) :- elternteil(Person, X),

elternteil(X, Oma), weiblich(Oma).

(3)

urgrossvater(Person, Uropa) :- elternteil(Person, X),

elternteil(X, Y), elternteil(Y, Uropa), maennlich(Uropa).

(4)

schwester(Person, Schwester) :- elternteil(Person,Mutter), elternteil(Schwester,Mutter), elternteil(Person,Vater), elternteil(Schwester,Vater), weiblich(Mutter),

maennlich(Vater), weiblich(Schwester), Person \= Schwester.

(35)

(5)

tante(Person,Tante) :- elternteil(Person, X), schwester(X, Tante).

b)

(1)

vorfahr(Person, Vorfahr) :- elternteil(Person, Vorfahr).

vorfahr(Person, Vorfahr) :- elternteil(Person, X), vorfahr(X, Vorfahr).

(2)

nachkomme(Person, Nachkomme) :- elternteil(Nachkomme, Person).

nachkomme(Person, Nachkomme) :- elternteil(Nachkomme, X),

nachfahr(Person, X).

c)

(1)

verwandt(Person1, Person2) :- vorfahr(Person1, Person2).

verwandt(Person1, Person2) :- vorfahr(Person2, X),

vorfahr(Person1 ,X).

(2) bernd, berta, anton, anna, arthur, ariadne, boris, cosima, chris, donald, daisy

(3) nein

(36)

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

6. Übung

Lösungsvorschlag

Aufgabe 1 [Reason Maintenance Systeme]

a)

b)

(37)

c) AU(U2) = {U9} oder AU(U2) = {U10}

AU(U13) = {U17, U18}

Aufgabe 2 [Bildverstehen]

(38)

Aufgabe 3 [Bayes'sche Netze]

Gesuchte Wahrscheinlichkeiten basierend auf gegebenen Evidenzen:

c1 c2 c1 c2 c1 c2 c1 c2

a1 a2 a1

a2 α1 α2

b1 b2

d1 d2 d1 d2

e2 e1

Aus der Struktur des Netzes ergibt sich:

α1 = P(c1, a2, b2, d1, e2) = P(a2) · P(b2) · P(d1 | c1, b2) · P(e2 | c1) · P(c1 | a2) = 0,5 · 0,7 · 0,3 · 0,8 · 0,1 = 0,0084

α2 = P(c2, a2, b2, d1, e2) = P(a2) · P(b2) · P(d1 | c2, b2) · P(e2 | c2) · P(c2 | a2) = 0,5 · 0,7 · 0,1 · 0,4 · 0,9 = 0,0126

Normalisierung:

P(c1 | a2, b2, d1, e2) =

2 1

1 α α

α + =

0,021 0,0084

= 0,4

Referenzen

ÄHNLICHE DOKUMENTE

Das zu konstruierende semantische Netz soll laut 3.1 sowohl die akademische Lehre des Informationsmanagements als auch die Konstruktion entscheidungsunterstützender Werkzeuge

We rst will try to determine the new point group, which hopefully is C 2v , well hopefully we. didn't miss a

Bemerkung: Eine erfüllende Belegung zu berechnen ist stärker als nur die Existenz solch einer Belegung zu finden.. Aufgabe 3: Entailment

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

Könnt ihr euch noch an eine Formel erinnern, mit der ihr aus Masse und Volumen eines Gegenstandes seine Dichte berechnen könnt.

Natürlich kann die vorgestellte Theorie auch dann noch für den Entwurf einer Trajektorienfolgeregelung herangezogen werden, wenn das System nicht differenziell flach ist.. Dazu

Sucht euch einen Artikel aus und fasst die wesentlichen Bestimmungen daraus mit eigenen Worten zusammen2. Nutzt ein Beispiel aus eurem Alltag, bei dem dieser Artikel zur