Database Reference
In-Depth Information
10.2.7
Antwortverhalten von DeLP-Programmen
Zu einem gegebenen DeLP-Programm
konnen Anfragen in Form eines Lite-
rals gestellt werden. Mittels der in den vorigen Abschnitten dargestellten dialekti-
schen Analyse von Argumenten ermittelt der DeLP-Interpreter, ob es ein letztend-
lich erfolgreiches Argument fur das angefragte Literal gibt. Dabei hat der DeLP-
Interpreter das folgende Antwortverhalten auf eine Anfrage ?h:
P
yes
wenn h garantiert ist,
no
wenn ¬h garantiert ist,
undecided
wenn weder h noch
¬
h garantiert ist.
Als eine weitere Antwortmoglichkeit kann auch noch
unknown
fur den Fall genom-
men werden, dass das in h verwendete Symbol gar nicht in der Sprache von
P
auftritt; diesen Fall werden wir aber nicht weiter berucksichtigen.
Um entscheiden zu konnen, ob ein Literal h von
P
garantiert wird, muss ver-
sucht werden, ein Argument
mit U
markiert ist. Die Konstruktion eines Arguments fur ein gegebenes h ist einfach, da
man sich an den Regeln in
A
,h
zu finden, so dass die Wurzel von
T
∗
A,h
P
mit h als Regelkopf orientieren kann. Wenn es mehre-
re Argumente
fur h gibt, werden diese sequentiell uberpruft;
wird ein Garant fur h gefunden, dann ist die Antwort
yes
.WirdkeinGarantfur
h gefunden, so wird uberpruft, ob
A
1
,h
, ...,
A
n
,h
h garantiert ist. Wenn dies der Fall ist, wird
als Antwort
no
ausgegeben. Ist auch
¬
h nicht garantiert, dann ist die ausgegebe-
ne Antwort
undecided
. Man kann zeigen (s. [231]), dass nicht gleichzeitig h und
¬
¬
h garantiert sein konnen, somit ist das Antwortverhalten eindeutig. In [231] wird
auch das Antwortverhalten von DeLP-Programmen mit der Antwortmengenseman-
tik verglichen; dieses entspricht im Allgemeinen etwa einer leichtglaubigen Inferenz
auf der Basis von Antwortmengen.
Im Folgenden geben wir einige Beispiele an, die das Antwortverhalten von
DeLP-Programmen und die Bestimmung der jeweiligen Antworten illustrieren.
Beispiel 10.51 (Tina 8)
Fur
P
tina
=(Π, Δ) aus Beispiel 10.5 mit
⎧
⎨
⎫
⎬
bird
(x)
←
chicken
(x).
⎧
⎨
⎫
⎬
bird
(x)
←
penguin
(x).
flies
(x)
−
bird
(x).
¬
flies
(x)
−
chicken
(x).
¬
penguin
(x).
chicken
(
tina
).
penguin
(
tweety
).
scared
(
tina
).
flies
(x)
←
Π=
, Δ=
flies
(x)
chicken
(x),
scared
(x).
nests in trees
(x)
−
⎩
⎭
⎩
⎭
−
flies
(x).
ist die Menge der ableitbaren Literale gegeben durch:
F
P
tina
=
{
chicken
(
tina
),
penguin
(
tweety
),
scared
(
tina
),
bird
(
tina
),
bird
(
tweety
),
¬
flies
(
tina
),
nests in trees
(
tina
),
nests in trees
(
tweety
)
flies
(
tweety
),
flies
(
tina
),
flies
(
tweety
),
¬
}
Wir untersuchen nun, wie DeLP auf Fragen nach den Flugfahigkeiten und dem
Nistverhalten bezogen auf Tina und Tweety auf der Basis von
P
tina
anwortet.