后向链与前向链的区别

2025年6月10日 | 阅读6分钟

顾名思义,前向链推理从已知事实开始,通过应用推理规则提取更多数据,直到达到目标。而后向链推理则从目标开始,通过使用推理规则向后追溯,找出满足目标的事实。

前向链推理被称为数据驱动的推理技术,而后向链推理被称为目标驱动的推理技术。前者也称为自下而上方法,而后者称为自上而下方法。

前向链推理使用 广度优先搜索 策略,而后向链推理使用深度优先搜索策略。前向链和后向链推理都应用了肯定前件(Modus Ponens)推理规则。前向链可用于规划、设计过程监控、诊断和分类等任务,而后向链可用于分类和诊断任务。

前向链推理可能进行 穷举搜索,而后向链推理则试图避免不必要的推理路径。在前向链推理中,知识库可能会提出各种“ASK”(询问)问题,而在后向链推理中,“ASK”问题可能会更少。

前向链推理速度较慢,因为它会检查所有规则;而后向链推理速度较快,因为它只检查所需规则。

后向链和前向链推理的关键区别

启动点:目标 vs. 数据

  • 后向链推理: 这种策略从一个特定的目标或假设开始。系统通过使用已识别的规则或事实进行反向工作,以证明或实现客户的目标。例如,后向链推理的目标是在医疗实践中进行诊断,也就是说,如果目标是诊断一种疾病,那么医生就会深入研究患者的症状和病史分析,以确认是否符合某种疾病。
  • 前向链推理: 这种方法从“给定的信息或给定的条件”开始。它使用数据上的规则来推断新数据,直到得出结论。例如,在基于传感器的自动化中,前向链推理依赖传感器输入来激活相应的动作或系统,例如,如果火灾传感器有烟雾,它就会触发警报。

执行流程:反向演绎 vs. 正向推进

  • 后向链推理: 执行流程是演绎式的。系统与之相反,它从目标回溯到数据或事实,并观察是否有足够的证据来证明该目标。只有当规则适用于目标时,才会考虑每个规则。
  • 前向链推理: 流程是渐进式的,逐步向前推进。对现有数据集的规则进行迭代应用,产生各种新事实,直到不再可能进行推理或获得所需结果。这确保了选项的搜索。

效率:上下文相关比较

  • 后向链推理: 当潜在目标数量适中且正在测试准确的假设时,它非常实用。有针对性的方法可以减少不必要的计算,并且仅依赖于适用于其目标的规则。
  • 前向链推理: 它非常适合需要过滤大量原始数据才能找到模式或得出结论的情况。然而,它可能在计算上更具挑战性,因为它在每一步都会考虑所有可能的规则,因此对于目标导向的活动效果不佳。

用例:面向目标 vs. 数据驱动系统

  • 后向链推理: 主要用于面向目标系统,例如诊断系统、规划系统和专家系统。这些应用程序需要根据期望的最终状态进行反向推理,以确定要实现期望的最终状态需要什么。
  • 前向链推理: 适用于数据驱动的系统,例如监控系统、传感器网络和实时决策应用程序。这些系统使用传入数据作为源,并且随着源的不断更新,它会确定其结论或操作。

实际应用示例:医疗诊断 vs. 基于传感器的自动化

  • 医疗诊断(后向链推理): 基于患者症状的医疗保健系统以一种特定疾病的构想为起点。它通过建立怀疑疾病的相似特征来检验这一假设,例如,测试结果。
  • 基于传感器的自动化(前向链推理): 在智能家居系统中,传感器会感知外部环境的变化(温度/运动),并根据前向链推理的规则启动响应(空调开启/安全警报)。

示例场景:医疗诊断

设想一个用于诊断肺炎的医疗诊断系统。该系统从目标(诊断肺炎)开始,然后沿着规则向后追溯。

  • 目标: 诊断肺炎。
  • 规则 1: 当出现高烧、胸痛和呼吸困难时,疑似肺炎。
  • 规则 2: 如果患者体温高于 101°F,则诊断为高烧。
  • 规则 3: 当将患者的矛盾主诉与体格检查结果相结合时,即可诊断为胸痛。

系统提供数据以支持以下每种情况:

  • 测量了患者的体温,表明发烧。
  • 患者出现胸痛,甚至临床体征也支持这一点。
  • 通过血氧饱和度水平和肺部声音判断呼吸困难。

在确认所有条件后,系统将诊断为可能是 肺炎,并提供诊断路径。

示例场景:家庭自动化

在家庭环境中,智能前向链推理可以根据相关环境的值来自动化各种操作。

输入数据: 房间温度、占用率或光线水平传感器读数。

规则

  • 如果房间有人且光线昏暗,则打开灯。
  • 当室温高于 25°C 时,打开空调。
  • 在 10 分钟后无人占用时,关闭所有灯和电器。
  • 过程: 首先,系统从传感器获取数据,并逐一应用规则。
  • 结果
  • 如果一个黑暗的房间里有人,灯就会被打开。
  • 如果房间太热,空调就会启动。
  • 在任何空房间中关闭闲置设备时,实现节能。

这表明数据驱动的方法在前向链推理中是多么根深蒂固,因为系统不断确定输入以做出决策并分别提升用户体验。

序号。正向链接(Forward Chaining)反向链接(Backward Chaining)
1.前向链推理从已知事实开始,并通过应用推理规则提取更多数据,直到达到目标。后向链推理从目标开始,并通过推理规则向后工作,以找到支持目标所需的必要事实。
2.它是一种自下而上的方法。它是一种自上而下的方法。
3.前向链推理被称为数据驱动的推理技术,因为我们使用可用数据来达到目标。后向链推理被称为目标驱动的技术,因为我们从目标开始,并将其分解为子目标以提取事实。
4.前向链推理应用广度优先搜索策略。后向链推理应用深度优先搜索策略。
5.前向链推理会测试所有可用的规则。后向链推理只测试一些必需的规则。
6.前向链推理适用于规划、监控、控制和解释应用。后向链推理适用于诊断、处方和调试应用。
7.前向链推理可能会生成无限多的可能结论。后向链推理生成有限数量的可能结论。
8.它沿正向方向运行。它沿反向方向运行。
9.前向链推理针对任何结论。后向链推理只针对所需数据。