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.
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
- [1]: Anfragen an eine Wissensbasis - Urheber: TM - Lizenz: Inf-Schule.de