Prolog, wie installieren?

W

wollo

Aktives Mitglied
Thread Starter
Dabei seit
14.08.2006
Beiträge
106
Reaktionspunkte
0
Hi.

Brauch für die Uni Prolog. Haskell war schon ein Problem ;) hat aber später geklappt und läuft mit Eclipse PlugIn fleißig.

Kann mir jemand bei Prolog weiterhelfen. Hab SWI Prolog installiert, aber damit kann ich irgendwie nichts anfangen. Für Eclipse hab ich ein PlugIn installiert, der möchte aber einen Interpreter haben, was auch Sinn macht. Kann mir jemand vielleicht ne Anleitung zusammenstellen? Brauch es auch nur um simple Programme zu starten. Die Programme selber kann ich ja mit Smultron schreiben, will sie nur mal zum laufen kriegen.
Als Switcher blick ich bei OSX noch nicht so ganz durch :rolleyes:, möchte ich ja auch nicht weiter... sonst kann ich auch Linux installieren ;) .

Gruß, wollo.
 
0) Das letze mal hab ich Prolog für System 7 installiert. Meine Tips werden Dir nichts nützen ;)

1) Solche Sachen würde ich ja grundsätzlich erstmal in der Konsole machen, und mich dann mit IDEs beschäftigen.
Es soll wohl gute EMACS plugins für SWI Prolog geben

2) Grundsätzlich ist ja die Aussage "Als Switcher blick ich bei OSX noch nicht so ganz durch , möchte ich ja auch nicht weiter" vollkommen in Ordnung, darum macht benutzt man OS X. Aber wer für die Uni Prolog installieren muss, der Studiert wahrscheinlich Informatik auf Diplom. Und dann solltest Du zumindest Fragen stellen können, die man beantworten kann. Nicht: "Schreib mir eine Anleitung", denn das wird niemand tun, der nicht zufällig das selbe Problem hat

3) Deine Frage ist wahrscheinlich in einem SWI Prolog Forum besser aufgehoben, da gibt es bestimmt mehr Leute, die eben Dein Problem haben

Alex

P.S.: Als ich studiert habe waren Mac user noch ein "bischen" seltener, und das Internet gerade erfunden. Ich hab's auch geschafft ;)

Alex
 
Hallo,


Erste Schritte:

der PROLOG-Interpreter und die dazugehörige Dokumentation kann unter http://www.swi-prolog.org/ heruntergeladen werden.

Ach ja: Prolog unter Mac os x starten: 'swipl' (startet SWI-Prolog). ;)

Code:
neos-Mac:~ neo$swipl 
Welcome to SWI-Prolog (Multi-threaded, Version 5.6.25)
Copyright (c) 1990-2006 University of Amsterdam.
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
Please visit http://www.swi-prolog.org for details.

For help, use ?- help(Topic). or ?- apropos(Word).

?-




Den technischen Ablauf einer PROLOG-Programmentwicklung kann man wie folgt beschreiben:

1. Man entwickelt eine Wissensbasis in Form von Regeln und Fakten. Regeln und Fakten bezeichnet man als Klauseln. Die Gesamtheit aller Klauseln nennt man ein PROLOG-Programm.

2. Die Wissensbasis wird in einer Datei gespeichert und kompiliert.

3. Der Benutzer kann im Konsolen-Fenster einige Fragen über das gespeicherte Wissen stellen.

4. PROLOG beantwortet unsere Anfragen mit Yes (bedeutet, dass die Frage aufgrund der Datenbasis bewiesen werden konnte) oder No (wenn keine Lösung der Anfrage möglich ist). Verhält sich das Programm nicht wie gewünscht, so wird es im Editor korrigiert oder erweitert.

Fakten

Fakten beschreiben Eigenschaften von Objekten (einstellig) und Beziehungen zwischen Objekten (mehrstellig).

person(adam).
person(eva).
person(klaus).
person(heinz).
frau_von(adam,eva).
vater_von(klaus,adam).
vater_von(adam,heinz).

Die Eigenschaften person und frau_von bezeichnet man als Prädikate. Sie werden mit der Anzahl ihrer Argumente (Stelligkeit) angegeben: person/1, frau_von/2.
Es gibt Prädikate, die kein Argument haben (nullstellig).
Bei mehrstelligen Prädikaten spielt die Reihenfolge von Argumenten eine wichtige Rolle:

vater_von (klaus, adam). <ungleich> vater_von (adam, klaus).

PROLOG-Programme (Wissensbasis) erstellen
Wenn die Datei (Wissensbasis) bereits existiert, wird sie mit Hilfe des Prädikats edit/1 mit dem Dateinamen als Argument aufgerufen.

?- edit(test).

Die Datei wird im Texteditor geöffnet und kann bearbeitet werden.

