1. 形式化框架
时序逻辑语言TL是在经典一阶谓词逻辑的基础上,增加一组用来表示事件时间顺序的模态连接符而构成。在时序逻辑中存在两类时序连接符:过去时的连接符和现在及将来时的连接符。如“”(下一次)、“”(有时或最终)、“”(总是)、“”(直到)、“”(除非),其中{、、}为一元连接符,而{、}为二元连接符。
(4) :若将在某一时刻为真,而到该时刻之前一直为真,则为真;
另外,为了便于刻画Agent的心智态度,定义了一组新的模态算子。
(3) ():若为Agent i的某种目标,则Agent可以采取行动a来实现该目标;
(5) 即Agent可能直接采取行动a就实现目标;也可能在采取行动a之后,才能进一步去实现自己的目标。
(7) 即Agent相信除非出现某种意外情况(Exception),它最终总能采取行动a实现目标。
2. 协作模型
(1) ——协调Agent。协作协调者一方面提出协作需求,并对协作目标进行规划;另一方面,还负责根据竞争者的条件挑选恰当的协作伙伴。
(3) ——协作规划。协作规划的结果是建立协作结构,即求解协作方案,确定完成协作任务所需的角色,角色的相关性质以及各角色之间的依赖关系。
定义 任务性目标是指Agent间应协作完成何种任务,实质上是指协作结束后Agent应达到何种状态。。
定义 性能指标主要指实现目标应达到的一些要求或应满足的一些限制条件(如时间、资源等)。
(1) 时间。对实现目标的时间限制一般可以陈述为“必须在多少时间内完成”,即。
(2) 资源。,即如果资源条件得不到满足,则不能最终实现目标。
定义 协作目标产生的前提。
, 即Agent虽然相信自己不能达到目标,但它相信该目标总能通过某种手段达到。
协作结构
协作结构主要用来规定如何将协作目标进行逐步细化以便将各个子任务分派给参与协作的Agent。
定义 子目标。设存在目标g及目标集合。若Agent相信实现SG中的任一目标就相当于实现了目标g,则称()为g的“或”子目标,记作。若Agent相信只有实现了SG中的所有目标才算实现了目标g,则称()为g的“与”子目标,记作。
定义 目标的“与/或”树结构。设存在目标g及其子目标集合,且,则根据目标及其子目标之间的关系可以构成一棵“与/或”树。
该树具有如下特征:
(1) 任一结点的子结点只能是“与”子节点或“或”子结点;
(2) 根结点对应着最上层的目标,整棵树是对该目标的求解方案的规划;
(3) 叶结点表示该子目标可以由某个特定的角色来负责完成;
(4) 其他结点为树的中间结点,它表示那些还需要进一步分解、要多个角色协作才能完成的子目标。
定义 目标关系图。设N为Agent a的某目标所对应的“与/或”树的结点集即目标集,二元函数为:。
关系:before表示“之前”,serial表示“无特定的先后顺序,但不能同时进行”,none表示“没关系”。
R的两个参数必须满足:
(1) 它们是同一层的结点;
(2) 它们最近的共同祖先的子结点是“与”子结点。
定义 协作结构。由该目标的“与/或”树结构以及与之对应的目标关系图构成。
(1) 若SG为目标g的“或”子目标集,则目标g对应的演算进程可以定义为:
(2) 若SG为目标g的“与”子目标集,则目标g对应的演算进程可以定义为:
定义 目标关系进程。
(2) 若,则目标和的关系可定义为如下进程:,其中,相当于一个pv信号控制器。
定义 协作结构进程。协作目标g所对应的协作结构的演算进程可以定义为
图1 目标g的“与/或”树示意图
虚弧线表示其子结点为“或”结点,实弧线则表示其子结点为“与”子结点。
协作方案
式中,并不是与所有组合子进程表达式都发生关系,只有当,都出现在某组合子进程表达式中时,才与之发生关系。由“+”连接起来的每一个组合子进程表达式都是协作目标的一种解决方案。
若目标关系图中出现有向环,则说明选择该协作方案会出现死锁,协作将不可能进行,因此它不是可选的协作方案,必须从协作结构进程中删去。即对协作目标的“与/或”树进行修剪。修剪后的“与/或”树中的所有叶结点都可以作为一个可竞争的岗位和角色供各Agent进行竞争。
Agent竞争及确定协作伙伴的过程可以描述如下:
(1) 协作协调者根据协作结构向外界公布可竞争的岗位和角色;
(2) 各竞争者Agent根据自己的能力竞争相应的岗位和角色,并提交相关信息,如有能力胜任何种工作、完成任务可能需要的时间以及实现目标所需的资源等。
(3) 根据竞争Agent提交的信息,挑选最合适扮演某一角色的Agent。挑选标准可根据Agent的竞争信息及各要素的权重计算得到。
设实现某目标最多只能用个时间单位,且占用不多于个资源,那么Agent的竞争优势可按下列公式计算:,T为Agent承诺完成任务的时间,为实现目标要占用的资源,为各类指标的权重。这样具有竞争优势(即C最大)的Agent最适合扮演该角色。
协作开始后履行自己的承诺
设协作伙伴由Agent集合组成,它们在所选中的协作方案中扮演各自的角色,并承担相应的任务,这些任务由进程集合按协作结构组成,其中任务将由对应的协作Agent 承诺并完成。
开始进行协作前,首先必须相互信赖。
,即协作团体中的每个Agent都相信自己和其他Agent都能完成各自所承诺的任务。
其次,参与协作的Agent一旦做出承诺,就必须采取行动来实现目标。
,即参与协作的每个Agent在作出承诺后,必将采取某种行动并实现各自的目标。
这样,如果协作伙伴相互信任,且会对自己的目标作出承诺,并保证目标的实现,则多Agent间的协作可以顺利进行,即协作伙伴可以按照协作规划阶段所产生的协作结构以及所选择的协作方案实现协作目标g:
参考文献:
[1] 王汝传, 徐小龙, 黄海平等. 智能Agent及其在信息网络中的应用. 北京: 北京邮电大学出版社, 2005