人工智能中的分层规划

2025 年 4 月 15 日 | 阅读 12 分钟

分层规划的定义

分层规划是人工智能中的一种方法,它将复杂问题分解为子问题,并将这些子问题按层次进行排序。这种方法使得人工智能系统能够在规划和执行其动作时,在不同抽象层次上进行操作,从而更容易处理复杂性和动态性。

在最广泛的层面上,概述了目标,它们包含了一些最高层次的活动抽象。这些目标被分解为基于活动的、约定俗成的目标,这些目标概述了执行所涉及的任务时更精细的活动模式。这个过程一直持续到操作变得简单明了,并且系统本身就可以完成为止。

在问题复杂度导致无法一步完成整个规划的情况下,分层规划非常有用。将目标分解为更小、更易处理的子目标,可以生成更有效、更灵活的规划。与处理大型复杂人工智能目标相比,可以更有效地响应变化,最后,规划所需的计算资源量得以最小化。

关键概念和术语

层级结构

其基本思想是根据任务的通用程度对其进行划分,通用程度越高表示目标越通用,通用程度越低表示目标越具体。这种层次结构有助于系统通过分层和命令链来解释复杂的细节。

任务分解

它涉及将一组防御性障碍物精确地形式化地分解为易于处理的障碍物。该过程一直持续到可以将要执行的工作细节化描述的那些活动完成为止,这就是最终的工作包或WBS。总的来说,分解在降低规划过程的复杂性或实际简化它方面尤为突出。

主函数

随着复杂性的不断增加,专门化的工作活动可以提供对需要做什么的普遍理解。这些不能被归类为操作任务,但需要将其分解为相关的子操作。

子任务

因此,子任务被定义为通过分析某个通用任务而创建的低级任务。这些任务被进一步定义,并且在实现方面更接近于要开发的系统的实际操作。

运算符

在分层规划中,算子(operators)是为实现特定的子目标而执行的行为。它们提供了子任务如何完成的详细信息,并取决于系统在给定时间的状态。

计划

在分层规划中,规划(plan)是算子的序列,这些算子以一种提供逐步程序的方式进行组织,以从物理和具体层面开始,到抽象和高级层面为止,实现目标。

分层规划的类型

分层任务网络规划 (Hierarchical Task Network Planning)

分层任务网络规划是人工智能中分层规划最明显的形式。功能性组织结构将复杂活动分解为琐碎活动,从总体规划的行动方案一直到系统可以执行子流程的级别。

  • 任务分解: 这种任务划分结构是 HTN 规划的优势之一。这意味着给定一个复杂的任务,它被分解为多个子任务,并且可以进一步分解为子子任务。这个分解过程一直持续到所有任务都被分解到系统可以直接管理的程度。
  • 方法和算子: 在 HTN 规划中,方法(methods)对应于具有任务预解决方案的语言约定,而算子(operators)指示方法中定义的任务所需的动作。它们根据在组织结构的一个或多个层级上设定的控制进行运作。
  • 优点: HTN 规划主要用于机器人、游戏、人工智能和汽车领域,因为这些领域都包含重要的任务规划和执行。

多层次规划 (Multi-Level Planning)

分层规划的另一种形式是多层次规划,也称为多分辨率规划,它以各种分辨率考虑问题。在 HTN 中,问题被分解为易于解决的子问题;而在多层次规划中,问题在不同的抽象层次上解决,每个层次都呈现出问题不同程度的粗糙度。

  • 抽象层次: 在多层次规划中,问题通过采取总体解决方案在高层次上解决。然后将该规划进一步向下展开,以便在最终的行动方案中包含具体的细节。
  • 迭代改进: 规划过程相当简单,并且被设想为从概述的高层规划开始,然后产生下一个较低层级的另一个解决方案。
  • 应用领域: 它广泛应用于决策在一个层级影响另一个层级决策的情况,例如物流、物料流和环境规划。

分层强化学习 (Hierarchical Reinforcement Learning, HRL)

强化学习 HRL 是将实际应用和层次结构结合起来的规划版本。在 HRL 规划中,规划过程根据规划层级进行划分,其中每个规划层级都与抽象或时间规划层级相关。

  • 分层策略: 在 HRL 中,代理(agent)在层次结构的多个层级上进行学习;学习代理推断各层级的策略。存在高层和低层策略的证明之一是,前者包含长期目标或至少是问题解决方法的通用表征,而后者则涉及为实现前一层策略设定的目标可能需要的短期活动。
  • 时间抽象: 关于时间抽象,它增加了代理的时间决策能力。它有助于在本地决策时间步长和与世界交互的时间步长中建立行动路线;它提高了代理的智能。
  • 优点: 它在本质上是分层的领域中尤其有益;例如,在机器人领域,代理在不同层级上规划其活动:总体(例如,去房间的哪个位置)和详细(例如,不撞到什么)。

