人工智能 (AI) 中的条件规划

2025 年 8 月 21 日 | 阅读 13 分钟

人工智能 (AI) 中的条件规划涉及制定能够应对实施过程中可能发生的各种事件的计划。它与经典规划不同,经典规划假定世界是完全已知的、可预测且稳定的。它们还引入了随机试验和条件分支,这些可以被视为逻辑分支,就像 if-then 语句一样,在这种情况下,AI 代理可以根据其所见或所学动态地改变其行为。

例如,有一种条件计划,正如这里所示,其中有人说:“当物品易碎时,拿起时要小心;否则,正常拿起。”。这些 AI 系统可以通过所谓的适应性方法在真实、复杂的环境中更有效地工作。

条件规划与经典规划

经典规划和条件规划之间的主要区别在于它们各自如何处理不确定性和制定计划。经典规划假定环境是静止的、完全可观测的和确定性的,也就是说,每个动作的影响都是已知的,并且所有信息都可以预先知道。结果是,在经典计划中,情节通常是一个线性的活动时间流,不考虑潜在的变化和方向的改变。

关键概念:动作、前提条件、结果和分叉

条件规划涉及四个主要概念元素,包括动作、前提条件、结果和分支。动作是行为的常规元素,可以由 AI 代理执行,例如行走、拾取物品或发送文本。每个动作通常由其前提条件定义,即执行某个动作必须存在的条件,以及它的结果,它解释了动作执行后世界可能如何不同。

例如,像 OpenDoor 这样的动作可以这样描述:它的前提条件是门是关闭的,它的结果是门是打开的。前提条件的功能也与指导计划流程有关。它们不给个人机会在一切准备就绪之前采取行动,从而使个人能够避免失败或不当。

一方面,结果可以是确定性的(它们总是产生相同的结果)或非确定性的(它们可能导致一系列可能结果中的一种)。

非确定性结果

非确定性结果的问题在条件规划中尤为重要,在条件规划中,代理需要准备好应对许多可能的未来状态。

条件计划中的选项称为分支,其中存在多个动作或子计划,并且必须由代理在某个时候选择,具体取决于代理感知或计算的内容。这些分支创建了一个动态计划来应对环境情况。考虑一个 AI 代理正在穿过一栋需要打开一扇关闭的门的建筑物;然后它可以生成一个子计划来打开门。

前提是门是开着的,它可以直接走进下一个房间。这些类型的决策节点将一系列原本显而易见的动作转换成一个可以处理现实世界不确定性的统一声明。

何时使用条件规划?

条件规划可以有效地应用于人工智能领域,因为它适用于智能代理在真实世界背景下运行的领域。与在一切已知信息下进行的理想世界相比,现实世界更有可能被未知、信息不足以及无法预料的事件曲折所吞没。发生这种情况时,固定的线性计划是不切实际的,并且在大多数情况下会失败,经典规划也是如此。

这时条件规划就非常有用。它使 AI 系统能够表示灵活的计划,可以根据不断演变的不同情况的需求进行修改;因此,它在机器人技术、自动驾驶汽车、太空探索和医学等行业中是一种非常有效的方法。

当环境不完全可见或动作的后果无法完全保证时,条件规划尤其有效。在这种情况下,代理应能够根据执行过程中收集的观察、传感器数据和其他相关信息实时做出决策。

期望与现实不符;因此,代理不会因为计划中有其他它会参考并据此采取行动的分支而未能完成任务。这种灵活性正是条件规划广泛应用于必须在不确定或动态环境中工作的系统的基本细节。

处理不确定性

条件规划会生成一个单一的计划,该计划可以划分为各种条件或观察状态,而不是为每种可能的情况创建一个单独的计划。这导致了一种更简洁高效的行为表示,代理在计划执行时只需根据感知选择正确的路径。该过程还减少了失败的可能性,并消除了昂贵的实时重新规划的需要,从而使系统更有效。

非确定性结果

再举一个例子,想象一个机器人试图穿过一个杂乱的房间。在某些情况下,“向前移动”动作可能会成功,但在其他情况下,它可能会被一个未知的障碍物阻止。如果动作的成功是机器人的唯一目标,那么它在失败时就会停滞不前。

条件规划使代理能够通过分叉计划来应对意外情况。例如,如果移动向前失败,代理可以采取的一个选项是向左转并朝另一个方向前进。

这些非确定性动作被视为产生一组可能的后继状态,并且通过条件规划,代理获得了处理每种状态的策略。

这样,计划就可以变成一个决策树,其中的分支是动作可能引起的各种结果。代理通过沿着对应于观察到的结果的树中的路径执行来实现这一点,因此规划过程对不可预测性具有鲁棒性。

条件规划器组件

条件计划

条件计划的构建块与经典(线性)计划的构建块完全不同。条件计划不是状态空间中从初始状态到目标的单一路径;它更像一个决策图或树,指定了替代执行路径。

