Suche nach logischen Herleitungen

Orientierung

Wie können Anfragen an eine Wissensbasis ausgewertet werden? Im Folgenden wird gezeigt, dass dabei die verallgemeinerte modus-ponens-Schlussregel eine zentrale Rolle spielt.

In einem ersten Schritt betrachten wir eine sehr einfache Wissensbasis, bei der die Fakten und Regeln keine Variablen enthalten. Die hier gewonnenen Erkenntnisse werden dann in einem zweiten Schritt auf beliebige Wissensbasen verallgemeinert.

Eine Wissensbasis ohne Variablen

Als Beispiel betrachten wir eine Welt, in der es um die Zusammenstellung von Mittagessen geht.

es_gibt_fleisch.
es_gibt_suppe.
es_gibt_pudding    :- es_gibt_fleisch, es_gibt_kartoffeln.
es_gibt_pudding    :- es_gibt_pizza.
es_gibt_eis        :- es_gibt_pizza.
es_gibt_kartoffeln :- es_gibt_suppe.

Die Anfrage an die Wissensbasis lautet: Gibt es Pudding?

?- es_gibt_pudding.

Zur Auswertung der Anfrage beschreiben wir im Folgenden zwei Wege: Herleitung des Anfrageergebnisses durch Vorwärtsschließen bzw. durch Rückwärtsschließen.

Herleitung durch Vorwärtsschließen

Wir leiten die Aussage es_gibt_pudding. aus der Wissensbasis mit Hilfe der Schlussregel modus ponens her.

Veranschaulichung der Herleitungsschritte:

Herleitung durch VorwärtsschließenHerleitung durch VorwärtsschließenHerleitung durch Vorwärtsschließen

Schritt 1: Wir benutzen das Faktum es_gibt_suppe. und die Regel es_gibt_kartoffeln :- es_gibt_suppe. aus der Wissensbasis, um das Faktum es_gibt_kartoffeln. herzuleiten.

es_gibt_kartoffeln :- es_gibt_suppe.
es_gibt_suppe.
X

Fehler melden

X

Suche