分层基于模型的规划 (Hierarchical Model-Based Planning)

这种规划是一种垂直规划方法,其前提是规划源自应用程序域的模型。它与分层规划明显相关,分层规划是一种涉及使用多层问题模型并以不同详细程度解决问题的方法。

  • 模型层次: 与区分规划和执行计划分辨率的模型连续体不同,HM-based 规划中的模型构建方式使得每个层级都是问题的不同层级。问题的高层模型提供了解决该问题的总体方法,而低层模型则详细阐述了问题解决方案的细节。
  • 模型精炼: 规划过程的最后一步是调整模型,当规划者沿着组织结构的层级向上移动时。需要增强的第二个方面是计划中提供的细节,使其能在不同层级上提供问题的真实细节。
  • 应用领域: 分层规划模型与之相辅相成,并且也在知识领域(例如工程设计)中使用。系统在不同层级上进行描述,并且一般层级的决策可以影响局部层级的决策。

分层面向目标规划 (Hierarchical Goal-Oriented Planning)

分层面向目标规划意味着一组目标按层次排列,并且组织按部就班地遵循其目的。与基于任务的规划(基于任务分解完成)相比,基于目标的规划涉及一组目标,然后根据它们之间的联系和相互依赖性按层次进行排列。

  • 目标分解 是一个过程,其中一个层级的目标被分解为一组子目标,这些子目标需要被实现才能实现更高规划层级的目标。上述分解一直持续到系统直接追求子目标。
  • 目标关系: 这种层次结构通过目标之间的关系来理解,例如依赖性或目标的顺序排列。然后,规划者必须保证所有下属目标都按正确的顺序实现,以实现主要目标。
  • 应用: 分层 GOP 通常应用于特定领域,例如项目管理,其中多个目标的实现通过子目标结构来实现。

分层调度 (Hierarchical Scheduling)

分层调度是一种分层规划,其中规划以任务或资源为依据,以不同的详细程度进行。这意味着调度过程被纳入一种层次结构形式,其中决策的制定取决于所涉及任务的级别。

  • 调度层级: 调度使用分层结构,其中高层决策由高层制定,更具体地说,由低层制定(例如,高层的资源调度和低层的详细工作和任务调度)。
  • 资源管理: 在需要多层级组织资源的场景中最有益,例如在制造或运营管理中。它有助于规划和调度人力资源、财务资源和其他资源来执行各种任务和项目。
  • 动态适应: 这创建了一个调度层级,其中一个层级的调度决策可以反映另一个较低层级的调度结果。这种灵活性非常重要,尤其是在操作环境中,因为环境可能在短时间内“翻转”,就像实时程序那样。

分层规划的应用

机器人和自主系统

在机器人领域,分层规划是一个重要关注点,因为它提供了在不同任务限制级别上执行导航、物体处理和人机交互等活动的方法。通过这种方法,可以以与总体任务相一致的方式设计和组织动作,当变化是关键因素时,这一点很重要。

游戏 AI

在电子游戏系统中,NPC 的行动是通过分层规划确定的。分层任务网络 (HTNs) 也非常适合用于游戏内 AI,因为它们允许高度的决策能力,从而驱动高层行动,例如防御基地或收集资源。HTNs 可以轻松模拟这些高层行动。这种方法使得 NPC 的行为看起来智能且与给定上下文相关,从而使整个游戏更加出色。

物流与供应链管理

物流是指将产品和/或服务输送到预期目的地的过程,而供应链管理是对从生产到消费的物流进行管理。第二种规划对于物流和供应链管理至关重要,因为它具有层次性,并且协调活动存在于各个层级。例如,可能长期且量化的公司目标(如时限目标,如交付时间或库存管理)被分解为可衡量且可行的活动,如路线调度和销售预测。

制造和生产规划

在制造领域,分层规划或制造资源规划(MRP)可以组织材料采购、操作和最终产品的组装。将广泛的组织目标,例如生产截止日期,分解为具体的活动,例如生产计划和质量控制。它将生产的所有方面与这些广泛目标联系起来,旨在使制造过程和产品质量等尽可能优化。

城市和经济规划及基础设施建设

它通过分层规划协助城市规划者管理复杂的规划任务。为促进社会整体增长和发展而制定的雄心勃勃的目标可以缩小为需要实现的具体目标;例如,公共交通的改善可以均匀地划分为确定公交线路和换乘中心。这种方法考虑了资源利用、风险管理和项目完成。

医疗保健和医疗规划