该框架具有决策节点(分叉),这些节点根据观察或过去决策的结果来确定决策,从而影响代理的动作。在每个分支处,计划都包含各种行动方案,以防在运行时其中一个条件为真。

定义条件计划最流行(或通用)的方法是使用 AND-OR 树或有向无环图 (DAG)。在这些表示中

  1. OR 节点代表决策或观察,例如(例如,“只要门是开着的”或“只要传感器未收到障碍物”)。
  2. AND 节点显示一个动作链,为了推进计划,所有这些动作都必须按顺序完成。
  3. 树叶标记目标状态或终止条件。

一些条件规划器使用领域特定语言,例如 PDDL(规划领域定义语言),它包含条件和非确定性规划结构。此类框架根据可能发生的结果,不仅根据前提条件和结果,而且还根据观察条件和分支来制定动作的含义。

可以顺序执行条件计划,代理在每个点观察环境并决定采取哪个分支。

应急和信念状态

信念状态的概念是条件规划的核心概念之一。信念状态是代理在某个时间点可能认为为真的世界状态。代理不一定知道确切的状态,因为它只对其世界可能是什么有一个信念;因此,有些部分甚至无法观察。随着动作的执行和观察的接收,信念状态会通过新信息进行更新。

树和决策节点

条件计划必须被触发,但这种触发无论如何都不能比遍历动作、观察和选择的树更好地可视化。这个树的每个分支都与执行某些动作的特定结果或观察值相关。代理通过评估决策节点并根据关于环境获得的实时信息选择路径来遍历此树。

决策节点分别是条件限定的手段。例如,一个节点会问:电池电量是否足够?障碍物是否移动了?然后代理根据它们的答案执行其中一个动作,这反过来又对应于导致不同动作或动作序列的一个分支。这些节点使系统能够在执行过程中调整其路线,从而使代理能够在不可预见的情况下恢复或做出明智的决策。

计划树能够实现回溯和恢复,尤其是在可能发生故障的领域。如果一个分支导致一个不可能的子目标或遇到错误,代理可能会回溯到它过去的某个决策点并尝试另一条路线。这种动态能力增强了在不确定或危险条件下运行的 AI 系统的鲁棒性和弹性。

条件规划算法

AND-OR 图搜索

在条件规划任务中最直接的方法之一是 AND-OR 图搜索。在此方法中,规划问题被建模为一个 AND-OR 树/图,其中问题表示为 AND-OR 节点的集合。在这个图中,通信节点代表状态或子目标,通信边表示动作或条件结果。

OR 节点描绘了代理可以做出的决策——例如,为了实现目标而可以采取的行动方针。

标有“AND”的节点表示必须全部满足的子目标的析取,它们通常是由于非确定性动作的随机结果而产生的。

AND-OR 图搜索的强大之处在于它能够系统地探索所有可能的情况,并制定一个考虑所有意外情况的应急计划,如果需要的话。当问题的大小和复杂性因许多意外情况而增加时,这种方法可能会变得计算密集。

符号模型检查

符号模型检查是另一种与条件规划相关的有效方法,这是一种形式验证。自 20 世纪 90 年代以来,符号模型检查也一直被用于 AI 规划,以使规划器能够使用紧凑的表示(如二元决策图 (BDD) 或 SAT 基础编码)有效地搜索大型状态空间。

一种这样的规划器是 MBP(基于模型的规划器),它是一个条件规划器,与符号模型检查一样,它在未知环境上执行条件动作的规划。该方法的优势在于它比传统的显式搜索方法能更有效地搜索巨大的问题空间。

符号模型检查在机器人领域得到了加强的应用,特别是在进行自动验证、机器人控制系统和嵌入式软件规划的功能中,在这些领域,安全性和准确性是首要关注的问题,并且对所有可能性进行穷举搜索至关重要。

部分可观察马尔可夫决策过程 (POMDP)

在不确定动作的背景下,最数学严谨的决策模型之一是部分可观察马尔可夫决策过程 (POMDP)。POMDP 是经典马尔可夫决策过程 (MDP) 的简化,它引入了无法完全观察环境状态的概念,也就是说,代理不直接看到环境的状态,但会收到一些信息不完全的观察。

以下可以描述一个 POMDP

  1. 一组世界状态(可行状态选择的集合),
  2. 一个决策(选择是在一组动作中;代理可以使用一组动作)。
  3. 从一个状态到另一个状态的转换概率(过渡模型),
  4. 某个观察模型(在某个状态下出现特定观察的概率)。
  5. 以及一个补偿机制(它有助于研究每个动作的有益程度)。

当代理使用条件规划时,即计算最优策略(这是信念状态(代理对世界的概率信念)到动作的映射)时,就会应用 POMDP。这使得代理能够在不清楚自己处于哪种状态的状态下执行最佳动作。

条件规划在 AI 中的应用

机器人和自动驾驶

