Was ist die Prologsprache?
Prolog ist eine Computerprogrammiersprache, die auf Logik basiert. Die meisten Computersprachen basieren auf den Schritten, die zur Lösung eines Problems erforderlich sind. Die Prolog-Sprache hingegen ist eine "deklarative" Sprache, die die logischen Beziehungen zwischen Entitäten angibt. Die Lösung des Problems bleibt dem Computer überlassen. Der Name Prolog kommt von der französischen PROgrammation en LOGique, dh PROgramming LOGic.
Das Folgende ist ein einfaches Prolog-Programm:
Vorfahr (F, C): - Vater (F, C)
Vorfahr (P, Q): - Vater (P, R), Vorfahr (R, Q)
Vater (John, Jim).
Vater (Jim, Jerry).
Vater (Jerry, Jason).
Vater (Jerry, Jeff).
Vater (Jason, Joshua).
Das obige Programm zeigt Binsenweisheiten an. Wenn F der Vater von C ist, dann ist F ein Vorfahre von C. Wenn P der Vater einer Person R ist, die ein Vorfahre von Q ist, dann ist P ein Vorfahre von Q. Eine Anzahl wahrer Tatsachen wird dann angegeben, wie z John ist der Vater von Jim. Wenn dann eine Problemfrage gestellt wird, ob John ein Vorfahre von Jeff ist, erhalten wir die Antwort "Ja" wie folgt:
- Ahne (John, Jeff).
Ja
Wenn die Vorfahren von Joshua von Interesse sind, zeigt das Programm alle Vorfahren wie folgt an:
- Ahne (A, Joshua)
A = Jason
A = Jerry
A = Jim
A = John
Beachten Sie, dass das Programm in beiden oben genannten Fällen nicht angegeben hat, wie die Auswertung durchgeführt werden soll. Beispielsweise gab es keinen Hinweis darauf, ob bei der älteren Person begonnen und sich zu der jüngeren Person durchgearbeitet werden sollte oder umgekehrt. Auch austauschen die teile wie folgt:
Vorfahr (P, Q): - Vorfahr (R, Q), Vater (P, R)
Es würde keinen Unterschied für das Programm machen, da beide Teile auf der rechten Seite wahr sein müssen, damit die linke Seite wahr ist.
Die Prolog-Sprache konzentriert sich daher auf die Beziehungen und nicht darauf, wie das Problem gelöst werden kann. Während der Programmausführung baut Prolog eine Reihe wahrer Anweisungen auf und erstellt eine Wissensdatenbank. Im obigen Beispiel hätte die Wissensdatenbank in keiner bestimmten Reihenfolge einen Vorfahren (john, jim), einen Vorfahren (jim, jerry), einen Vorfahren (john, jerry), einen Vorfahren (jim, jason), einen Vorfahren (john, jason). und so weiter. Diese Wissensdatenbank kann während der Ausführung des Programms weiter aufgebaut und effizient durchsucht werden, um Lösungen zu finden. Die Ausführung kann parallele Verarbeitung und gleichzeitige Ausführung durch mehrere Computer verwenden.
Die Prolog-Sprache wird in einer Reihe von Bereichen verwendet. Es begann in Systemen, die auf natürliche Sprachen wie Englisch ausgerichtet waren. natürliche Sprache ist einer der Bereiche der künstlichen Intelligenz. Die Sprache Prolog wird auch in der symbolischen Mathematik einschließlich der Algebra verwendet. Es wird unter vielen anderen Anwendungen zum Beweisen von Theoremen, in Expertensystemen und in Steuerungssystemen verwendet.