Database Reference
In-Depth Information
R-STRIPS ( G , Start )
Eingabe: G Ziel (Menge von Grundliteralen)
Start Datenbasis (Menge von Grundliteralen)
Ausgabe: P
Plan (Liste von Operatoren)
1. P := [
]
% leerer Plan als Initialisierung
2. S := Start
3. while G S do
4.
g := ein Element aus G ,dasnichtin S enthalten ist
5.
Op := eine Grundinstanz (C,D,A) einer Regel R ,sodass g
A
6. P C := R-STRIPS( C ,S)
7. S := Op(P C (S) )
8. P := P + P C +[ Op ]
end while
9. return ( P )
Abbildung 11.7 Rekursiver STRIPS -Algorithmus
verknupfen sind. Daher reduziert sich der Test, ob alle Ziele aus G in S erfullt sind,
auf die Mengeninklusion G S (Zeile (3.)).
In der Zeile (4.) von R-STRIPS findet eine Auswahl statt. Fuhrt die getroffene
Wahl von g nicht zum Erfolg, so muss hierher zuruckgesetzt werden, um auch die
anderen Wahlmoglichkeiten fur g zu berucksichtigen. Zeile (5.) stellt ebenfalls einen
Rucksetzpunkt dar, da es verschiedene Regeln R und fur jedes solche R auch ver-
schiedene Operatoren Op (Grundinstanzen von R )mit (C, D, A) geben kann, die g
in der A -Liste haben. Da Op das Ziel g erzeugt, kann es als “Mittel fur den Zweck” g
verwendet werden. In (6.) wird durch rekursiven Aufruf von R-STRIPS ein Plan P C
- von der augenblicklichen Datenbasis S ausgehend - erzeugt, der die Vorbedingun-
gen C von Op generiert. Auf S konnen wir dann zunachst P C und anschließend Op
anwenden (7.). Der bisher erzeugte Plan P wird entsprechend zunachst um P C und
dann um [ Op ] erweitert (8.). Anschließend wird in der Abfrage der while-Schleife
wieder uberpruft, ob nun alle Ziele in der erreichten Datenbasis S gelten. Ist dies
der Fall, wird der so erzeugte Plan P zuruckgegeben.
Die Arbeitsweise von R-STRIPS wollen wir an einem Beispiel erlautern. Dazu
erweitern wir unsere Blockwelt um eine zusatzliche Operation MOVE(x,y,z) ,die
Block x von Block y herunternimmt und auf Block z setzt (und damit der Sequenz
[ UNSTACK(x,y) , STACK(x,z) ] entspricht). Die entsprechende STRIPS -Regel fur MOVE
ist:
MOVE(x,y,z) : C: ON(x,y) , CLEAR(x) , CLEAR(z)
D: ON(x,y) , CLEAR(z)
A: ON(x,z) , CLEAR(y)
Gegeben seien Ausgangsdatenbasis Start und Ziel G wie in Abbildung 11.8
dargestellt. Wenn wir nun annehmen, dass R-STRIPS als erstes Teilziel ON(A,B)
Search WWH ::




Custom Search