Mit dem PROLOG-Prädikat consult/1 (Dateiname als Argument) wird unsere Wissensbasis geladen.


?- consult(test).

Um eine Neue Datei anzulegen, verwendet man:

?- edit(file(test)). /* Das Argument ist der Name unserer Datei. */

Der Texteditor wird gestartet. Nach der Eingabe von Klauseln muss die neue Datei (mit der
Erweiterung pl) gespeichert und der Editor beendet werden. SWI-Prolog bestätigt mit der
Zeile „% test compiled ...“, dass unsere Datei kompiliert ist.


Frage-/Antwortsystem

Gegeben sei eine Datenbasis s.o.

Über die Datenbasis kann man im Konsole-Fenster Anfragen stellen, die mit Yes oder No beantwortet werden. Die Verknüpfungen „und“ und „oder“ werden als „ , “ und „ ; “ notiert.

?- person(eva).
Yes
?- person(heinz).
Yes
?- person(lisa).
No
?-

?- listing(person).
person(adam) .
person(eva) .
person(klaus) .
person(heinz) .
Yes
?-

noch fragen?

greetz palman
 
Hi,

also ich verwende aktuell die SWI-Prolog-Version 5.6.24 (native) und ein uraltes
BIM-Prolog-Binary, dass eigentlich für Windows NT gedacht war, unter Darwine.

Die Anwort von "below" kann ich nur unterstützen. Prolog aus Emacs zu nutzen
ist ganz witzig, aber Du wirst früher oder später auf jeden Fall von der Kommando-
zeile aus arbeiten müssen.

Welche SWI-Prolog-Version hast Du denn und welches Problem macht sie?

Gruss

Ralf
 
danke danke... studier Info auf Bachelor :)

so, swipl hatte ich auch installiert. nun auch die darwin ports und jetzt kommt folgender Fehler

wollos-computer:~ swam$ swipl
dyld: Library not loaded: /opt/local/lib/libncursesw.5.dylib
Referenced from: /opt/local/lib/swipl-5.6.27/lib/i386-darwin8.8.2/libpl.dylib
Reason: image not found
Trace/BPT trap

Da fehlt wohl noch was oder ich muss mal neustarten ;).

Sorry, wenn ich mit der Anleitung etwas dreist war. Hatte nur ein hartes Wochenende und muss für die Klausuren lernen. Da fehlt mir einfach die Zeit mich ausführlich mal mit Darwin/OSX auseinander zu setzen. Bin ja ein "Benutzer" und kein WindowsKlempner mehr. Hoffe ich versteht mich da. Haskell hab ich ja auch zum laufen bekommen *g*. Brauch Prolog auch nur für 2 Wochen und dann wohl nie wieder. Parallels möchte ich einfach nicht anschmeißen, auch wenn sich die Sache da wohl nach paar Sekunden erledigt hat (da kenn ich mich halt doch etwas besser aus).

Also bitte nicht falsch verstehen, ich bin einfach nur Mac Verwöhnt und Faul geworden! :)
 
Hm, pauschal wuerde ich sagen, installier Prolog nochmal ueber die Darwinports. Aber zuerst readline installieren, sonst gab es frueher zumindest immer Probleme.
 
jep hast recht. hab jetzt gelesen, dass ich über darwinport readline installieren muss und dann kann ich swi-p. starten. nur wie kann ich readline über dp installieren? ;) Sorry, stell mich grad dumm an, hab aber in der foren suche nichts auf anhieb gefunden.
 
Informatik studierst du, ja? *g*
man port
 
uselessuser schrieb:
Informatik studierst du, ja? *g*

Und wahrscheinlich auf Diplom, oder wer wird sonst mit Prolog gequält? Gut, jetzt sagen sicher alle anderen: "Typisch Diplom-Informatiker: Vollkommen Praxisfremd" ;)

Alex
Dipl.-Inform.
 
Auf Bachelor, steht auch weiter oben ;). Natürlich ist das alles Praxisfremd und eigentlich quäl ich mich mit Mathe mehr als mit Progra, aber grad nimmt Prolog-zum-laufen-kriegen mehr Zeit in Anspruch als Prolog zu verstehen und anzuwenden. "man port" klappt super. Ich muss mir mal die Zeit nehmen und mich damit länger beschäftigen. So zwischendurch kommt da nichts bei rum, ich les ja nur "bla bla bla" *G*.
 
Für den Bachelor wollen die heute Prolog sehen? Schau mal einer an.

Naja, für mich ist Prolog so bischen wie das Latinum: Richtig brauch es fast keiner, aber ist mal ganz spannend etwas anderes gesehen zu haben ;)

Alex
 