在医疗保健领域,分层规划协调患者管理以及与医院工作相关的一切。维持目标,例如等待特定时间的顺序,被分解为活动,例如预约和规划患者的治疗计划。这些分类提高了患者治疗和组织管理的质量。

分层规划中的挑战

任务分解的复杂性

将高级任务分解为可执行的子任务并非易事,它需要对领域有足够的理解。分布式和复杂的相互关联的活动可能导致工作流程分解中的错误,因此,一旦遗漏了重要方面,就会导致有效性和性能低下。

可扩展性问题

处理实施过程中具有多个子任务的项目涉及生成海量数据和决策点。将其作为大型组织的基本组成部分执行可能具有挑战性,这会导致在跨组或系统进行扩展时出现差异和沟通不畅。

不确定性和动态环境

有人认为,在不确定和快速变化的环境中,分层规划可能很困难。主要原因是系统是基于计划目标的层次结构严格构建的,这些计划不适用于层次结构失败的情况,并且组织在这些情况下会遇到不可预测的情况,这些计划缺乏合理性。

资源分配冲突

多任务处理环境中的一些固有挑战包括,很难管理资源,以至于需要相同资源而发生冲突的多个子任务不会因此而争抢。当发生冲突和资源管理时,由于需要完成的程序增多,进度会变慢,成本会增加,并且计划的成功率会降低。

协调和沟通问题

它们非常重要但非常困难:组织关系方面,例如,纵向整合。缺乏协调可能导致视野受限,因此,由于决策耗时,层级障碍会阻碍高效运营。

计划的最优性与可行性

这是因为我们试图在获得最优解决方案与实际可行的解决方案之间取得平衡。这意味着必须始终有一种方法可以弯曲计划以获得现实且有效的解决方案。

分层规划的工具和框架

基于图的规划工具

分层规划是每个组织的关键要求,它需要使用基于图的规划工具来充分表示规划问题。图规划和 PDDL(规划领域定义语言)依赖图来表示任务及其关系。这些工具通过生成分层、合理且最优的动作和状态来支持规划。

分层任务网络 (HTN) 规划器

HTN 规划器,如 SHOP 2 和 JSHOP,将其功能扩展到在分层规划的框架内解释规划。这些工具利用 HTN 框架将粗粒度、细致的目标分解为更精确、微观的目标。它们在任务紧密相连的情况下尤其有用,因此可以帮助以正确的顺序和时间掌握这些任务。

自动规划与调度自动调度器

还提供 OPTIC 和 GIPO 等高级自动规划和调度。它结合使用分层规划和调度来处理时间关键事件。它们旨在通过规划和调度活动来实现资源的及时最大化利用,并考虑截止日期,这对于灵活和有界环境尤其重要。

建模和仿真平台

AnyLogic 和 Simulink 是建模和仿真工具,允许为规划场景中的层次结构构建微观模型。它们可以让用户(如规划者)有机会练习不同的规划策略,以提前确定其可行性。通过协助制定计划和改进决策,这些工具提供了关于如何处理各种场景及其后果的信息。

约束编程框架

有两种主要的约束编程工作框架:IBM ILOG CPLEX 和 Google OR-Tools,它们在约束的分层规划方面表现良好。这些工具有助于开发和解决需要满足许多条件的通用规划问题。它们在确定宏观规划任务的优先级和责任方面尤其有用。

决策支持系统 (DSS)

决策支持系统,如 SAP Business Planning and Consolidation,通过提供有关实施程度的关键信息来协助分层规划。这些系统通过整合多个数据源、识别场景和使用预测来增强决策。它们有助于协调各层级的战略计划与业务目标,并根据最全面可靠的信息做出决策。

AI 规划工具

一些 AI 规划工具是基于 PDDL 的规划器和域无关规划器,它们将分层规划与 AI 方法相结合。这些工具基于 AI 算法,可改进分层规划过程。它们仍然可以基于条件变化进行工作,使用预先确定的规范改进计划,或引入机器学习来优化规划过程。

协作规划平台

Microsoft Project、Asana 等工具通过让所有工作人员参与进来,帮助组织分层计划。通过这些工具,可以协调谁在做什么、何时做以及其他什么与之相关。它们旨在改进协调,并让所有团队成员在实施分层计划时保持一致。

结论

人工智能中的分层规划是一种非常有价值的架构,它能够增强复杂的决策能力。这使得系统能够更准确地应对复杂的挑战,因为复杂的总体目标被分解为小的子问题。例如,自动车辆导航和制造优化是分层规划支持结构化和协调步骤以提高性能和资产利用率的两个示例。分层规划将继续成为积极 AI 发展过程中必不可少的组成部分,这些技术将扩展创建能够在高度复杂和具有挑战性的环境中存在和行动的智能系统的能力,同时保持战略目标与可能实施策略之间的联系。