Database Reference
In-Depth Information
11.4
Probleme
11.4.1
Das Rahmenproblem
Die am Ende des vorigen Abschnitts erlauterte Schwierigkeit, Gultigkeit von For-
meln auf nachfolgende Situationen zu ubertragen, ist als das sog. Rahmenproblem
( frame problem ) bekannt. Die Vorstellung dabei ist, dass sich alles, was sich ge-
wissermaßen als Rahmen um die betrachtete Operatoranwendung befindet, auf die
neue Situation ubertragt. Um zu formalisieren, dass sich zwei Blocke, die beide bei
einer STACK -Operation nicht bewegt wurden, noch aufeinander befinden, wenn dies
vorher der Fall war, benutzen wir folgende Formel:
= u
ON(x,y,s)
x
ON(x,y,do(STACK(u,v),s))
Umgekehrt mussen wir auch noch formalisieren, dass sich ein Block nach einer
STACK -Operation nicht auf einem anderen befindet, wenn dies vorher nicht der Fall
war und er bei der Operation nicht darauf gesetzt wurde:
¬ ON(x,y,s) ∧ ( x = u y = v ) ⇒¬ ON(x,y,do(STACK(u,v),s))
Diese Art von Formeln werden Rahmenaxiome ( frame axioms ) genannt. In Analogie
zu positiven und negativen Effektaxiomen ist das zuerst angefuhrte Rahmenaxiom
ein positives , das zweite ein negatives Rahmenaxiom. Zu allem Uberfluss reichen aber
die beiden angegebenen Rahmenaxiome fur den STACK -Operator selbst in unserer
einfachen Blockwelt immer noch nicht aus. Neben dem Nicht-Effekt auf die Relation
ON mussen wir auch noch Rahmenaxiome bzgl. der anderen relationalen Fluents
ONTABLE und CLEAR angeben.
Ein Block befindet sich auch nach einer STACK -Operation auf dem Tisch bzw.
nicht auf dem Tisch, wenn er bei der Operation nicht bewegt wurde:
ONTABLE(x,s) x
= u
ONTABLE(x,do(STACK(u,v),s))
¬ ONTABLE(x,s) x
= u ⇒¬ ONTABLE(x,do(STACK(u,v),s))
Selbsttestaufgabe 11.3 (Rahmenaxiome) Formulieren Sie zunachst verbal
und dann in Pradikatenlogik Rahmenaxiome fur den STACK -Operator bzgl. der Re-
lation CLEAR .
Auch fur den UNSTACK -Operator (vgl. Selbsttestaufgabe 11.1) mussen wir explizite
Rahmenaxiome angeben. Analog zur Situation bei STACK sind das jeweils Rah-
menaxiome fur die relationalen Fluents ON , ONTABLE und CLEAR :
ON(x,y,s) x
= u
ON(x,y,do(UNSTACK(u,v),s))
¬ ON(x,y,s)
⇒¬ ON(x,y,do(UNSTACK(u,v),s))
ONTABLE(x,s)
ONTABLE(x,do(UNSTACK(u,v),s))
¬ ONTABLE(x,s) x
= u ⇒¬ ONTABLE(x,do(UNSTACK(u,v),s))
CLEAR(x,s)
CLEAR(x,do(UNSTACK(u,v),s))
¬ CLEAR(x,s) x
= v
⇒¬ CLEAR(x,do(UNSTACK(u,v),s))
Search WWH ::




Custom Search