因需设岗,竞争上岗的多Agent协作的协作模式

1. 形式化框架

时序逻辑语言TL是在经典一阶谓词逻辑的基础上,增加一组用来表示事件时间顺序的模态连接符而构成。在时序逻辑中存在两类时序连接符:过去时的连接符和现在及将来时的连接符。如“clip_image002”(下一次)、“clip_image004”(有时或最终)、“clip_image006”(总是)、“clip_image008”(直到)、“clip_image010”(除非),其中{clip_image002[1]clip_image004[1]clip_image006[1]}为一元连接符,而{clip_image008[1]clip_image010[1]}为二元连接符。

 

clip_image012clip_image014为两个时序逻辑公式,即clip_image012[1]clip_image014[1]clip_image016TL,那么

(1) clip_image018:若clip_image012[2]在下一个时刻为真,则clip_image018[1]为真;

(2) clip_image020:若现在或将来某一个时刻为真,则clip_image020[1]为真;

(3) clip_image022:若现在和将来一直为真,则clip_image022[1]为真;

(4) clip_image024:若clip_image014[2]将在某一时刻为真,而clip_image012[3]到该时刻之前一直为真,则clip_image024[1]为真;

(5) clip_image026:与clip_image024[2]相似,但它允许clip_image014[3]一直不为真。

 

另外,为了便于刻画Agent的心智态度,定义了一组新的模态算子。

(1) (clip_image028):Agent i将采取行动a;

(2) (clip_image030):Agent i具有信念clip_image012[4]

(3) (clip_image032):若clip_image012[5]为Agent i的某种目标,则Agent可以采取行动a来实现该目标;

(4) (clip_image034):Agent i能实现目标clip_image012[6]

(5) clip_image036 即Agent可能直接采取行动a就实现目标;也可能在采取行动a之后,才能进一步去实现自己的目标。

(6) (clip_image038):Agent i将对实现目标clip_image012[7]作出承诺;

(7) clip_image040 即Agent相信除非出现某种意外情况(Exception),它最终总能采取行动a实现目标。

 

2. 协作模型

协作模型定义为:clip_image042

(1) clip_image044——协调Agent。协作协调者一方面提出协作需求,并对协作目标进行规划;另一方面,还负责根据竞争者的条件挑选恰当的协作伙伴。

(2) clip_image046——协作目标。包括任务目标性能目标

(3) clip_image048——协作规划。协作规划的结果是建立协作结构,即求解协作方案,确定完成协作任务所需的角色,角色的相关性质以及各角色之间的依赖关系。

(4) clip_image050——协作伙伴集合。

(5) clip_image052——协作方案。

 

定义 任务性目标是指Agent间应协作完成何种任务,实质上是指协作结束后Agent应达到何种状态。clip_image054

 

定义 性能指标主要指实现目标应达到的一些要求或应满足的一些限制条件(如时间、资源等)。

(1) 时间。对实现目标的时间限制一般可以陈述为“必须在多少时间内完成”,即clip_image056

(2) 资源。clip_image058,即如果资源条件得不到满足,则不能最终实现目标clip_image060

 

定义 协作目标产生的前提

clip_image062, 即Agent虽然相信自己不能达到目标,但它相信该目标总能通过某种手段达到。

 

协作结构

协作结构主要用来规定如何将协作目标进行逐步细化以便将各个子任务分派给参与协作的Agent。

定义 子目标。设存在目标g及目标集合clip_image064。若Agent相信实现SG中的任一目标就相当于实现了目标g,则称clip_image066clip_image068)为g的“或”子目标,记作clip_image070。若Agent相信只有实现了SG中的所有目标才算实现了目标g,则称clip_image066[1]clip_image068[1])为g的“与”子目标,记作clip_image072

定义 目标的“与/或”树结构。设存在目标g及其子目标集合clip_image064[1],且clip_image074,则根据目标及其子目标之间的关系可以构成一棵“/”树。

 

该树具有如下特征:

(1) 任一结点的子结点只能是“与”子节点或“或”子结点;

(2) 根结点对应着最上层的目标,整棵树是对该目标的求解方案的规划;

(3) 叶结点表示该子目标可以由某个特定的角色来负责完成;

(4) 其他结点为树的中间结点,它表示那些还需要进一步分解、要多个角色协作才能完成的子目标。

 

定义 目标关系图。设N为Agent a的某目标所对应的“与/或”树的结点集即目标集,二元函数为:clip_image076

