2010-09-13 42 views
0

我想在當前基於代理的模擬上使用java-prolog層。我運行的是Mac OS X Snow Leopard和Netbeans 6.9,並嘗試使用swi-prolog中的JPL,但是由於庫和路徑的問題,我沒有成功運行測試。我需要一個非常快速的實現,我想知道任何人是否有任何基準或雙向java-prolog接口的個人經驗。最快的雙向Java序言實現

回答

0

您是否正在尋找一種在java進程和prolog進程之間有效交換消息的方法?

我可能會建議谷歌的協議緩衝器,它提供了不同的系統之間交換消息的語言中立和有效的手段......

http://code.google.com/p/protobuf/

http://www.swi-prolog.org/pldoc/package/protobufs.html

+0

我主要研究在我的模擬中構建代理的推理引擎。我不確定協議緩衝區如何幫助我。我想要的是在Prolog中運行推理代碼,並將結果返回到java中以執行某些操作。以類似的方式,我想從Prolog執行java方法。關鍵是要爲每個代理提供一個非常高效的便攜式引擎。 – Dimitris 2010-09-14 19:51:17

1

在2007年,我跑了經典的Prolog基準測試(程序如queens,tak,qsort,nrev等)與用Java編寫的四個Prolog實現進行比較:tuProlog,JIPrologJLogJavaLog。最快的實現是JLog。所有的細節都可以在an article accepted at SAC 2008找到。

我建議你看看jTrolog,它是在我測量了其他基於Java的Prolog引擎的性能後正式出世的。也許PrologCafe也可能有一些利益。

但是,請注意,我沒有通知任何人的維護狀態。如果您需要各自作者的某種支持,請仔細選擇。