在机器人技术中,条件规划是指机器人适应其在信息不完全或遇到不可预见的障碍物的环境中进行导航和执行任务的过程。用于家庭、工厂或探险的机器人需要能够在不完全了解眼前情况或事物状态的情况下做出许多决策。

例如,假设一个仓库机器人负责一项递送任务;它可能会遇到意外的拥堵或有缺陷的产品。条件规划器使它能够动态地考虑这些可能性:如果路径畅通,则选择该方向;如果道路拥堵,则重新规划到预先规划的次要路线;如果物品放错地方,则通知人类或寻找物品。这些选择不是逐案决定的,而是预先嵌入机器人计划中的分支。

游戏 AI 和互动叙事

在现代视频游戏和其他交互式媒体中,条件规划已成为动态角色行为和叙事路径分支的主要促进者。条件规划与脚本行为不同,脚本行为不限制非玩家角色 (NPC);相反,它们可以通过反思可用信息和基于可用动作,以类似于真实人的方式行事,它们对玩家在游戏中的动作或选择的响应将是可信的,并且还会使游戏既有趣又引人入胜。

例如,在潜行游戏中,一个敌方 NPC 可能有一个计划,即在听到声音时进行搜索,或者在发现玩家或丢失玩家时采取行动。与坚持巡逻路线不同,NPC 可能会根据情况的变化调整为搜索模式或订购增援。

医疗保健和辅助技术

条件规划尤其是在护理涉及不确定或多变的情况下,使得在医疗保健领域能够实现更个性化和动态的护理。这样的系统将使临床医生和患者都受益。一个很好的例子是智能诊断和治疗规划系统,其解决方案路径不是预先确定的,因为它取决于患者的反应、测试结果和观察到的症状。

想象一个 AI 医疗助手根据最可能的情况规划一系列测试。当测试中的一个条件被排除时,计划将动态更改为备用路径。这种考虑意外情况的系统可以避免不必要的检查,并为该过程提供个性化的方法,以提高疗效和结果。

灾难响应系统

在高风险条件下,例如在存在高度不确定性的搜救任务中,未知地形、新兴威胁以及响应者需要做出时间敏感的决策,评估环境风险并获得条件规划是不可或缺的。

部署在灾区的机器人系统或 AI 驱动的无人机将不得不穿过瓦砾、火焰或洪水来寻找幸存者。这些任务本身就不可预测;瓦砾后面会发现什么,或者建筑物是否可以安全进入,通常是未知的,只有在传感器收集到新数据后才会知道。

在这种情况下,条件计划使自主系统能够为各种意外情况做好准备。如果其中一个路径被碎片堵塞,它们可以遵循备用计划。或者,如果系统检测到人类,它可能会启动救援程序。这些决策也必须实时做出,通常在 GPS 受限或通信受限的情况下,因此,预先规划的条件策略是必不可少的。

AI 条件规划的缺点

可扩展性和计算复杂度

与条件规划相关的第一个问题是,由于环境复杂,状态、可能动作和意外情况的数量呈指数级增长。任何模糊的引导或局部观察都会导致计划的额外划分,从而导致计划空间的组合爆炸。因此,对于相对小规模的问题,会得到计算上困难的问题。

当问题空间(信念状态)增大或可能观察的数量增加时,AND-OR 图搜索或 POMDP 求解器效率不高。因此,启发式方法、近似方法和剪枝技术至关重要,因为总需要平衡最优性和可行性,这是研究的一个中心主题。

不确定性建模

第二个主要问题是在规划领域创建不确定性的充分模型,即能够反映环境中不确定性和观察缺失的模型。与在确定性系统中不同,在这种系统中,所有结果都已经知道,条件规划器必须面对概率模型,这些模型告知它们某个事件发生的可能性或进行观察的机会。

开发此类模型需要该领域的技能、传感器组合和数据学习。在许多情况下,不完整或不准确的模型会导致效率低下或不安全的计划。为了生成可信的 AI 系统,必须考虑到规划器能够基于嘈杂、部分或动态变化的信息有效解决问题,从而在现实中开发应用条件规划概念的可信 AI 系统。

条件规划与强化学习的整合

条件规划和强化学习 (RL) 有潜力协同工作,尤其是在复杂、动态的情况下提高不确定性下的决策能力。条件规划提供基于模型的算法概念来管理分支、意外情况和信念状态,而强化学习通过试错在探索最优策略方面表现最佳,并且不一定完全建模环境。

两者的结合允许规划器利用 RL 的灵活性来近似动作的概率或价值函数,这可以在结果不确定或信息不完整的情况下为条件计划提供方向。

例如,可以使用 RL 进行过渡模型估计或奖励结构细化(允许条件规划器在部分可观察或变化域中做出更明智的决策)。混合方法在需要 AI 代理利用结构化远见并从经验中学习的机器人技术、自主系统和游戏中具有巨大价值,以便在不确定的地形上成功运行。