关系clip_image078:before表示“之前”,serial表示“无特定的先后顺序,但不能同时进行”,none表示“没关系”。

 

R的两个参数必须满足:

(1) 它们是同一层的结点

(2) 它们最近的共同祖先的子结点是“与”子结点

 

定义 协作结构。由该目标的“与/或”树结构以及与之对应的目标关系图构成。

 

定义 协作目标进程。设目标g为协作目标clip_image064[2]为目标集。

(1) 若SG为目标g的“或”子目标集,则目标g对应的clip_image080演算进程可以定义为:clip_image082

(2) 若SG为目标g的“与”子目标集,则目标g对应的clip_image080[1]演算进程可以定义为:clip_image084

 

定义 目标关系进程

(1) 若clip_image086,则目标clip_image066[2]clip_image089的关系可定义为如下进程:clip_image091

(2) 若clip_image093,则目标clip_image066[3]clip_image089[1]的关系可定义为如下进程:clip_image095,其中clip_image097,相当于一个pv信号控制器。

(3) 若clip_image099,则目标clip_image066[4]clip_image089[2]的关系可定义为如下进程:clip_image101

协作目标g的目标关系进程可以定义为所有clip_image103的组合进程,即clip_image105

 

定义 协作结构进程。协作目标g所对应的协作结构的clip_image107演算进程可以定义为clip_image109

目标g的与或树示意图

图1 目标g的“与/或”树示意图

 

虚弧线表示其子结点为“或”结点,实弧线则表示其子结点为“与”子结点。

clip_image113clip_image115clip_image117

clip_image119

其中,clip_image121

 

协作方案

利用目标关系进程clip_image123clip_image080[2]做“|”对“+”的分配运算。如上图例示,

clip_image126

式中,clip_image103[1]并不是与所有组合子进程表达式都发生关系,只有当clip_image129clip_image131都出现在某组合子进程表达式中时,clip_image103[2]才与之发生关系。由“+”连接起来的每一个组合子进程表达式都是协作目标的一种解决方案。

 

若目标关系图中出现有向环,则说明选择该协作方案会出现死锁,协作将不可能进行,因此它不是可选的协作方案,必须从协作结构进程中删去。即对协作目标的“与/或”树进行修剪。修剪后的“与/或”树中的所有叶结点都可以作为一个可竞争的岗位和角色供各Agent进行竞争。

 

Agent竞争及确定协作伙伴的过程可以描述如下:

(1) 协作协调者根据协作结构向外界公布可竞争的岗位和角色;

(2) 各竞争者Agent根据自己的能力竞争相应的岗位和角色,并提交相关信息,如有能力胜任何种工作、完成任务可能需要的时间以及实现目标所需的资源等。

(3) 根据竞争Agent提交的信息,挑选最合适扮演某一角色的Agent。挑选标准可根据Agent的竞争信息及各要素的权重计算得到。

设实现某目标最多只能用clip_image133个时间单位,且占用不多于clip_image135个资源,那么Agent的竞争优势可按下列公式计算:clip_image137,T为Agent承诺完成任务的时间,clip_image139为实现目标要占用的资源,clip_image141为各类指标的权重。这样具有竞争优势(即C最大)的Agent最适合扮演该角色。

 

协作开始后履行自己的承诺

设协作伙伴由Agent集合clip_image143组成,它们在所选中的协作方案中扮演各自的角色,并承担相应的任务,这些任务由进程集合clip_image145按协作结构组成,其中任务clip_image129[1]将由对应的协作Agent clip_image148承诺并完成。

 

开始进行协作前,首先必须相互信赖

clip_image150,即协作团体中的每个Agent都相信自己和其他Agent都能完成各自所承诺的任务。

 

其次,参与协作的Agent一旦做出承诺,就必须采取行动来实现目标。

clip_image152,即参与协作的每个Agent在作出承诺后,必将采取某种行动并实现各自的目标。

 

这样,如果协作伙伴相互信任,且会对自己的目标作出承诺,并保证目标的实现,则多Agent间的协作可以顺利进行,即协作伙伴可以按照协作规划阶段所产生的协作结构clip_image154以及所选择的协作方案实现协作目标g:clip_image156

 

参考文献:

[1] 王汝传, 徐小龙, 黄海平等. 智能Agent及其在信息网络中的应用. 北京: 北京邮电大学出版社, 2005

转载于:https://www.cnblogs.com/6DAN_HUST/archive/2010/09/02/1816284.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值