2014-05-17 9 views
8

Ich bin auf der Suche nach Forschungsarbeit oder einer anderen Publikation, die verschiedene abstrakte Maschinen (mehr als eine) für die Ausführung von Prolog mit Prolog-Interpreter nicht auf abstact Maschinen vergleichen. Was ich bisher gesehen habe, ist, dass die Mehrheit der Implementierungen ihre Prolog-Interpreter auf Warren Abstract Machine zu basieren scheint, obwohl andere abstrakte Maschinen vorgeschlagen wurden (zB Vienna Abstract Machine,) und es gibt keinen allgemeinen Vergleich. Ich interessiere mich für den Vergleich der Effizienz (nicht Features), obwohl alle im Vergleich Dolmetscher sollte Constraint-Logik-Programmierung ermöglichen.Vergleich von abstrakten Maschinen für die Ausführung von Prolog

+2

Siehe http://stackoverflow.com/questions/4478615/alternatives-to-the-wam/4504325 Es ist nicht, was sonst löschen Sie durch einen Vergleich bedeuten könnte. Was Sie mit "Ausführung von Prolog mit Prolog-Interpretern, die nicht auf abstrakten Maschinen basieren" meinen, ist mir nicht klar: Jede Implementierung basiert auf einer abstrakten Maschine. – false

+1

@false, ich kann Prolog Interpreter mit C++ schreiben und dann wird es nicht auf einer abstrakten Maschine basieren. Und im Vergleich meine ich zum Beispiel zu testen, wie effizient (in Bezug auf Rechenzeit, Speicherverbrauch) jeder Interpreter arbeitet. –

+1

Auch dann verwenden Sie eine abstrakte Maschine. Es müssen noch viele Entscheidungen getroffen werden. Denken Sie an Backtracking/Trailing. – false

Antwort

2

Sie können Constraint-Logik-Programmierung auf herkömmlichen Prolog erstellen, wenn Sie einige Primitiven für einen gezogenen Constraint-Speicher und einige Primitiven für die Vereinheitlichung Hooks einführen. ZB:

SICStus Prolog: Zugeschrieben Variablen
http://sicstus.sics.se/sicstus/docs/3.7.1/html/sicstus_17.html

Jekejeke Minlog: Kleiner Solver
http://www.jekejeke.ch/idatab/doclet/prod/en/docs/15_min/10_docu/02_reference/04_examples/05_solver.html
http://www.jekejeke.ch/idatab/doclet/prod/en/docs/15_min/15_stdy/06_bench/10_examples/02_addensure/01_referensure.p.html

Natürlich können Sie die zusätzlichen Primitive als neue Befehle anzeigen können in die abstrakte Maschine. Aber in beiden Fällen sind die Primitive auf der Prädikat-Ebene hinzugefügt, so dass es die Frage aufwirft, ob es wirklich eine Notwendigkeit für eine abstrakte Maschine für Constraint-Logik-Programmierung gibt.

Natürlich finden Sie ein paar Vorschläge der Constraint Logik Programmierung abstrakte Maschinen sowie durch Google.

Bye

Verwandte Themen