Database Reference
In-Depth Information
A
STACK(A,B)
B
B
A
C
C
Vorbedingung:
ONTABLE(A)
CLEAR(A)
CLEAR(B)
Datenbasis vorher:
Datenbasis nachher:
D-Liste
A-Liste
ON(A,B)
ONTABLE(A)
CLEAR(B)
⎫
⎬
⎧
⎨
CLEAR(A)
ON(B,C)
ONTABLE(C)
CLEAR(A)
ON(B,C)
ONTABLE(C)
⎭
⎩
unverandert
Abbildung 11.5
Anwendung eines
STRIPS
-Operators
erhalt man, indem man σ auch auf die
D
- und die
A
-Liste anwendet. Damit sicher-
gestellt ist, dass unter σ auch die
D
-Liste und die
A
-Liste keine freien Variablen
mehr enthalten, durfen in einer
STRIPS
-Regel in
D
oder
A
keine freien Variablen
auftreten, die nicht auch in
C
auftreten. Abbildung 11.5 zeigt die Anwendung eines
STRIPS
-Operators.
Wenn ein Op erator
Op
auf eine Datenbasis
S
1
anwendbar ist und
S
1
in
S
2
uberfuhrt, schreiben wir dafur
S
2
=
Op
(
S
1
)
Ein
Plan
ist eine Operatorliste
P=
[
Op
1
,
...
,Op
n
]. Das Ergebnis einer Anwendung
von
P
auf eine Datenbasis
S
ist
P(S) = Op
n
(
...
(Op
1
(S))
...
)
Fur zwei Plane
P
und
P'
ist
P+P'
der Plan, der durch Hintereinanderschaltung
von
P
und
P'
-zuerst
P
,dann
P'
- entsteht. Mit [ ] bezeichnen wir den leeren Plan.
Planen kann man nun als Suchproblem auffassen. Der Suchraum enthalt dabei
alle
STRIPS
-Datenbasen. Zwischen zwei Datenbasen
S
1
und
S
2
besteht ein mit einem
Operator
Op
markierter Ubergang, wenn
Op(S
1
)=S
2
gilt. Diesen Suchraum kann
manentwederinVorwartsrichtung, ausgehend von der Startdatenbasis, oder in
Ruckwartsrichtung, von der Zielbeschreibung ausgehend zur Startdatenbasis hin,
durchsuchen.