7 Logik erster Ordnung - BIOTEC
7 Logik erster Ordnung - BIOTEC
7 Logik erster Ordnung - BIOTEC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
7 <strong>Logik</strong> <strong>erster</strong> <strong>Ordnung</strong> 1<br />
7 <strong>Logik</strong> <strong>erster</strong> <strong>Ordnung</strong><br />
7.1 Syntax und Semantik<br />
7.1.1 Symbole<br />
7.1.2 Terme<br />
7.1.3 Atomare Sätze<br />
7.1.4 Zusammengesetzte Sätze<br />
7.1.5 Quantoren<br />
7.2 Erweiterungen und notationelle Varianten<br />
7.2.1 <strong>Logik</strong> höherer <strong>Ordnung</strong><br />
7.2.2 Der λ-Operator<br />
7.2.3 Eindeutigkeitsoperatoren<br />
7.2.4 Notationelle Varianten<br />
7.3 Zwei Anwendungsbereiche für die <strong>Logik</strong> <strong>erster</strong> Ordung<br />
7.4 Ein prädikaten-logischer Agent in der WUMPUS-Welt<br />
7.4.1 Eine Schnittstelle zwischen Umgebung und Agent<br />
7.4.2 Einfacher Reflex-Agent<br />
7.5 Repräsentation der Veränderungen in der Welt<br />
7.5.1 Der Situtationskalkül<br />
7.5.2 Wegverfolgung<br />
7.6 Entdeckung verborgener Eigenschaften in der Welt<br />
7.7 Rangfolge von Aktionen<br />
7.7.1 Präferenz zwischen Aktionen<br />
7.7.2 Ziele und gesteuerte Agenten<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 2<br />
7.1 Syntax und Semantik<br />
Syntax der <strong>Logik</strong> <strong>erster</strong> <strong>Ordnung</strong><br />
Satz → atomarer Satz<br />
| Satz Junktor Satz<br />
| Quantor V ariable, ...Satz<br />
| ¬Satz<br />
| (Satz)<br />
atomarer Satz → Prädikat(Term, ...) | Term = Term<br />
Term → Funktion(Term, ...)<br />
| Konstante<br />
| V ariable<br />
Junktor → ∧ | ∨ |⇔|⇒| ¬<br />
Quantor → ∀ | ∃<br />
Konstante → A | X 1 | Hans | ...<br />
V ariable → a | x | s | ...<br />
Prädikat → V or | HatFarbe | V erwandtMit | ...<br />
Funktion → Mutter | LinkesBeinV on | ...<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 3<br />
7.1.1 Symbole<br />
Konstantensymbole<br />
Bezeichner<br />
Variablensymble<br />
Bezeichner<br />
(repräsentieren Individuenkonstanten)<br />
KingJohn, 2, UCB<br />
(repräsentieren Individuenvariablen)<br />
x,y,...<br />
Funktionssymbole (repräsentieren funktionale Abhängigkeiten)<br />
Bezeichner Sqrt, F, ...<br />
Prädikatensymbole (Prädikate repräsentieren Eigenschaften<br />
über Objekte)<br />
Bezeichner Brother, p, q, ...<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 4<br />
7.1.2 Terme<br />
• Jede Variable ist ein Term.<br />
• Jede Konstante ist ein Term.<br />
• Wenn f ein n-stelliges Funktionssymbol ist und<br />
t 1 , ...,t n Terme sind, dann ist f(t 1 , ...,t n ) Term.<br />
Terme sind insbesondere Ausdrücke zur Symbolverarbeitung<br />
durch den Computer und beschreiben Objekte, über<br />
die Aussagen formuliert werden soll.<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 5<br />
7.1.3 Atomare Sätze<br />
Atomic sentence = predecate(term 1 , ...,term n )<br />
or term 1 = term 2<br />
Term = function(term 1 ,...,term n )<br />
or constant or variable<br />
E.g., Brother(KingJohn, RichardTheLionheart)<br />
> (Length(LeftLegOf(Richard)),<br />
Length(LeftLegOf(KingJohn)))<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 6<br />
7.1.4 Zusammengesetzte Sätze<br />
Complex sentences are made from atomic sentences<br />
using connectives<br />
¬S, S 1 ∧ S 2 , S 1 ∨ S 2 , S 1 ⇒ S 2 , S 1 ⇔ S 2<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 7<br />
7.1.5 Quantoren (1)<br />
Universelle Quantifizierung ∀ x p(x)<br />
Zur Repräsentation von natürlichsprachlichen Sätzen, die<br />
allgemeine regelartige Aussagen machen, kann der Allquantor<br />
benutzt werden.<br />
Schreibkonvention: Variable beginnen mit kleinen Buchstaben,<br />
Konstanten-, Prädikat- und Funktionssymbole<br />
mit Buchstaben.<br />
Eine Variable ist selbst ein Term und kann deshalb als Argument<br />
einer Funktion oder eines Prädikats benutzt werden.<br />
Ein Term, der keine Variable enthält, heißt Grundterm.<br />
Existentielle Quantifizierung ∃ x p(x)<br />
Existentiell quantifizierte Sätze können zur Repräsentation<br />
natürlichsprachlicher Sätze, die Aussagen über einige<br />
Objekte aus einer Menge machen, benutzt werden. Der<br />
logische Satz ∃xP ist wahr, wenn P wahr ist für irgendein<br />
Objekt aus einem Universum von Objekten.<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 8<br />
Quantoren (2)<br />
Geschachtelte Quantoren<br />
Komplexere Sätze werden oft mit mehreren Quantoren<br />
formuliert. Im einfachsten Fall hat man eine Folge gleichartiger<br />
Quantoren, also Sätze der Form ∀x 1 ∀x 2 ...∀x n P<br />
oder ∃x 1 ∃x 2 ...∃x n P. Solche Sätze werden abgekürzend<br />
geschrieben ∀x 1 , x 2 ,...,x n P bzw. ∃x 1 , x 2 , ...,x n P.<br />
Kommen Allquantoren und Existenzquantoren gemischt<br />
vor, dann ist die Reihenfolge wichtig. Eine Vertauschung<br />
der Reihenfolge verändert die Bedeutung eines Satzes.<br />
Grundlagen der KI WS 2007/2008
7.1 Syntax und Semantik 9<br />
Quantoren und Negation<br />
Die beiden Quantoren lassen sich mittels Negation ineinander überführen.<br />
Den De Morganschen Regeln für die Konjunktion und Disjunktion<br />
entsprechen Regeln für den All- und Existenzquantor:<br />
∀x¬P ≡ ¬∃xP ¬P ∧ ¬Q ≡ ¬(P ∨ Q)<br />
¬∀xP ≡ ∃x¬P ¬(P ∧ Q) ≡ ¬P ∨ ¬Q<br />
∀xP ≡ ¬∃x¬P P ∧ Q ≡ ¬(¬P ∨ ¬Q)<br />
∃xP ≡ ¬∀x¬P P ∨ Q ≡ ¬(¬P ∧ ¬Q)<br />
Gleichheit<br />
Zur Bildung von Sätzen in der <strong>Logik</strong> <strong>erster</strong> Ordung kann auch das<br />
Gleichheitszeichen als eine Art spezielles Prädikat verwendet werden.<br />
Sind t 1 und t 2 Terme, dann ist t 1 = t 2 ein Satz. Er ist wahr, wenn<br />
t 1 und t 2 unter einer Interpretation auf das gleiche Objekt referieren.<br />
Die Gleichheit wird also als Identitätsrelation interpretiert. Diese ist<br />
die zweistellige Relation, in der alle Paare in der ersten und zweiten<br />
Komponente dasselbe Objekt enthalten.<br />
Mit Hilfe der Gleichheit und der Negation kann ausgedrückt werden,<br />
dass zwei Objekt nicht identisch sind.<br />
Einsetzungsaxiom:<br />
p(t) ⇒ ∃x p(x)<br />
Gleichheitsaxiom:<br />
((t 1 = t ′ 1 ) ∧ (t 2 = t ′ 2 ) ∧ . . . ∧ (t n = t ′ n ))<br />
⇒ f(t 1 , . . . .t n ) = f(t ′ 1 , . . . , t′ n )<br />
Grundlagen der KI WS 2007/2008
7.2 Erweiterungen und notationelle Varianten 10<br />
7.2 Erweiterungen und notationelle<br />
Varianten<br />
7.2.1 <strong>Logik</strong> höherer <strong>Ordnung</strong><br />
Der Name ”<br />
<strong>Logik</strong> <strong>erster</strong> <strong>Ordnung</strong>“ kommt daher, dass<br />
man in dieser <strong>Logik</strong> nur über Objekte, d.h. über Entitäten<br />
<strong>erster</strong> <strong>Ordnung</strong> in de Welt, quantifizieren kann. In der<br />
<strong>Logik</strong> höherer <strong>Ordnung</strong> wird die Möglichkeit des Quantifizierens<br />
auf Relationen und Funktionen ausgedehnt. Damit<br />
lässt sich z.B. ausdrücken, dass zwei Objekte gleich<br />
sind, wenn sie in aller ihren Eigenschaften übereinstimmen,<br />
oder dass zwei Funktionen gleich sind, wenn sie für<br />
alle Argumente denselben Wert haben:<br />
∀x, y(x = y) ⇔ (∀p p(x) ⇔ p(y))<br />
∀f,g(f = g) ⇔ (∀x f(x) = g(x))<br />
Grundlagen der KI WS 2007/2008
7.2 Erweiterungen und notationelle Varianten 11<br />
7.2.2 Der λ-Operator<br />
Mit Hilfe des λ-Operators ist es möglich, Funktionen und<br />
Prädikate durch komplexe Ausdrücke statt nur durch<br />
einfache Symbole zu repräsentieren. Ist exp ein Ausdruck<br />
der die Variablen x 1 , x 2 ,...,x n enthält und eine<br />
Funktion auf diesen Variablen darstellt, dann ist<br />
λx 1 ,x 2 , ...,x n exp, genannt λ-Ausdruck, eine Repräsentation<br />
der Funktion, die in der gleichen Weise verwendet<br />
werden kann wie ein Funktionssymbol.<br />
Grundlagen der KI WS 2007/2008
7.2 Erweiterungen und notationelle Varianten 12<br />
7.2.3 Eindeutigkeitsoperatoren<br />
Um auszudrücken, dass es genau ein Objekt mit einer<br />
bestimmten Eigenschaft gibt, kann man den modifizierten<br />
Existenzquantor ∃! verwenden. Der Satz ∃!x P(x)<br />
besagt, dass es genau ein Objekt x mit der Eigenschaft<br />
P gibt. Er kann durch den Satz<br />
∃x P(x) ∧ ∀y P(y) ⇒ x = y<br />
umgeschrieben werden, d.h. der Eideutigkeitsoperator<br />
vergrößert nicht die Ausdrucksstärke der <strong>Logik</strong>.<br />
Mit Hilfe des Jota-Operators kann man ein als eindeutig<br />
existierend angenommenes und durch eine Eigenschft<br />
beschriebenes Objekt direkt bezeichnen. Mit dem Jota-<br />
Operator kann man also aus einem Satz einen Term bilden.<br />
Ist der Satz ∃!x P(x) gegeben, dann bezeichnet<br />
ι x P(x) genau das eine Objekt mit der Eigenschaft P.<br />
Grundlagen der KI WS 2007/2008
7.2 Erweiterungen und notationelle Varianten 13<br />
7.2.4 Notationelle Varianten<br />
Als Varianten der hier verwendeten Notationen werden<br />
in anderen Büchern, insbesondere in anderen Gebieten<br />
wie Mathematik oder Philosophie, manchmal<br />
die in der folgenden Tabelle aufgeführt verwendet.<br />
Operation Hier wen- Alternative Notationen<br />
wendete<br />
Notation<br />
Negation ¬P ∼ P P<br />
(nicht)<br />
Konjunktion P ∧ Q P&Q P · Q PQ P, Q<br />
(und)<br />
Disjunktion P ∨ Q P | Q P; Q P + Q<br />
(oder)<br />
Implikation P ⇒ Q P → Q P ⊃ Q<br />
(wenn-dann)<br />
Äquivalenz P ⇔ Q P ≡ Q P ↔ Q<br />
(genau wenn dann)<br />
Universelle<br />
Quantifizierung ∀x P(x) (∀x)P(x) ΛxP(x) P(x)<br />
(für alle)<br />
Existenzielle<br />
Quantifizierung ∃x P(x) (∃x)P(x) V xP(x)<br />
(es gibt ein) P(Skolem i )<br />
Relation R(x, y) (Rxy) Rxy xRy<br />
Grundlagen der KI WS 2007/2008
7.3 Zwei Anwendungsbereiche für die <strong>Logik</strong> <strong>erster</strong> Ordung 14<br />
7.3 Zwei Anwendungsbereiche für die<br />
<strong>Logik</strong> <strong>erster</strong> Ordung<br />
Grundlagen der KI WS 2007/2008
7.4 Ein prädikaten-logischer Agent in der WUMPUS-Welt 15<br />
7.4 Ein prädikaten-logischer Agent in<br />
der WUMPUS-Welt<br />
7.4.1 Eine Schnittstelle zwischen Umgebung<br />
und Agent<br />
• Wissensrepräsentationssprache:<br />
Prädikatenlogik (1. <strong>Ordnung</strong>)<br />
• Allgemeines Programm: (s.o. Fig. 6.1)<br />
A generic knowledge-based agent: [Fig. 7.2]<br />
function KB-AGENT(percept) returns an action<br />
static: KB, a knowledge base<br />
t, a counter, initially 0, indicating time<br />
TELL(KB,MAKE-PERCEPT-SENTENCE(percept,t))<br />
action ASK(KB,MAKE-ACTION-QUERY(t))<br />
TELL(KB,MAKE-ACTION-SENTENCE(t,action))<br />
t ←− t + 1<br />
return action<br />
• Typischer Wahrnehmungs-Satz:<br />
Percept([Stench,Breeze,Glitter,None,None],5)<br />
5 = Zeitindex<br />
• Typischer Aktions-Frage-Satz:<br />
∃a Action(a,5)<br />
ASK gibt Liste zurück für (beste) Aktion(en):<br />
z.B. a/Grab<br />
Grundlagen der KI WS 2007/2008
7.4 Ein prädikaten-logischer Agent in der WUMPUS-Welt 16<br />
Architekturen von Agenten<br />
(1) Reflex-Agenten<br />
Aktionen werden nur aus Wahrnehmungen abgeleitet.<br />
(2) Modell-gesteuerte Agenten<br />
Agent konstruiert und aktualisiert ein internes Modell<br />
der Welt und leitet daraus (kausal) Aktionen ab.<br />
(3) Ziel-gesteuerte Agenten<br />
Agent formuliert ein Ziel und sucht es zu finden.<br />
Grundlagen der KI WS 2007/2008
7.4 Ein prädikaten-logischer Agent in der WUMPUS-Welt 17<br />
Beispiel:<br />
7.4.2 Einfacher Reflex-Agent (1)<br />
∀ s,b,u, c,t Percept([s,b,Glitter, u, c],t)<br />
⇒ Action(Grab, t)<br />
o d e r<br />
.<br />
∀ s,b,u, c,t Percept([s,b,Glitter, u, c],t)<br />
⇒ AtGold(t)<br />
.<br />
∀ t AtGold(t) ⇒ Action(Grab, t)<br />
Die direkte Verknüpfung von Wahrnehmung und Aktion<br />
sollte aufgelöst werden in:<br />
– Wahrnehmung führt zu inneren Zuständen<br />
– von inneren Zuständen werden Aktionen abgeleitet<br />
Zerlegung notwendig bei sehr komplexen Wahrnehmungen,<br />
z.B. über Bilder (Computer Vision)<br />
Grundlagen der KI WS 2007/2008
7.4 Ein prädikaten-logischer Agent in der WUMPUS-Welt 18<br />
Einfacher Reflex-Agent (2)<br />
Probleme des Reflex-Agenten:<br />
• Nicht vollständig (logisch) entscheidbar:<br />
z.B. Wann ’climb’?<br />
Er weiß nicht, ob er Gold hat<br />
und ob er im Startkästchen ist.<br />
−→ nur darstellbar im Weltmodell, da keine<br />
Perzeption dafür existiert!<br />
• Gefahr von unendlichen Zyklen, da ein erreichter Perzeptionszustand<br />
bereits einmal vorkam und dann auch<br />
gleiche Aktion folgt.<br />
−→ nur durch Randonisierung vermeidbar,<br />
aber auf Kosten der Effizienz<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 19<br />
7.5 Repräsentation der Veränderungen<br />
in der Welt<br />
(1) Speichern der Wahrnehmungsfolge<br />
(Vergangenheit)<br />
−→ mühevolles Schließen<br />
(2) Konstruktion eines Modells der Welt und aktualisieren<br />
des Modells (diachronische Regeln)<br />
−→ Vergangenheit vergessen<br />
(1) in (2) überführbar<br />
(3) Situationen (zeitabhängige Modelle)<br />
• Speicherung einer Folge von Modellen<br />
−→ Vergangenheit (in Grenzen) aufbewahren.<br />
−→ Umschaltung, nicht gleichzeitig<br />
• Situationskalkül<br />
ein zeitabhängiges Modell<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 20<br />
7.5.1 Der Situtationskalkül<br />
In situation calculus, the world is a sequence of situations linked by actions: [Fig. 7.3]<br />
PIT<br />
Gold<br />
PIT<br />
PIT<br />
PIT<br />
PIT<br />
S 3<br />
Gold<br />
Forward<br />
PIT<br />
PIT<br />
PIT<br />
S<br />
2<br />
Gold<br />
PIT<br />
PIT<br />
Turn (Right)<br />
Gold<br />
PIT<br />
S<br />
1<br />
Forward<br />
PIT<br />
S<br />
0<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 21<br />
Situations-Kalkül<br />
• Statt Prädikat At(Agent, location):<br />
At(Agent, [1,1],S 0 )<br />
nur bei veränderlichen Prädikaten notwendig!<br />
• Verfolgung der Situation mit einer Funktion:<br />
Result(Forward,S 0 ) = S 1<br />
Result(Turn(Right),S 1 ) = S 2<br />
Result(Forward,S 2 ) = S 3<br />
allgemein:<br />
Result(action, S i ) = S j<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 22<br />
Effect-Axiome<br />
beschreiben Veränderungen der Welt<br />
∀ x, s Holding (x, Result(Grab, s))<br />
∀ x, s ¬Holding (x, Result(Release, s))<br />
allgemein:<br />
∀ x, s Pred(x, Result(action, s))<br />
Frame-Axiome<br />
beschreiben das Erhaltenbleiben der Welt<br />
∀ a, x, s Holding (x, s) ∧ (a ≠ Release) ⇒<br />
Holding (x, Result(a, s))<br />
Successor-State-Axiome<br />
Kombination von Effekt- und Frame-Axiomen<br />
∀ a, x, s Holding (x, Result(a, s)) ⇔ [(a = Grab ∧<br />
Present(x, s) ∧ Portable(x))<br />
∨ (Holding (x, s) ∧ a ≠ Release)]<br />
allgemein:<br />
true afterwards ⇔ [an action made it true ∨<br />
true already and no action<br />
made it false]<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 23<br />
7.5.2 Wegverfolgung (z.B. WUMPUS-Welt)<br />
Der Agent benötigt folgendes Wissen (1):<br />
• Die Richtung, in die er blickt. Sie wird durch einen<br />
Winkel in Graden angegeben, die x-Achse hat den<br />
Winkel 0, die y-Achse den Winkel 90 usw. Blickt der<br />
Agent am Anfang am Anfang nach Osten, d.h. in<br />
Richtung der x-Achse, dann heißt die anfangssituation<br />
Orientation(Agent, S 0 ) = 0<br />
• Die Anordnung von Orten, d.h. eine einfache<br />
Landkarte. Diese Landkarte besteht aus den Werden<br />
der Funktion OrtInRichtung, die aus einer Ortsangabe<br />
und einer Richtung die Ortsangabe für einen<br />
Ort erzeugt, der einen Schritt vorwärts in der angegebenen<br />
Richtung liegt. Für einen Ort (Quadrat) mit<br />
den Koordinaten x und y liefert die Funktion für die<br />
vier Himmelsrichtungen folgende Werte:<br />
∀ x, y LocationToward ([x,y], 90) = [x, y + 1]<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 24<br />
Der Agent benötigt folgendes Wissen (2):<br />
• Damit lässt sich formulieren, welcher Ort vor einem<br />
Agnten p liegt, der sich in Situation s am Ort l befindet:<br />
∀p,l, sAt(p,l, s) ⇒ LocationsAhead(p, s) =<br />
LocationToward(l, Orientation(p, s))<br />
• Nachbarschaftsbeziehungen zwischen Orten kann<br />
man ebenfalls mit der Funktion definieren:<br />
∀ l 1 , l 2 Adjacent(l 1 , l 2 ) ⇔ ∃ d l 1 =<br />
LocationToward(l 2 ,d)<br />
• Informationen über den Inhalt von Orten. Es<br />
wird angenommen, dass auf den Quadraten des 4×4-<br />
Gitters sich keine Wände befinden, aber auf allen diese<br />
umgebenden Quadraten.<br />
∀x, yWall([x, y]) ⇔ (x = 0 ∨ x = 5 ∨ y =<br />
5 ∨ y = 0)<br />
Grundlagen der KI WS 2007/2008
7.5 Repräsentation der Veränderungen in der Welt 25<br />
Der Agent benötigt folgendes Wissen (3):<br />
• Wissen über Ortsveränderungen des Agenten.<br />
Die Ortsbefindlichkeit ist also zeitabhängig, deshalb<br />
wird für das Prädikat An ein Folgezustandsaxiom benötigt.<br />
∀a,d,p,sAt(p,l, Result(a, s)) ⇔ [(a =<br />
Forward ∧ l = LocationsAhead(p, s) ∧<br />
¬Wall(l)) ∨ (At(p,l, s) ∧ a ≠ Forward)]<br />
• Wissen über Richtungsveränderungen des<br />
Agenten. Die Orientierung ist also zeitabhängig,<br />
deshalb wird für die Funktion Orientierung ein Folgezustandsaxiom<br />
benötigt.<br />
∀a,d,p,sOrientation(p, Result(a, s)) = d ⇔<br />
[(a = Turn(Right) ∧ d =<br />
Mod(Orientation(p, s) − 90,360))∨<br />
(a = Turn(Left) ∧ d =<br />
Mod(Orientation(p, s) + 90,360)) ∨<br />
(Orientation(p, s) = d∧<br />
¬(a = Turn(Left) ∨ (a = Turn(Right)))]<br />
Grundlagen der KI WS 2007/2008
7.6 Entdeckung verborgener Eigenschaften in der Welt 26<br />
7.6 Entdeckung verborgener<br />
Eigenschaften in der Welt<br />
Orten können Eigenschaften zugeordnet werden, die z.B.<br />
aus Wahrnehmungen abgeleite werden.<br />
• z.B. Feststellung, daß ein Feld ’windig’ ist:<br />
∀l,sAt(Agent, l, s) ∧ Breeze(s) ⇒ Breezy(l)<br />
s ... Situation<br />
l ... Ort<br />
−→ Wahrnehmung des Agenten → Eigenschaften eines<br />
Teiles der Welt<br />
• Gleichzeitig,<br />
daraus ableitbar, daß Nachbarfelder nicht OK sind<br />
Sichere Orte, d.h. solche, an denen sich weder das Wumpus<br />
noch Fallgruben befinden, werden durch Prädikat<br />
OK gekennzeichnet. Zur Ableitung von Wissen über sichere<br />
Orte aus den Wahrnehmungen bzw. Eigenschaften<br />
von Orten und dem Wissen ober das Wumpus, die Fallgruben<br />
und lokale Beziehungen werden Axiome formuliert,<br />
die ”<br />
synchrone Regeln “ heißen, weil sie verschiedene<br />
Eigenschaften desselben Weltzustandes zueinander<br />
in Beziehung setzen.<br />
Grundlagen der KI WS 2007/2008
7.6 Entdeckung verborgener Eigenschaften in der Welt 27<br />
Arten von Synchron-Regeln:<br />
• Kausale Regeln:<br />
Kausale Regeln geben die Richtung einer angenommenen<br />
Kausalität in der Welt wieder. Es wird angenommen,<br />
dass irgendwelche verborgenen Eigenschaften<br />
die wahrgenommenen Erscheinungen verursachen.<br />
∀l 1 ,l 2 ,sAt(Wumpus,l 1 ,s)<br />
∧Adjacent(l 1 ,l 2 ) ⇒ Smelly(l 2 )<br />
Ursache ⇒ Wirkung<br />
−→ model-based-reasoning!<br />
• Diagnostische Regeln:<br />
Diagnostische Regeln leiten das Vorhandensein verborgener<br />
Eigensachften direkt aus den Wahrnehmungen<br />
ab. Beispiele sind die bereits oben aufgeführtenbeiden<br />
Regeln.<br />
∀ l, s At(Agent, l, s) ∧ Breeze (s) ⇒ Breezy (l)<br />
Wahrnehmung ⇒ Weltzustand<br />
Grundlagen der KI WS 2007/2008
7.7 Rangfolge von Aktionen 28<br />
7.7 Rangfolge von Aktionen<br />
ZIEL:<br />
7.7.1 Präferenz zwischen Aktionen<br />
Beste Handlung (Optimierung)<br />
ACTION-VALUE-SYSTEM:<br />
Bewertungen: Great, Good, Medium, Risky, Deadly<br />
AUSWAHLAXIOM:<br />
∀a, s Great(a, s) ⇒ Action(a, s)<br />
∀a, s Good(a, s) ∧ (¬ ∃bGreat(b, s)) ⇒ Action(a, s)<br />
∀a, s Medium(a, s) ∧ (¬ ∃bGreat(b, s) ∨ Good(b, s))<br />
⇒ Action(a, s)<br />
∀a, s Risky (a, s) ∧ (¬ ∃bGreat(b, s) ∨ Good(b, s)<br />
∨ Medium(b, s)) ⇒ Action(a, s)<br />
IN WUMPUS-WORLD:<br />
Great:<br />
Good:<br />
Gold nehmen und aussteigen<br />
Gehen nach OK und noch nicht untersucht<br />
(z.B. (1, 1) → (1, 2))<br />
Medium: Gehen nach OK und bereits untersucht<br />
(z.B. (2, 1) → (1, 1))<br />
Risky:<br />
Gehen nach Kästchen, wo keine Gefahr bekannt<br />
(z.B. (3, 2) → (4, 2))<br />
Grundlagen der KI WS 2007/2008
7.7 Rangfolge von Aktionen 29<br />
7.7.2 Ziele und Aktionsfolgen<br />
In WUMPUS-Welt 2 Politiken (nacheinander ausführen)<br />
(1) Finden des Goldes,<br />
realisierbar durch action-value-System<br />
(2) Aussteigen mit dem Gold,<br />
so schnell wie möglich:<br />
∀s Holding (Gold, s) ⇒ GoalLocation([1, 1],s)<br />
(Explizites Ziel! → Ermittlung einer Handlungsfolge)<br />
Grundlagen der KI WS 2007/2008
7.7 Rangfolge von Aktionen 30<br />
Zur Bestimmung einer Aktionsfolge gibt es mindestens<br />
drei verschiedene Möglichkeiten:<br />
• SCHLIESSEN: (ASK nach sicherem Rückweg)<br />
mühevoll bei großen Welten, schwierig für Optimierung<br />
(Rückweg ist ein komplexer Satz)<br />
• SUCHE:<br />
Transformation in Zustandsraum<br />
(KB → Handlungsfolge<br />
→ Zustandsraum)<br />
• PLANUNG:<br />
spezielles Schlußfolgerungssystem (Kapitel 11)<br />
Grundlagen der KI WS 2007/2008