i

Zusammenfassung - Programmierkonzept

Logik als Grundlage eines Programmierkonzepts

Wir fassen noch einmal das bisher entwickelte Programmierkonzept zusammen.

Ein Logikprogramm (Programm der logischen Programmierung) besteht aus einer Wissensbasis und einer Anfrage an die Wissensbasis.

Das Wissen über eine Miniwelt wird dabei in Form von logischen Aussagen (als Fakten und Regeln) dargestellt. Ebenso werden Anfragen an die Wissensbasis in Form von logischen Aussagen (durch mit Und verknüpfte Teilaussagen) dargestellt. Programme der logischen Programmierung werden demnach in der Sprache der Logik (genauer: Teile der Prädikatenlogik) verfasst.

Bei der Programmentwicklung steht logische Modellierung im Vordergrund. Aufgabe des Programmentwicklers ist es, das Wissen und die Anfragen an das Wissen in der Sprache der Logik zu modellieren.

Zur Auswertung von Logikprogrammen benötigt man eine sog. Inferenzmaschine, die in der Lage ist, aus der Wissensbasis und der Anfrage an die Wissenbasis die Ergebnisse mit Hilfe logischer Schlüsse zu erschließen.

Anfragen an die Miniwelt über eine Interferenzmaschine[1]

Als Beispiel sei noch einmal das folgende Logikprogramm bestehend aus Wissensbasis und einer Anfrage an diese Wissensbasis aufgeführt.

Wissensbasis: Ein Ausschnitt aus dem Stammbaum der Halbgötter.

% Fakten
maennlich(cronus).
maennlich(zeus).
maennlich(poseidon).
maennlich(hades).
weiblich(rhea).
weiblich(demeter).
weiblich(hera).

kind(hades, rhea).
kind(poseidon, rhea).
kind(zeus, rhea).
kind(hera, rhea).
kind(demeter, rhea).
kind(hades, cronus).
kind(poseidon, cronus).
kind(zeus, cronus).
kind(hera, cronus).
kind(demeter, cronus).

% Regeln 
mutter(X, Y) :- kind(Y, X), weiblich(X). 
vater(X, Y)  :- kind(Y, X), maennlich(X).

Anfrage: Wer ist der Vater von Zeus?

?- vater(V, zeus).

Die Inferenzmaschine erzeugt aus der Anfrage die Ergebnisse.

?- vater(V, zeus).

V = cronus ;

No

Wie die Inferenzmaschine zu diesen Ergebnissen gelangt, soll im nächsten Kapitel geklärt werden.

Quellen

Suche

v
8.3.1.12
inf-schule.de/deklarativ/logischeprogrammierung/modellierungwissen/station_zusammenfassung
inf-schule.de/8.3.1.12
inf-schule.de/@/page/1D2HcP9zZEwAASk2

Rückmeldung geben