Database Reference
In-Depth Information
Definition 9.15 (erweiterte und normale logische Programme)
Ein
erwei-
tertes logisches Programm
P
ist eine Menge von Regeln der Form
r :
H
←
A
1
,...,A
n
,
not
B
1
,...,
not
B
m
.
(9.3)
wobei H, A
1
,...,A
n
,B
1
,...,B
m
Literale sind und
not
einen einstelligen logischen
Junktor bezeichnet, der
Default-Negation
(
default negation
)oder
Negation als Fehl-
schlag
(
negation as failure
)genanntwird.H heißt der
Kopf
(
head
)vonr:
head
(r)=
{
H
}
und A
1
,...,A
n
,
not
B
1
,...,
not
B
m
bilden den
Rumpf
der Regel r.DieMengen
pos
(r)=
{
A
1
,...,A
n
}
und
neg
(r)=
{
B
1
,...,B
m
}
werden als
positive
und
negative Rumpfliterale
der Regel r bezeichnet. Regeln, die
keine Rumpfliterale enthalten, heißen
Fakten
und werden auch einfach als H. ge-
schrieben. Regeln ohne Kopfliteral (
head
(r)=
)heißen
Constraints
.
Regeln der Form (9.3) werden
(erweiterte) logische Regeln
genannt.
Norma-
le logische Programme
sind erweiterte logische Programme, in deren Regeln nur
(positive) Atome auftreten.
∅
Beachten Sie, dass Regeln ohne Kopfliteral nicht mehr (wie in Abschnitt 9.1)
Anfragen kennzeichnen, sondern als Constraints Teile des logischen Programms sind.
Constraints (auch
integrity constraints
genannt) haben die Aufgabe, unerwunschte
Modelle von der Semantik eines erweiterten logischen Programms auszuschließen
(siehe auch Abschnitt 9.7).
Nachdem wir in Definition 9.15 die Syntax erweiterter logischer Programme
festgelegt haben, mussen wir uns nun uber ihre formale Semantik Gedanken machen,
d.h., wir mussen der Frage nachgehen: Was sind sinnvolle Modelle erweiterter logi-
scher Programme? Analog zu Herbrandmodellen klassischer logischer Programme
wird die Semantik normaler logischer Programme durch Mengen von Grundatomen
(die sog. stabilen Modelle) definiert. Bei erweiterten logischen Programmen bieten
sich wegen des Auftretens der Negation Mengen von Grundliteralen als geeignete
Kandidaten fur die Definition solcher Modelle an (die sog. Antwortmengen). Abbil-
dung 9.4 dient zur Orientierung und gibt einen Uberblick uber die Komponenten
klassischer, normaler und erweiterter logischer Programme.
Definition 9.16 (komplementare Literale, Zustand)
Die
beiden
Literale
P (t
1
,...,t
n
) und
P (t
1
,...,t
n
)werden
komplementar
genannt. Ist l ein Literal,
so wird das dazu komplementare Literal mit l bezeichnet.
Eine Menge S von Grundliteralen heißt
konsistent
, wenn sie keine komple-
mentaren Literale enthalt. Eine konsistente Menge von Grundliteralen wird als
Zu-
stand
(
state
) bezeichnet.
¬
Erweiterte logische Programme verallgemeinern klassische logische Programme
in zweierlei Hinsicht: Zum einen erlauben sie Literale an Stelle von Atomen, und
zum anderen berucksichtigen sie explizit die Default-Negation. Damit sind bei der