Decentralized Epistemic Planning文档
本文最后更新于 2025年9月2日 下午
Decentralized Epistemic Planning基础定义
Classic Planning
一个Classical Planning实例(Classical Planning问题)可以用一个元组表示
其中代表实例中所有可能的状态,代表初始状态的集合,代表目标状态的集合,代表在状态集下能够做出的行为集,代表转移函数,代表在状态下通过行为 能够到达的下一个状态,代表在状态下采取行为所需要的代价。
Classical Planning中的一个核心表达结构可以采取STRIPS中定义的基本行为模板,其中定义如下:
1 | |
以move为例子,假设现在要模拟一个代理a从一个房间r1移动到另一个房间r2,那么在状态空间中会有如下变化:
- agent_at(a, r1) = 1 -> agent_at(a, r1) = 0
- agent_at(a, r2) = 0 -> agent_at(a, r2) = 1
做出该行为的先决条件为:
- connected(r1, r2) = 1
- agent_at(a, r1) = 1
以上便表示了一个行为所需的基本内容,而定义move行为模板的方法如下:
1 | |
实际上以上只是我在pddl中倾向的写法,实际上并不需要写成这样。但是这样会让模型逻辑变简单一些,因此就这么写了。
可以看出,一个行为可以用一个元组来表示,分别代表了参数,先决条件和影响。
常规的Classical Planning的解决方案已经在AI界中广泛讨论,有各种解决方案能处理这类问题。然而,Classical Planning却无法解决代理的信念问题
Epistemic Planning
Epistemic Planning意为认知规划,通常用于讨论代理对其他代理的信念问题,用另一种方法说, 可以成为代理的现实世界的认知与嵌套认知问题。
一个Epistemic Planning可以被如下表示
其中与Classical Planning中相同符号的也代表相同意思。此外,表示代理,代表观察函数,用于表示代理在现实状态下所能观察到的内容。
在继续讨论之前,需要先讲一下基本的Epistemic Logic(认知逻辑)
Epistemic Logic
在Fagin等人的研究中,他们提出了一套对认知逻辑的正式定义,其中数学表达如下
其中,为有限的基本逻辑(事实)集合。为代理集合。表示代理知道某个逻辑。代表代理相信某个逻辑。该数学表达中的连接符号可以用常规的逻辑符号理解。不难看出,这套认知逻辑中展示了信念有嵌套性,比如也是存在的,用于代表知道知道逻辑。
在这里解释一下。这个东西可以用于表示一个truth,比如某个人在某个地方:,而则可以被理解为代理知道代理在房间。然而,代理的理解并不一定正确,就好比你也许只是以前见过某个人在上海,就如今依然还是相信它在上海一样。这件事并不一定正确。
我们可以使用Kripke structure来表示逻辑系统,Kripke structure通用可以用一个元组表示
其中,是一个非空的可能世界集合,在认知逻辑中,可能世界并不单单指的是现实世界中的状态,也同时表示代理的认知世界中的状态。为一个二元评估函数,用于表示在世界中是否为真。表示可能世界之间的二元可达性关系。如果,则表示世界和时双向可达的。
其余的有关于信念和知识的系统定义,分别名为和。其定义较为复杂,便不在此做赘述。
如上便基本讲完了认知规划中的基本逻辑,接下来讲认知规划的功能。
Motivation
Classical Planning中,所有的状态都是基于现实世界的,问题中代理个人的视角和信念的表示则需要使用额外的状态空间来表示。通常来说,Classical Planning也可以用于解决代理之间的信念问题,但是那通常会让问题的状态空间急剧变大,难以维护正常的运行。
Epistemic Planning采用认知逻辑对基本逻辑 的表达方式进行了扩展。这解决了经典规划中添加信念逻辑导致状态空间剧增的问题。
在Epistemic Planning中,我们暂时不考虑的问题,即假设所有。