Сравнение абстрактных машин для исполнения Пролога
Я ищу исследовательскую работу или любую другую публикацию, в которой сравниваются разные абстрактные машины (более одной) для выполнения Пролога с интерпретаторами пролога, не основанными на абстрактных машинах. До сих пор я видел, что большинство реализаций, по-видимому, основывают свои интерпретаторы прологов на Уорреновой абстрактной машине, хотя были предложены и другие абстрактные машины (например, Венская абстрактная машина, Дерево-ориентированная абстрактная машина), и нет никакого общего сравнения. Я заинтересован в сравнении эффективности (ане функций), хотя все сравниваемые интерпретаторы должны допускать программирование логики ограничений.
1 ответ
Вы можете построить программирование логики ограничений поверх обычного пролога, если вы введете несколько примитивов для прицепного хранилища ограничений и несколько примитивов для хуков унификации. Например:
SICStus Prolog: Приписываемые переменные
http://sicstus.sics.se/sicstus/docs/3.7.1/html/sicstus_17.html
Жекедже Минлог: Маленький Солвер
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
Конечно, вы можете рассматривать дополнительные примитивы как новые инструкции в абстрактной машине. Но в обоих вышеупомянутых случаях примитивы добавляются на уровне предикатов, поэтому возникает вопрос, действительно ли нужна абстрактная машина для программирования логики ограничений.
Конечно, вы найдете несколько предложений по программированию абстрактных машин логики ограничений также через Google.
до свидания