0 Daumen
477 Aufrufe

Aufgabe:

Das Belegen einer Variablen x in einer Aussageform A(x) durch eine Konstante c, kann auch als Frage "Ist die Aussage A(c) wahr?" verstanden werden. Ziel der Logikprogrammierung ist es, einen Computer so zu programmieren, dass er auf eine gestellt Frage "Ist die Aussage A(c) wahr"? selbständig die korrekte Antwort aus seiner Wissensbasis herleitet. In Prolog, einer der bekanntesten Logikprogrammiersprachen, wird diese Frage durch? A(c) formuliert.

Neben Aussageformen A(x) mit einer Variablen lassen sich auch Aussageform A(x,y), A(x,y,z),... mit mehreren Variablen x,y,z,... definieren.

Gegeben seien nun folgende Aussageform:

W(x) = "x ist weiblich"

E(x,y,z) = "y ist Mutter von x, z ist Vater von x"

S(x,y) = "x ist Schwester von y"

B(x,y) = "x ist Bruder von y"

wobei x,y,z beliebige Namen seien. Folgende Aussage seien wahr:

W(Erika)

B(Edgar, Elke)

E(Erika, Elfriede, Eduard)

E(Edgar, Elfriede, Eduard)

"Für alle w,x,y,z gilt: W(x) ∧ E(x,y,z) ∧ E(w,y,z) ⇒S(x,w)"

"Für alle x,y,z gilt: S(x,y) ∧ B(y,z) ∧ x ≠ z ⇒ S(x,z)"

Bestimmen Sie schrittweise die Wahrheitswerte folgender Aussagen unter der Annahme, dass die Aussage S(Erika, Elke) falsch ist:

a) S(Erika, Edgar) ∧ B(Edgar, Elke) ∧ Erika ≠ Elke ⇒ S(Erika, Elke)

b) S(Erika, Edgar) ∧ B(Edgar, Elke)

c) S(Erika, Edgar)

d) W(Erika) ∧  E(Erika, Elfriede, Eduard)  ∧ E(Edgar, Elfriede, Eduard)  => S(Erika, Edgar)

e) W(Erika) ∧ E(Erika, Elfriede, Eduard)  ∧ E(Edgar, Elfriede, Eduard)

f) W(Erika)

Was ergibt sich daraus für die Anfrage? S(Erika, Elke)?

Avatar von

??????????????????????????????????????????????????????????????????????

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community