Database Reference
In-Depth Information
oder der Tisch. Die betrachtete Zeitskala soll von 0 bis zu einer Obergrenze gehen,
die wir mit der Konstanten lasttime bezeichnen. Das Planungsprogramm arbeitet
(prinzipiell) nach dem “Generiere-und-Teste”-Prinzip, indem zunachst potentielle
Losungen generiert und diese dann auf Zulassigkeit uberpruft werden. Es muss
sicher gestellt sein, dass im Zielzustand die Zielanforderungen erfullt sind. Daher
filtern die folgenden Regeln alle Zustande heraus, in denen ein Block zum Zeitpunkt
lasttime nicht an dem gewunschten Ort platziert ist:
:- not on(3,2,lasttime).
% Ziel:
:- not on(2,1,lasttime).
%
:- not on(1,table,lasttime).
%
3
6
:- not on(6,5,lasttime).
%
2
5
:- not on(5,4,lasttime).
%
1
4
:- not on(4,table,lasttime).
%
--------------
Gilt beispielsweise on(3,2,lasttime)
S fur eine Literalmenge S,soerfullt S
nicht das Constraint :- not on(3,2,lasttime). Ein solches S kann daher nicht
Antwortmenge fur ein Programm sein, dass die obigen Regeln enthalt.
Die Abbildungen 11.17 - 11.19 zeigen ein komplettes Programm zur Planung in
der erweiterten Blockwelt, wobei Ausgangs- und Zielzustand wie gerade angegeben
sind. Das Programm ist in der Eingabesprache des SMODELS -Systems geschrieben.
In Abbildung 11.17 benutzt das Programm die drei einstelligen Pradikate time ,
block und location , mit denen Wertebereiche festgelegt werden.
Wie schon erwahnt, legt die Konstante lasttime eine Obergrenze fur die Lange
der Plane fest, die betrachtet werden sollen. Eine location ist ein Block oder der
time(0..lasttime).
location(B) :- block(B).
location(table).
% GENERATE
{ move(B,L,T) : block(B) : location(L) } grippers :- time(T),
T < lasttime.
% DEFINE
% Effekt, wenn ein Block bewegt wird
on(B,L,T+1) :- move(B,L,T),
block(B), location(L), time(T), T < lasttime.
% was sich nicht verandert
on(B,L,T+1) :- on(B,L,T), not -on(B,L,T+1),
block(B), location(L), time(T), T < lasttime.
% Eindeutigkeit des Ortes
-on(B,L1,T) :- on(B,L,T), L
= L1,
block(B), location(L), location(L1), time(T).
Abbildung 11.17 Planen mit SMODELS , Teil 1 (nach [140])
Search WWH ::




Custom Search