Database Reference
In-Depth Information
ZIEL
ON(A,B)
ON(B,C)
ON(A,B)
STACK(A,B)
CLEAR(A)
ONTABLE(A)
CLEAR(B)
ON(C,A)
ONTABLE(A)
ONTABLE(B)
CLEAR(C)
CLEAR(B)
START
Abbildung 11.15
Nichtlinearer Plan zur Losung der Sussman-Anomalie (Forts.)
darf ein Operator
Op
1
mit einer Vorbedingung
c
1
nicht unmittelbar nach einem
Operator
Op
2
eingeplant werden, der
c
1
in seiner
D
-Liste hat.
Op
1
und
Op
2
bilden in
diesem Fall einen
Zielkonflikt
. Um Zielkonflikte moglichst fruhzeitig zu vermeiden,
werden z.B. Reihenfolgebedingungen in einen Plan eingefugt.
Als Beispiel nehmen wir an, dass wir den initialen Plan aus Abbildung 11.14
durch Hinzufugen des Operators
STACK(A,B)
erweitern, um das Teilziel
ON(A,B)
zu
erreichen. Der resultierende Plan ist in Abbildung 11.15 dargestellt. Die gestrichel-
te Linie zeigt die Verbindung zwischen dem
A
-Listen Element
ON(A,B)
und dem
Teilzeil, das damit erreicht wird.
Als nachste Plantransformation fugen wir den Operator
UNSTACK(C,A)
ein, um
die Vorbedingung
CLEAR(A)
von
STACK(A,B)
zu erreichen; als Reihenfolgebedingung
ergibt sich folglich, dass
UNSTACK(C,A)
vor
STACK(A,B)
kommen muss. Um das Teil-
ziel
ON(B,C)
zu erreichen, fugen wir anschließend den Operator
STACK(B,C)
in den
Plan ein. Außer der standardmaßigen Einordnung zwischen
START
und
ZIEL
haben
wir dafur zunachst keine weitere Reihenfolgebedingung. Der sich damit ergebende
nichtlineare Plan ist in Abbildung 11.16 skizziert.
Eine Analyse dieses Plans fordert nun die bestehenden Zielkonflikte zu Tage.
Der Operator
STACK(A,B)
bedroht die Vorbedingung
CLEAR(B)
von
STACK(B,C)
;
dieser Konflikt ist in Abbildung 11.16 durch die fett eingezeichnete Linie dargestellt.