¨Ubung Intelligente Agenten Beispiel für Signaturen, Strukturen

Werbung
Übung Intelligente Agenten
Kitzelmann
SS 09
Beispiel für Signaturen, Strukturen/Modelle, Folgerung
Hier das in der Übung vorgestellte Blocksworld-Beispiel zu Signaturen, Strukturen und
Modellen (vergleiche auch Lecture 5: First-Order Logic).
1 Signatur
Σ = (OP, R) mit
• Funktionssymbolen OP = {a0 , b0 , c0 , topof 1 },
• Relationssymbolen R = {on 2 , clear 1 , ontable 1 }.
Die hochgestellten natürlichen Zahlen an den Symbolen geben die Anzahl ihrer Argumente (ihre Stelligkeit) an. Funktionssymbole mit Stelligkeit 0 heißen Konstanten.
Eine wohlgeformte Formel hinsichtlich Σ ist z.B::
(∃x on(x, a) → ¬clear (a)) ∧ ∃y clear (topof (y))
(1)
2 Strukturen
Die Symbole in der Signatur sind für sich bedeutungslos. Um mit ihnen die vorgestellte
Blocksworld zu beschreiben definieren wir ein Universum U von Objekten und weisen,
mittels einer Interpretationsfunktion I, jedem Symbol die intendierte Bedeutung bzgl.
U zu.
Für eine Signatur Σ heißt das Paar A = (U, I) Σ-Struktur. Um die Bedeutung eines
Symbols s auszudrücken schreiben wir statt I(s) auch kurz sA .
Eine mögliche Struktur A = (U, I) für obige Beispiel-Signatur Σ wäre:
Ein Universum bestehend aus den drei Blöcken A, B und C:
U = {A, B, C} .
1
Konstanten bezeichnen Objekte im Universum, z.B.
aA = A,
bA = B,
cA = C .
(Also: Das Symbol a bezeichnet den Block A usw.)
Funktionssymbole mit Stelligkeit > 0 bezeichnen Funktionen mit Argumenten über U,
also Objekte in Abhängigkeit von (anderen) Objekten, z.B.
topof A : U → U : {A 7→ B, B 7→ C} .
(Also: topof (A) = B, topof (B) = C.)
Relationssymbole bezeichnen Relationen/Prädikate zwischen Objekten im Universum,
also Teilmengen von Produktmengen über U, z.B.:
on A = {(B, A), (C, B)} ⊆ U × U,
clear A = {C} ⊆ U,
ontable A = {A} ⊆ U .
(Also: on(B, A), on(C, B) gilt bzw. B liegt auf A und C auf B; C ist frei usw.)
3 Modelle, Allgemeingültigkeit, Erfüllbarkeit
Hat man eine Struktur definiert, kann man ermitteln, ob eine Formel bzgl. dieser Struktur
wahr ist, also ihren Wahrheitswert bzgl. der Struktur ermitteln. (Die Quantoren ∃, ∀ und
die Junktoren →, ∧ usw. haben eine feste Bedeutung und werden daher nicht durch eine
Interpretationsfunktion im Rahmen einer Struktur festgelegt.)
Formel (1) z.B. ist wahr in unserer Beispielstruktur: Es existiert ein x, nämlich B, so
dass on(x, a) wahr ist: on(B, A) ist wahr, da on A das Paar (B, A) enthält. Also muss
nun auch ¬clear (a) wahr sein wegen der Implikation. Das ist der Fall, da A nicht in der
Menge clear A enthalten ist. Die linke Hälfte der Formel Formel ist also wahr. Nun muss
die rechte Hälfte auch wahr sein, da ein ∧ (und) die beiden Seiten verbindet. Dafür muss
ein y existieren, so dass clear (topof (y)) wahr ist. Dieses y ist B, denn topof (B) ist C
und C ist in clear A enthalten.
Eine Struktur A, in der eine Formel ϕ zu wahr auswertet, heißt Modell für die Formel ϕ
und man schreibt: A |= ϕ. Unsere Beispielstruktur ist also ein Modell für die Formel (1),
A |= (1).
Ein Beispiel für eine (wohlgeformte) Formel, die in unserer Struktur unwahr ist, ist z.B.
clear (b), denn bA = B ist nicht in clear A enthalten. Unsere Beispiel-Struktur ist also
kein Modell für clear (b).
Wenn eine Formel wenigstens ein Modell hat, heißt sie erfüllbar (ansonsten kontradiktorisch). Sowohl die Formel (1) als auch clear (b) sind erfüllbar. Ein Beispiel für eine
kontradiktorische Formel wäre a ∧ ¬a. Falls jede mögliche Struktur ein Modell einer
Formel ist (sie also in jedem Falle, unter allen Bedingungen, wahr ist), dann heißt sie
allgemeingültig. Beispiele für letzteres sind a ∨ ¬a und a → a.
2
4 Logische Konsequenz
Das zentrale Konzept in der Logik ist die logische Konsequenz oder Folgerung.
Eine Formel ϕ folgt genau dann aus einer Formel ψ, wenn ϕ immer wahr ist, wenn ψ
wahr ist oder, in anderen Worten: Wenn jedes Modell von ψ auch ein Modell von ϕ ist.
Wir schreiben dann ψ |= ϕ. (Dies bitte nicht verwechseln mit dem obigen Gebrauch des
Symbols |=. Oben bezeichnet es eine Relation zwischen Strukturen und Formeln, hier
eine Relation zwischen zwei Formeln.)
clear (b) folgt nicht aus Formel (1), (1) 6|= clear (b), da unsere Beispielstruktur zwar ein
Modell für (1) ist, aber nicht für cl(b). Es gilt aber z.B.: (1) |= ∃z clear (z).
3
Herunterladen