Prolog-Programmierung Tutorial

April 19

Prolog ist eine Programmiersprache, die auf künstlicher Intelligenz und Linguistik-Forschung eingesetzt. Es ist eine mächtige Sprache, aber viel von ihrer Stärke kommt von ihrer Wahl, das deklarative Paradigma zu verwenden, für die Programmierung, Sprachen, anstatt das Verfahrens- oder objektorientierten Paradigma, die von den meisten etablierten Sprachen verwendet. Dies macht die Prolog-Syntax, geheimnisvoll, auch für erfahrene Programmierer erscheinen. Die vertrauten "Wenn dann"-Anweisung und die obligatorische "while"-Schleife fehlen Prolog, stattdessen ersetzt durch Syntax fördern und rekursive Programmierung so einfach wie möglich machen sollen.

Anweisungen

1 Öffnen Sie einen Texteditor, und speichern Sie Ihre Arbeit als "facts.pl." In seiner grundlegendsten Prolog-Werke von Ladeliste Fakten (auch bekannt als Prädikate) und Operationen auf diese Tatsachen dann ausführen. Die vollständige Auflistung der Fakten ist bequem genug, als Datenbank bekannt.

2 Fügen Sie Folgendes ein, um ein paar Fakten im Prolog zu deklarieren:

% der Arbeitsplätze (Name, Stellenbeschreibung)

Stellenangebote (KevinWalker, "Writer").

Stellenangebote (BillBailey, "Student").

Die erste Zeile ist ein Kommentar, entworfen, um in andere Prolog-Entwickler auf die Beziehung des Sachverhalts Ahnung. Der erste Teil davon ist der Name der Beziehung, in diesem Fall "Jobs." Das erste Argument ist dann der Schlüssel zur Tatsache. Sie müssen mit einem Kleinbuchstaben beginnen und nur ein Wort sein. Der letzte Teil ist der Wert, in diesem Fall eine Zeichenfolge, die einen Job beschreibt. Schließlich muss jeder Tatsache in einem Zeitraum abgeschlossen werden.

3 Fügen Sie Folgendes in das gleiche Dokument hinzufügen, dass einige Fakten mit der Datenbank verknüpft:

% Gehalt (Name, Gehalt)

Gehalt (KevinWalker, 30000).

Gehalt (BillBailey, 12000).

Da Lohn und Beschäftigung den gleichen Schlüssel verwenden, können die Beziehungen zwischen den Daten durchgeführt werden.

Speichern Sie die Datei.

4 Öffnen Sie Ihre Prolog-Terminal und geben Sie Folgendes ein, um Ihre Datenbank zu laden:

Consult('facts').

Wenn es erfolgreich war, sehen Sie ein "Ja" oder "true" angezeigt werden.

5 Geben Sie Folgendes ein, um eine einfache Abfrage ausgeführt:

Stellenangebote (KevinWalker, "Writer").

Obwohl dies gleich wie die Definition der Tatsache aussieht, ist es stattdessen eine Abfrage, ob die Anforderung wahr ist. In diesem Fall werden die Antwort "Ja" oder "wahr" ist, je nach Ihrer Version von Prolog. Jedoch wenn Sie eingeben:

Stellenangebote (KevinWalker, "Student").

Die Antwort ist "false" oder "Nein".

6 Geben Sie eine komplexere Abfrage:

Stellenangebote (KevinWalker, Job).

Das Ergebnis wird sein:

Job = "Writer"

7 Öffnen Sie die Datei "facts.pl" erneut im Text-Editor, und fügen Sie die folgende Funktion:

Makes_more_money (Person1, Person2):-

salary(Person1, FirstSalary),

salary(Person2, SecondSalary),

FirstSalary > SecondSalary.

Diese Funktion sollte gelesen werden, "Person1 macht mehr Geld als Person2?" Dazu es das Gehalt Person1 und Person2 sucht und dann vergleicht sie, das Ergebnis zurückgeben.

Speichern Sie die Datei.

8 Geben Sie Folgendes in der Interpreter laden Ihre Datenbank und verwenden Sie die neue Funktion:

reconsult('facts').

Makes_more_money (KevinWalker, BillBailey).

Dies hat Sie begonnen im Prolog-Programmierung bekommen. Es gibt sehr viel mehr zu lernen, so Sie die Einführung in Prolog in Referenzen zu konsultieren möchten vielleicht.

Tipps & Warnungen

  • Prolog-Versionen unterscheiden sich geringfügig voneinander. Dieses Tutorial verwendet GNU Open Source Implementierung von Prolog, so dass einige Befehle je nach Version leicht variieren können.