计划、动作和学习

基于搜索的规划方法依赖于几个很强的假设:

  • agent必须能在图节点中表示所有相关的环境状态,它必须有在一对节点间如何动作的精确模型。

    SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
  • 动作必须总有其模型化的结果,即在agent的操作系统中不能有错误或不确定性。

  • agent感知系统必须精准的指定开始节点,并且没有任何其他的agent或动态过程会改变环境。

如果这些假设满足,且搜索到目标状态的时间允许,就能进行规划,并执行一个完整序列的动作,不需要任何环境的信息反馈。

感知/计划/动作循环

由于以下原因,上面的那些假设通常得不到满足:

  • 知觉过程不可能总是提供环境状态的必须信息,当两种不同状态的环境引起相同传感输入时,我们称这种情况为感知混淆(perceptual aliasing)

  • 动作并不总有其模型效果(模型可能不够精准,或者受动器系统在执行动作时偶尔会产生错误)

  • 可能在环境中有其他物理过程或其他agent。这些过程可能会改变环境以致于干扰agent动作。

  • 外部作用的存在会引起其他问题:在构造一个计划期间,环境可能变得与原来的计划不相干。

  • agent可能在完成一个到达目标状态的搜索之前被要求动作。

  • 即使agent有充分的计算时间,但是计算要求的空间资源不允许搜索进行到目标状态。

有两种方法可以用来解决这些困难,同时又保留基于搜索的计划的主要特征:

  • 用概率的方法来形式化知觉、环境和受动器的不确定性

  • 用各种附加的假设和近似来消除这些困难的影响。

在这里暂时先不讨论正式的、基于概率的方法,而是提出一个叫感知/计划/动作的结构,在很多应用上避开了上述的一些复杂性。该结构的基本原理是即使动作偶尔产生了没有预料的结果,或者agent有时不能决定它处于哪一种环境状态下,但是通过保证agent从它执行环境中得到的连续的反馈,这些困难可以被充分的解决。

人工智能09 计划、动作和学习 人工智能 第1张

人工智能09 计划、动作和学习 人工智能 第2张

确保连续反馈的一个方法是计划一个动作序列,只执行这个序列中的第一个动作,感知结果环境状态,重新计算开始节点,然后重复上述过程。这种方式,选择动作的agent被叫做感知/计划/动作agent。为了使这个方法有效,计算一个计划的时间必须比每个动作执行时间要少。

逼近搜索

1. 孤岛驱动搜索

在孤岛驱动(island-driven)搜索中,来自问题领域的启发知识被用于在搜索空间中建立一个“岛节点”序列,假定有好的路径通过这个搜索空间。例如,在计划通过有障碍的地形时,这些岛就是相应的山。假如n0是开始节点,ng是目标节点,(n1,n2,......,nk)是这些岛的一个序列。我们用n0作为开始节点,n1作为目标节点开始一个启发式搜索,当搜索找到了一条到n1的路径时,再用n1作为目标点开始另一个搜索,等等,直到我们发现了一条到达ng的路。

人工智能09 计划、动作和学习 人工智能 第3张

人工智能09 计划、动作和学习 人工智能 第4张

2. 层次搜索

人工智能09 计划、动作和学习 人工智能 第5张

人工智能09 计划、动作和学习 人工智能 第6张

人工智能09 计划、动作和学习 人工智能 第7张

人工智能09 计划、动作和学习 人工智能 第8张

3. 建立反应过程

人工智能09 计划、动作和学习 人工智能 第9张

人工智能09 计划、动作和学习 人工智能 第10张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