Started out with SWI Prolog

Cours started out with SWI Prolog, tutoriel & guide de travaux pratiques en pdf.

A rule

✤ jealous(X,Y) :- loves(X,Z),loves(Y,Z).
✤ to be read as: an individual X will be jealous of an individual Y if there is some individual Z that X loves, and Y loves that same individual Z too.
✤ So the query:
✤ jealous(marcellus,W).
✤ means: can you find an individual W such that Marcellus is jealous of W?
✤ The answer is: vincent.

Started out with SWI Prolog

✤ Stable and free, source available. Written in C(++). From Amsterdam.
✤ JPL interface to JVM
✤ Implemented in native library (dll) per platform
✤ Works very well but consistent installation trouble and complaints from associates
✤ Decided to simplify the architecture by choosing a Prolog implementation in pure Java

Free and Open Source

✤ Jlog
✤ tuProlog
✤ jTrolog

JLog

✤ Good performance reviews
✤ Source available; very C++ like implementation in Java; needs separate text based configuration file for predicates – hmm
✤ Can also interface using BSF
✤ Initial Theory load has a bad (exponential) performance bug
✤ Did not try to fix due to ugliness and hermetical quality of source code

tuProlog

✤ Italian implementation from University of Turin
✤ Source available and nice architecture
✤ Good documentation of Java interface
✤ Actively developed
✤ General performance qualm: not blindingly fast

jTrolog

✤ Performance oriented re-write of (parts of) tuProlog by Ivar Ørstavik
✤ Lightning fast load of initial Theory
✤ No real documentation, but:
✤ Source code very approachable
✤ http://java.net/projects/jtrolog
✤ not very active as a project, unfortunately

I chose jTrolog

✤ In spite of its strange name (Trollgatan, Norway?)
✤ For speed and modifiability
✤ Rebuilt own version of it
✤ Added (and sometimes took out) some NetRexx specific features

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *