Artificial intelligence 正向链接与反向链接

Artificial intelligence 正向链接与反向链接,artificial-intelligence,data-modeling,prolog,drools,datalog,Artificial Intelligence,Data Modeling,Prolog,Drools,Datalog,一个有什么好处而另一个没有用?我了解他们的工作原理,但他们在实际使用中的局限性和能力是什么?我正在考虑在一个新的人工智能项目中使用Drools vs java prolog,但我愿意接受其他建议。在复杂的关系数据集或备选方案上进行推断的常用方法有哪些?反向链接(la Prolog)更像是寻找初始条件形成通往目标的路径。在一个非常基本的层面上,这是一个从你的目标向后搜索,以找到满足它的条件 反向链接用于查询应用程序(查找满足特定标准的项目)-反向链接应用程序的一个商业示例可能是查找特定再保险合同涵

一个有什么好处而另一个没有用?我了解他们的工作原理,但他们在实际使用中的局限性和能力是什么?我正在考虑在一个新的人工智能项目中使用Drools vs java prolog,但我愿意接受其他建议。在复杂的关系数据集或备选方案上进行推断的常用方法有哪些?

反向链接(la Prolog)更像是寻找初始条件形成通往目标的路径。在一个非常基本的层面上,这是一个从你的目标向后搜索,以找到满足它的条件

反向链接用于查询应用程序(查找满足特定标准的项目)-反向链接应用程序的一个商业示例可能是查找特定再保险合同涵盖的保险单

正向链接(la片段)匹配条件,然后根据这些条件生成推断。这些条件反过来可以与其他规则相匹配。基本上,这需要一组初始条件,然后从这些条件中得出所有推论

推断(如果断言)也可以是可以触发外部动作的动作或事件。这在事件驱动系统中很有用,因为可以将规则集配置为(例如)启动工作流或其他操作。这种类型的规则引擎是商业应用中最常用的


事件驱动系统是前向链接规则引擎的常见应用。前向链接应用程序的一个示例可能是电信计划供应引擎(通常用于管理移动电话计划)。使用特定计划输入特定用户将触发在各种电话交换机、计费系统、财务、CRM系统等中设置的一系列项目。

相关人员的回答非常好。当被要求将差异归结为一个合理的解释时,我通常会这样说:

大量输出假设+大量前期数据=>使用正向链接

更少的输出假设+必须查询数据=>使用反向链接


但这只是一条经验法则,而不是一条戒律。

在旧的专家系统时代,他们常说前向链接有利于环顾四周(检查可能是什么),而后向链接有利于确认(检查“它”是否真的是)

思考配置(正向链接,XCON[1])和医疗诊断(MYCIN)[2]


  • 正向链接关注的是“下一步会发生什么?”,而反向链接关注的是“为什么会发生这种情况?”

    远期链接的一个例子是预测股票市场状况是否对利率变化产生影响

    反向链接的一个例子是诊断人类的血癌


    简单地说,正向链接主要用于预测未来的结果,而反向链接主要用于分析历史数据。

    FYI Drools显然做到了这两个方面(假设这些功能已经完成):单独使用正向链接提出了一个问题,即与简单的脚本语言相比有哪些优势。一个很好的参考:“正向推理和逆向推理的差异研究”