Im Vergleich zu klassischen Programmiersprachen wie zum Beispiel C oder Pascal bietet die Logik die Möglichkeit, Zusammenhänge elegant, kompakt und deklarativ zu beschreiben. Automatische Theorembeweiser sind sogar in der Lage, zu entscheiden, ob eine Anfrage logisch aus einer Wissensbasis folgt. Hierbei sind der Beweiskalkül und das in der Wissensbasis gespeicherte Wissen streng getrennt. Eine in Klauselnormalform aufgeschriebene Formel kann als Eingabe für jeden Theorembeweiser verwendet werden, unabhängig vom verwendeten Beweiskalkül. Für die Repräsentation von Wissen und das Schließen ist dies von großem Nutzen.
Will man jedoch Algorithmen implementieren, die zwangsläufig (auch) prozedurale Komponenten haben, so genügt die rein deklarative Beschreibung oft nicht. Robert Kowalski, einer der Pioniere in der Logikprogrammierung, hat dies mit der Formel
auf den Punkt gebracht. Mit der Sprache Prolog hat sich diese Idee durchgesetzt. Vor allem in der KI und in der Computerlinguistik wird Prolog in vielen Projekten eingesetzt. Wir geben hier eine kurze Einführung in diese Sprache, stellen die wichtigsten Konzepte vor, zeigen die Stärken auf und vergleichen sie mit anderen Programmiersprachen und mit Theorembeweisern. Wer einen kompletten Programmierkurs sucht, wird verwiesen auf Lehrbücher wie Bra86, CM94 und die Handbücher Dia04, Wie04.
Die Syntax der Sprache Prolog kennt nur Hornklauseln. In folgender Tabelle sind die logische Schreibweise und die Prologsyntax nebeneinander gestellt.
Anzeige
Bitte loggen Sie sich ein, um Zugang zu diesem Inhalt zu erhalten