Hey, Prolog hat auch seine Existenzberechtigung. In der regelbasierten kuenstlichen Intelligenz etwa, wo die Leute zu faul sind, das gesamte Framework in C++ zu implementieren. ;)
@wollo, ich will ja mal nicht so sein. Gib einfach
sudo port install readline
sudo port install swi-prolog
ein. Danach sollte es laufen.
 
uselessuser schrieb:
Hey, Prolog hat auch seine Existenzberechtigung. In der regelbasierten kuenstlichen Intelligenz etwa, wo die Leute zu faul sind, das gesamte Framework in C++ zu implementieren. ;)
@wollo, ich will ja mal nicht so sein. Gib einfach
sudo port install readline
sudo port install swi-prolog
ein. Danach sollte es laufen.

Aha ... da sind scheinbar noch andere Menschen da draussen, die sich nicht nur darüber
freuen, dass sie mal wieder auf jemand rumhacken können.

Deine Idee ist schon mal nicht schlecht und wird auch funktionieren, aber warum soll
er nicht einfach den Weg gehen, den SWI vorsieht ... nämlich das dmg zu installieren,
das man auf der SWI-Seite findet.

http://www.swi-prolog.org/dl-stable.html

Einfach downloaden und installieren, ohne erst irgendwelche Abhängigkeiten auflösen
zu müssen ...
 
@ralfsy hab ich doch und geht nicht. ich installier jetzt zum dritten mal die swi dmg und oben siehst du meine fehlermeldung. wo ich zB bei eclipse den pfad zum interpreter legen soll, weiß ich auch nicht. Die bis jetzt getesteten haben alle nicht geklappt.

unter windows läufts nach 1min :p. Das mit sudo port install... naja hat auch nicht geklappt ^^ wenn ich gleich mit dem Kochen fertig bin, könnt ihr mich ruhig schlagen.
 
@ralfsy, ich fuer meinen Teil mag es zB nicht, alle moeglichen Programme irgendwohin installiert zu haben. Da kommt mir so ein Tool wie port, das mich alles schoen einfach deinstallieren laesst, ganz recht.

Und wollo, so klappt das nicht. Du musst schon sagen, _was_ nicht geht. Also zumindest den Output solltest du doch hier reinkopieren koennen, oder? Und hoer mal auf mit Eclipse, das ist doch absoluter Overkill. Ich bin mir sehr sicher, dass ein einfacher Texteditor ausreicht.
 
Na klar reicht ein einfacher Texteditor, aber Eclipse machts einem einfach einfacher ;). Aber ein anderes Thema, Blatt und Papier ist weiterhin hauptsächlicher Bestandteil der Aufgaben.

wollos-computer:~ swam$ swipl
dyld: Library not loaded: /opt/local/lib/libncursesw.5.dylib
Referenced from: /opt/local/lib/swipl-5.6.27/lib/i386-darwin8.8.2/libpl.dylib
Reason: image not found
Trace/BPT trap

hatten wir schonmal.

wollos-computer:~ swam$ sudo port install readline
Password:
---> Activating readline 5.1.004_0
Error: Target com.apple.activate returned: Image error: /opt/local/include/readline/chardefs.h already exists and does not belong to a registered port. Unable to activate port readline.
Error: Status 1 encountered during processing.

/edit:
yeah... viel rumprobiert und nun klappt es! Musste Readline nur nochmal installieren (über paar Umwege) und nun klappt alles!!! Nochmals Danke an alle. Jetzt kann ich wieder AfI lernen. :D
 
Zuletzt bearbeitet:
below schrieb:
Und wahrscheinlich auf Diplom, oder wer wird sonst mit Prolog gequält? Gut, jetzt sagen sicher alle anderen: "Typisch Diplom-Informatiker: Vollkommen Praxisfremd" ;)

Alex
Dipl.-Inform.

:eek: praxisfremd. prolog fand ich nicht praxisfremd. sehr interessant und aufschlussreich. traveling salesman in 2 bildschirmseiten das hat schon was :D
 
Prolog ist ein interessanter Ansatz für deduktive Algorithmen, allein die Komplexität macht den Ansatz noch zunichte. Trotzdem ein sehr interessanter Ansatz der damals viel Vergnügen bereitet hat - ich hab noch nie einen langsameren Ansatz zur Berechnung von Fakultäten gesehen gehabt :)
 
wuschelz schrieb:
:eek: praxisfremd. prolog fand ich nicht praxisfremd.

Dass Du "fand" sagst, sagt schon alles. Prolog war spannend, und ein interessanter Einstieg in deduktionsbasierte Systeme.
Aber seit der Unizeit habe ich damit nichts mehr gemacht -- im Gegensatz zu z.B. CLOS.

Und ich persönlich kenne auch keine grossen Anwendungen in Prolog -- aber das soll ja nichts heissen.

Alex
 
gruß von der rwth aachen, hier müssen wir bachelors auch prolog machen :)
 
Zurück
Oben Unten