logo

Prolog | Eine Einleitung


Einführung :

Prolog ist ein Logikprogrammierung Sprache. Es spielt eine wichtige Rolle in der künstlichen Intelligenz. Im Gegensatz zu vielen anderen Programmiersprachen ist Prolog in erster Linie als deklarative Programmiersprache gedacht. Im Prolog wird Logik als Beziehungen ausgedrückt (Fakten und Regeln genannt). Das Herzstück von Prolog liegt im Logik wird benutzt. Die Formulierung oder Berechnung erfolgt durch Ausführen einer Abfrage über diese Beziehungen.



Installation unter Linux:

Öffnen Sie ein Terminal (Strg+Alt+T) und geben Sie ein:

 sudo apt-get install swi-prolog>

Syntax und Grundfelder:



Im Prolog erklären wir einige Fakten. Diese Fakten bilden die Wissensbasis des Systems. Wir können die Wissensdatenbank abfragen. Wir erhalten eine positive Ausgabe, wenn sich unsere Abfrage bereits in der Wissensdatenbank befindet oder von der Wissensdatenbank impliziert wird. Andernfalls erhalten wir eine negative Ausgabe. Die Wissensdatenbank kann also als eine Datenbank betrachtet werden, die wir abfragen können. Prolog-Fakten werden in einem bestimmten Muster ausgedrückt. Fakten enthalten Entitäten und ihre Beziehung. Entitäten werden innerhalb der durch Komma (, ) getrennten Klammern geschrieben. Ihre Beziehung wird am Anfang und außerhalb der Klammer ausgedrückt. Jeder Fakt/jede Regel endet mit einem Punkt (.). Ein typischer Prolog-Fakt lautet also wie folgt:

 Format : relation(entity1, entity2, ....k'th entity). Example : friends(raju, mahesh). singer(sonu). odd_number(5). Explanation : These facts can be interpreted as : raju and mahesh are friends. sonu is a singer. 5 is an odd number.>

Hauptmerkmale :
1. Vereinigung: Die Grundidee besteht darin, dass die gegebenen Begriffe die gleiche Struktur darstellen können.
2. Zurückverfolgen: Wenn eine Aufgabe fehlschlägt, geht Prolog zurück und versucht, die vorherige Aufgabe zu erfüllen.
3. Rekursion: Rekursion ist die Grundlage für jede Suche im Programm.

Ausführen von Abfragen:
Eine typische Prolog-Abfrage kann wie folgt gestellt werden:



 Query 1 : ?- singer(sonu). Output : Yes. Explanation : As our knowledge base contains the above fact, so output was 'Yes', otherwise it would have been 'No'. Query 2 : ?- odd_number(7). Output : No. Explanation : As our knowledge base does not contain the above fact, so output was 'No'.>

Vorteile :
1. Einfach zu erstellende Datenbank. Benötigt keinen großen Programmieraufwand.
2. Der Mustervergleich ist einfach. Die Suche basiert auf Rekursion.
3. Es verfügt über eine integrierte Listenverwaltung. Erleichtert das Spielen mit jedem Algorithmus, der Listen beinhaltet.

Nachteile:
1. LISP (eine andere logische Programmiersprache) dominiert in Bezug auf I/O-Funktionen gegenüber Prolog.
2. Manchmal ist die Eingabe und Ausgabe nicht einfach.

Anwendungen:

Prolog wird häufig in der künstlichen Intelligenz (KI) eingesetzt. Prolog wird auch für den Mustervergleich über Analysebäume in natürlicher Sprache verwendet.

Referenz 1: https://en.wikipedia.org/wiki/Prolog

Referenz 2: http://www.swi-prolog.org/