前向链与后向链

对方有什么不好的地方呢? 我理解他们所做的理论,但他们在实际应用中的局限性和能力又是什么? 我正在考虑Drools vs一个新的AI项目的java prolog,但是打开其他的build议。 推理复杂关系数据集或替代方法的一些stream行方法是什么?

反向链接(Prolog)更像是寻find达目标的初始条件。 在一个非常基本的层面上,是从你的目标向后search,find实现它的条件。

向后链接用于疑问应用程序(查找符合某些标准的项目) – 反向链接应用程序的一个商业示例可能是查找哪个保险单被特定的再保险合同所涵盖。

正向链接(a CLIPS)匹配条件,然后从这些条件生成推论。 这些条件可以反过来符合其他规则。 基本上,这需要一套初始条件,然后从这些条件中得出所有的推论。

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

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

有关的答案是非常好的。 当被要求把这个差异归结为一个合适的咬合时,我通常会这样说:

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

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

但这只是一个经验法则,不是一条诫命。

在旧的旧的老专家系统中,他们曾经说过前向链接可以环顾四周(查看可能是什么),而反向链接对于确认是否有效(检查是否确实是)。

认为configuration(正向链接,XCON [1])和医疗诊断(MYCIN)[2]

  1. Papers/AAAI/1980/AAAI80-076.pdf
  2. https://www.amazon.com/Rule-Based-Expert-Systems-Addison-Wesley/dp/0201101726