Database Reference
In-Depth Information
Die beiden Regeln unter DISPLAY (Abbildung 11.18) bewirken, dass SMODELS
nur die move -Atome einer Antwortmenge anzeigt. Bei dem Programm, das in den
Abbildungen 11.17 - 11.19 angegeben ist, erzeugt SMODELS das stabile Modell
{ move ( 3 , table , 0 ), move ( 1 , table , 0 ), move ( 5 , 4 , 1 ),
move ( 2 , 1 , 1 ), move ( 6 , 5 , 2 ), move ( 3 , 2 , 2 )
}
das einem Plan zur Losung des Problems entspricht.
Selbsttestaufgabe 11.7 ( SMODELS ) Begrunden Sie, warum eine Antwortmenge
zu dem gegebenen SMODELS -Programm jeweils keine der folgenden Mengen als
Teilmenge enthalten kann:
1.
{
}
move(5,table,0), move(6,3,0), move(5,3,1)
2.
{
}
move(5,table,0), -move(6,3,0), move(5,3,1)
3.
{ move(5,3,0), move(3,table,1) }
4.
{ move(5,3,0), move(1,6,0), not on(2,1,0) }
5.
{ move(3,2,2), move(5,6,2) }
6.
{ on(5,6,1), -on(6,table,0) }
11.8.3
Behandlung des Rahmenproblems
Die Blockwelt des obigen SMODELS -Programms ist komplexer als die Version der
Blockwelt, die wir in den vorhergehenden Abschnitten zur Illustration des Situati-
onskalkuls und STRIPS verwendet haben, da es mehrere Greifarme gibt und mehrere
Blocke gleichzeitig bewegt werden konnen. Im Situationskalkul und auch in STRIPS
wird die Vorbedingung, dass ein Block nur auf einen anderen Block gestellt werden
kann, wenn der Zielblock frei ist, explizit angegeben. Konnen mehrere Blocke gleich-
zeitig bewegt werden, ist diese Vorbedingung in dieser Form nicht mehr zutreffend.
So ist z.B. in dem in Abbildung 11.19 angegebenen Ausgangszustand die Aktion
move(3,6,0) moglich, wenn gleichzeitig Block 5 bewegt wird.
In dem SMODELS -Programm wird dieses Problem dadurch gelost, dass nicht
alle Vorbedingungen explizit angegeben werden mussen, sondern auch implizit spe-
zifiziert werden konnen. So verhindert das allgemeine Constraint, dass zwei ver-
schiedene Blocke nicht auf demselben Block sein konnen (erste Regel in Abbildung
11.18), Aktionen, bei denen ein Block auf einen Block gestellt wurde, der nicht frei
ist.
Auch die Effekte einer Aktion werden im Paradigma der Antwortmengen
nicht alle explizit, sondern auch implizit spezifiziert. Dazu betrachten wir die
Aktion move(1,table,0) . Diese Aktion hat Einfluss auf die relationalen Fluents
on(1,table) ,der true wird, und on(1,2) ,der false wird. Der erste dieser beiden
Effekte wird explizit durch die erste DFINE -Regel in Abbildung 11.17 beschrieben.
Der zweite Effekt dagegen wird indirekt beschrieben. Mit der dritten DFINE -Regel
in Abbildung 11.17 (“Eindeutigkeit des Ortes”) ist es namlich moglich abzuleiten,
dass sich Block 1 zum Zeitpunkt T=1 nicht mehr auf Block 2 befindet, da er jetzt
auf dem Tisch steht. Dies ist ein Beispiel dafur, dass indirekte Effekte von Aktionen
(vgl. Abschnitt 11.4.3) beim Planen mit Antwortmengen auch indirekt spezifiziert
werden konnen.
Search WWH ::




Custom Search