home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HOT Scene Stuff
/
hotscenestuffzyklop1996.iso
/
diskmags
/
deutsch
/
blckmail
/
bm06
/
prolog.bmt
< prev
next >
Wrap
Text File
|
1994-02-06
|
4KB
|
147 lines
Nach Assembler und Vektorgrafik in Turbo Pascal folgt in dieser Ausgabe
jetzt noch ein Artikel über eine völlig andere Sprache:
----------------------------------------------
/ \
/ ( T U R B O ) - P R O L O G \
/ \
/ Eine Sprache der künstlichen Intelligenz \
/ \
----------------------------------------------
Nun hat wohl kaum jemand unter euch einen Prolog-Compiler bei sich
zuhause liegen. In dieser Einführung geht es deshalb auch noch nicht
um Anwendbares; statt dessen will ich versuchen, euch diese Sprache
überhaupt erst vorzustellen.
Wer sich nach diesem Artikel für den Kurs interessiert (laßt mich
nicht im Stich...), bekommt den A.D.A PD-Prolog-Compiler von Midnight,
wenn er eine Disk mit Rückporto an die Redaktionadresse schickt.
Ich werde mich wegen dem Copyright erkundigen, vielleicht bekommt
ihr ja auch den Turbo-Prolog-Compiler, der auf einer Diskette für
ein CHIP-Sonderheft war.
Wer oder was ist den überhaupt PROLOG ?
Prolog ist, wie oben steht, eine objekt-orientierte Sprache, die im
Bereich der künstlichen Intelligenz eingesetzt wird, genauso wie
Lisp. Der große Unterschied zu Sprachen wie Pascal (<5.5), C,
Basic usw ist:
Ein Prologprogramm besteht nur aus Ojekten und Regeln. Der ganze Code
ist eine ganze Sammlung von Regeln für bestimmte "Objekte",
die man selbst festlegt. Wenn man dieses "Programm" dann startet,
kann man dem Prologsystem Fragen zu diesen Regeln stellen, und es
wird die Antworten selbständig finden.
In Befehlssprachen (Pascal u.ä.) müßte man selbst einen Such-
algorithmus programmieren, und für die Verknüpfung von Eigenschaften
und Regeln ziemlich umständlich mit Variablen hantieren - falls es
überhaupt möglich wäre.
Stell Dir vor, Du willst Deinen Jahrgang in einem Programm
erfassen: Du weißt von jedem Schüler, welche Leistungskurse er
belegt hat.
Nun teilst Du PROLOG folgende Vorschrift mit (könnte so ähnlich
in einem Programm stehen!)
Schüler_hat_Leistunskurse(Vorname, Name, LK1, LK2).
Danach gibst Du die Kollegiaten ein, z.B.:
Schüler_hat_Leistungskurs(Friedrich, Schwackebusch, Physik, Englisch)
Wenn Du das Programm startest, kannst Du Dir alle Schüler eines
bestimmten Leistungskurses anzeigen lassen, Du kannst alle Schüler
mit gleichen Vornamen ausfiltern, Du kannst die Teilnehmer aller
naturwissenschaftlichen Leistungskurse auflisten lassen, Du kannst
die zweite Hälfte im Alphabet auflisten lassen und nach Leistungs-
kursen sortieren... und so weiter.
Das alles braucht bestenfalls noch einen Satz, ohne das Du Dich um
das Verfahren kümmern mußt, mit dem Prolog die Lösung findest.
Wenn ich hier in diesem Kurs ein paar Programme vorgestellt habe,
werde ich diese Verfahren natürlich noch vorstellen. Ich denke nur,
daß es sowieso schon eine große Umstellung ist, von einer befehls-
orientierten zu einer deklarativen Sprache umzusteigen.
Die ersten echten Programme folgen im ersten Teil des Prologkurses,
der in der nächsten Ausgabe startet. Bis dann,
Chalchi.
----------------------------------------------------------------------
Denen, die sich näher für KI und objekt-orientierte Programmierung
interessieren, kann ich folgende Zeitschrift empfehlen:
CHIP Tool Informatik, "Methoden der Künstlichen Intelligenz", Vogel
Verlag, kostet 28,- DM inkl. Disk mit Turbo Prolog 1.0 und xLISPpc.
Neben Turbo Prolog (V 1.0 von Borland auf Disk!) und LISP wird darin
auch Smalltalk vorgestellt. Außerdem werden jeweils die theoretischen
Grundlagen erklärt (Listen u.ä.)
----------------------------------------------------------------------