我的应用程序我有许多代理商,每个代理商都有自己的知识库。
我最初的想法是有多个引擎实例,但swi prolog最多只允许一个实例。
另一种方法是在每个事实和规则中添加一个表示代理ID的附加项,但它看起来非常麻烦。SWI Prolog多知识库
例如,而不是:
position(10, 20).
do(action(X)):-...
我会到处写:
position(agent0, 10, 20).
do(Agent, action(X)):-...
因为我将在同一时间更新一剂,连保存和恢复一切每次可能好的,即使我不知道该怎么做。或者使用模块?
什么是分离不同知识库的好方法?
看到[Logtalk](http://logtalk.org/) – CapelliC
谢谢,我正在调查它... –