Skip to main content

Die Programmiersprache PROLOG

  • Chapter
Technische Expertensysteme

Zusammenfassung

PROLOG (PROgrammieren in LOGik) ist eine Sprache, die auf der mathematischen Logik aufgebaut ist. Im Abschnitt Prädikatenkalkül wurde bereits angedeutet, daß mit Hilfe des Prädikatenkalküls definierte Aufgaben automatisch bewiesen (d.h. gelöst) werden können. PROLOG ist ein solcher Beweisfinder: Die Anweisungen in PROLOG sind nichts anderes als Prädikatenformeln, während die Verarbeitungsstrategie (der Beweisfinder) die Resolution und die Variablenbindung die Unifikation ist. Bekannte Sachverhalte erscheinen damit unter neuem Namen.

PROLOG läßt sich auch ohne den theoretischen Hintergrund des Prädikatenkalküls gut verstehen. Somit ist PROLOG auch für Neulinge im Programmieren gut geeignet, da man im Gegensatz zu anderen Programmiersprachen nur sehr wenig über den Aufbau und die Arbeitsweise eines Computers wissen muß. In gewisser Hinsicht kann es sogar nachteilig sein, bereits eine konventionelle Programmiersprache wie FORTRAN, PASCAL oder BASIC zu beherrschen, da der Programmierablauf in PROLOG völlig anders geartet ist und somit das „Umdenken“ in PROLOG erschwert wird.

Bei herkömmlichen Programmiersprachen muß bekanntlich genau festgelegt werden, wie ein Problem zu lösen ist. Dazu muß ein Algorithmus aufgestellt werden, in dem die einzelnen Anweisungen zur Lösung der Aufgabe exakt spezifiziert werden müssen. Da Programmierbefehle (z.B. Zuweisung von Variablen, Aufruf von Unterprogrammen) im Vordergrund stehen, nennt man diese Sprachen imperativ (befehlsorientiert).

In PROLOG liegt die Betonung eher auf der Problembeschreibung: Durch Aussagen (bzw. „Klauseln“) über den Problembereich wird das Problem so allgemein wie möglich spezifiziert (beschrieben), so daß ein PROLOG Interpreter diese Spezifikation auswerten und für eine konkrete Aufgabe eine Lösung aufzeigen kann. Aussagen haben dabei folgende Erscheinungsformen:

  • Fakten (allgemein anerkanne Tatsachen)

  • Regeln (Wenn-Dann-Konstrukte)

  • Abfragen

PROLOG-Programme bestehen folglich nicht aus Anweisungen, wie man sie aus der konventionellen Programmierung her kennt. Das bedeutet auch, daß (im Prinzip) die Reihenfolge der Aussagen beliebig ist. Die beschreibende (deklarative) Art von PROLOG erfordert demnach eine andere Betrachtungsweise als es bei herkömmlichen Programmiersprachen üblich ist, da die Eigenschaften von Objekten und deren Abhängigkeiten untereinander formuliert werden müssen und keine Anweisungsfolgen erlaubt sind.

In Abschnitt 3.5 wurde bereits ein „Nachweis-Expertensystem“ vorgestellt, bei dem das Wissen einer DIN-Norm regelbasiert über eine Wissensbank aufbereitet wurde und für ein gegebenes Problem ausgewertet werden konnte. In diesem Kapitel soll noch einmal das Beispiel Nachweis-Expertensystem aufgegriffen werden, um zu zeigen, wie wissensbasierte Programme mit PROLOG — also ohne Einsatz einer Expertensystemschale — erstellt werden können.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hartmann, D., Lehner, K. (1990). Die Programmiersprache PROLOG. In: Technische Expertensysteme. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-93453-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-93453-7_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52155-6

  • Online ISBN: 978-3-642-93453-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics