人工智能 - 前向链和后向链
在开发智能系统时,推理在从现有知识中得出结论方面发挥着关键作用。人工智能中采用的两种主要推理方法是 Forward Chaining 和 Backward Chaining。这些技术使机器能够进行逻辑推理,并高效解决复杂问题。
Forward Chaining 从已知事实开始,逐步应用规则来发现新事实,并最终得出结论。
Backward Chaining 以相反方向进行,从结论开始,向后追溯以确定是否存在支持事实。
这些方法通常用于基于规则的 AI 系统,如决策支持系统、计算机诊断和专家系统。了解它们的工作原理将使我们能够构建能够进行逻辑推理和良好决策的智能系统。
Inference Engine
Inference Engine 在人工智能系统中发挥着关键作用。它从系统中的知识中得出结论,并使用推理技术基于给定信息创建新见解。该引擎对于 AI 中的问题解决和决策至关重要。
最初,Inference Engine 用于专家系统中以自动化逻辑推导。它们通常以两种方式工作:
Forward chaining
Backward chaining
前向链
前向链是一种推理方法,其中智能系统从已知事实开始,使用推理规则推导出新信息,直到得出结论。这个过程逐步从已知事实推进到最终结论。
作为一种数据驱动的方法,前向链意味着系统基于可用信息检查所有可能的规则,然后得出确切的判断。
前向链的特性
以下描述了前向链的主要特性,这是一种从事实开始并使用规则得出结论的推理技术 −
推理过程从系统中存在的數據和事实开始。
使用逻辑规则从这些可用事实生成新知识。
这个过程是顺序的,不断扩展理解直到得出结论。
它利用现有数据指导下一步,而不是从预定目标开始。
推理过程持续进行,直到系统得出有效结论或没有更多规则可应用。
这种方法常用于 AI 决策系统中,例如诊断和推荐工具。当有大量信息可用但最终目标不明确时,它最为有效。
然而,由于它会针对可用事实评估所有潜在规则,因此得出复杂结论可能耗时较长。
示例 1
假设有一个客户投诉系统,用于处理各种问题。当消费者提交投诉(事实)时,系统遵循特定规则,例如 −
如果问题是技术性的,则执行故障排除步骤。
如果问题是计费相关的,则审查支付历史。
如果问题仍未解决,则将其升级给经理。
系统利用事实逐步推进,直到识别出合适的解决方案。
示例 2
假设网站有一个 AI 驱动的内容推荐系统。当用户输入“Python basics”(事实)时,系统使用这些规则 −
如果用户是新手,则推荐基础教程。
如果用户已完成初学者课程,则建议中级主题。
如果用户对数据科学感兴趣,则建议 Python for Machine Learning。
系统逐步推进,根据用户活动建议合适的信息。
通过这种方式,系统以逐步方式从事实推进到决策。
前向链的局限性
前向链从已知事实开始并应用规则得出结论,然而,它有显著的局限性 −
低效率 - 这种方法探索大量无关规则来实现目标,计算成本高。
缺乏焦点 - 它处理所有可用规则,包括与当前问题无关的规则。
需要完整数据 - 如果缺少完整数据或数据不全,可能难以得出合适的决策。
后向链
后向链是一种推理方法,它从一个特定目标开始,向后工作,应用推理规则来检查现有事实是否支持该目标。这种技术专注于目标以查找相关信息。
当目标明确但需要通过逻辑推理来确立证据时,它特别有用。
后向链的特性
以下概述了后向链的关键特性,这是一种从目标开始并向后查找支持事实的推理方法 −
推理过程从需要支持的结论开始。与从事实推导出结论不同,它朝着相反方向工作,从结论开始并寻找支持它的证据。
它仅关注实现预期结论或决策所需的事实。
分析每条规则以确定它是否通向预期结果,并在整个过程中验证事实。
当系统识别出支持其决策的事实时,推理过程被视为成功。
这种方法常用于医疗诊断,其中算法根据观察到的症状向后工作以确定潜在疾病。
它不筛选所有可用数据,而是专注于最相关的信息,这在某些情况下可以带来更快的結果。
要使此方法有效,必须确立明确的假设或问题。如果没有满足必要标准的事实,算法将无法得出结论。
这种技术用于需要为其决策提供理由的 AI 系统,例如法律专家系统和欺诈检测。
示例 1
商业示例:一家制造公司遇到产品问题意外增加的情况。它从质疑为什么问题增多开始,然后追溯探索潜在原因,包括设备故障、原材料质量以及人员错误。
示例 2
医疗示例:在医学中,医生试图判断患者是否患有肺炎。诊断系统不是检查每一种可能情况,而是从最终目标(肺炎)开始,查看特定症状如发烧、胸痛和呼吸困难,然后得出结论。
示例 3
犯罪调查示例:警方在启动抢劫调查时,从试图识别嫌疑人开始。他们通过查看证据、观看安全录像,并根据动机和过去的犯罪记录选择嫌疑人,向后工作。
后向链的局限性
后向链从特定目标开始并向后收集支持信息,然而,它有一些缺点 −
依赖目标选择:它需要明确定义的目标;选择错误的目标可能导致错误的推理。
复杂性:当众多规则可以支持目标时,识别最佳选项可能很困难。
低效:如果目标有许多依赖项,它可能需要大量的回溯,使过程变慢。