PROLOG
Prolog ist eine Programmiersprache, die in Frankreich in den 1960er Jahren für den Einsatz in automatischen Übersetzung natürlicher Sprachen erfunden wurde. Ferner wurde in Schottland in den 1970er Jahren für den Einsatz in automatischen Beweiser entwickelt. Es kam, um die Aufmerksamkeit der meisten Menschen, wenn die Japaner wählten sie für ihre Amtssprache in der fünften Generation Projekt - die nationale Projekt in die Künstliche Intelligenz zu entwickeln. Zu Beginn des 21. Jahrhunderts, ist es - zusammen mit LISP - eine der beiden wichtigsten Sprachen, die von der AI Gemeinschaft eingesetzt.
Brechen Sie Listen in Prolog abgesehen durch die Untersuchung der Kopf - das erste Element in der Liste - und den Schwanz - der Rest der Liste. Als Nachfolger Elemente untersucht werden, können Sie entscheiden, welcher Teil der aufgebrochenen Liste jedes Element gehört.
Sehen Sie, wenn ein Element ist ein Mitglied einer Liste, indem Sie durch die Liste rekursiv. Um diese Frage in Prolog, Typ fragen? Mitglied (X, L) - X ist ein Mitglied von L? Dies erfordert zwei Prolog Aussagen: Member (X, [X, T]). Diese besagt, dass, wenn X entspricht das erste, was in der Liste, dann X ein Mitglied ist L.
Schreiben Sie die rekursive Schritt für die Suche nach Mitgliedschaft als Mitglied (X, [_, T]): - Mitglied (X, T). Dies wird über den Kopf der Liste überspringen, wenn sie nicht gleich auf X. Wenn Sie Ihren Weg durch die Liste arbeiten, werden X [] die leere Liste sein.
Wählen Sie die ersten n Elemente einer Liste mit den beiden Prolog Aussagen firstn (L, F, R, 0). und firstn ([X | T1], [X | T2], R, n): - firstn (T1, T2, R, n-1). Die erste Anweisung stoppt die Rekursion mit den ersten n Elemente in F und der Rest auf R. Die zweite Aussage hält Strippen der Kopf von der Liste aus und legt es auf den F Liste, bis n = 0 ist.
Trennen Sie eine Liste in zwei Listen, wobei eine neue Liste enthält die ungeraden Elemente und die anderen neuen Liste enthält die geradzahligen Elemente, mit vier Aussagen Prolog: Trennung (L, Odd, Even): - Trennung (L, Odd, Even , 1), Trennung ([], Odd, Even, _), Trennung ([X | T], [X | Odd], Even, 1): - Trennung (L, Odd, Even, 0)... , Trennung ([X | T], Odd, [X | Selbst], 0) .. Die erste Anweisung bekommt Dinge richtig begonnen, stoppt die zweite Aussage Dinge, wenn die Liste durchlaufen wurde und die letzten beiden Aussagen rekursiv trennen die Liste.
Tipps und Warnungen
Prolog versucht, Regeln in der Reihenfolge, wie sie geschrieben sind. Die Umkehrung der Reihenfolge der Regeln in der Regel zerstört das Programm.
Neue Listen sind in umgekehrter Reihenfolge aufgebaut. Sie können sie wieder umdrehen mit dem Prolog drei Aussagen reverse (L, R): - reverse (L, [], R) .. umkehren (H | T], S, R): - reverse (T, [X | S], R). und reverse ([], R, R) ..
No hay comentarios:
Publicar un comentario