1. 形式化框架

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

为两个时序逻辑公式,即TL,那么

(1) :若在下一个时刻为真,则为真;

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

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

(4) :若将在某一时刻为真,而到该时刻之前一直为真,则为真;

(5) :与相似,但它允许一直不为真。

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

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

(2) ():Agent i具有信念

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

(4) ():Agent i能实现目标

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

(6) ():Agent i将对实现目标作出承诺;

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

2. 协作模型

协作模型定义为:

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

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

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

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

(5) ——协作方案。

定义 任务性目标是指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) 它们最近的共同祖先的子结点是“与”子结点

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

定义 协作目标进程。设目标g为协作目标为目标集。

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

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

定义 目标关系进程

(1) 若,则目标的关系可定义为如下进程:

(2) 若,则目标的关系可定义为如下进程:,其中,相当于一个pv信号控制器。

(3) 若,则目标的关系可定义为如下进程:

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

定义 协作结构进程。协作目标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

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

因需设岗,竞争上岗的多Agent协作的协作模式相关推荐

  1. 选择企业最合适的人才 —— 谈谈因人设岗与因事设岗

    给自己放松了一阵子,整个脸色都没粉刺了,可见经营一家公司真是需要极强的排毒能力.秋老虎可能快被冻死了,秋招也接近尾声了,很多企业都没找到自己合适的人.今天谈谈企业招募人才的心得. 任何企业都感觉很难招 ...

  2. zabbix的agent端的主动模式关键三个参数

    如多主机超过300+和队列内容过多,就采用主动模式. [root@web03 zabbix]# egrep -v "^#|^$" zabbix_agentd.conf PidFil ...

  3. 计算机中心述职报告诉,计算中心述职报告

    计算中心述职报告 人生天地之间,若白驹过隙,忽然而已,回顾这段时间的工作,一定有许多的艰难困苦,为此要做好述职报告.相信大家又在为写述职报告犯愁了吧!下面是小编精心整理的计算中心述职报告,仅供参考,希 ...

  4. 计算机中心述职报告诉,计算中心的述职报告范文

    <计算中心的述职报告范文>由会员分享,可在线阅读,更多相关<计算中心的述职报告范文(4页珍藏版)>请在人人文库网上搜索. 1.计算中心的述职报告范文l前言我是第一次做述职报告, ...

  5. 厦门python高校培训

    - 2012年,中共中央.国务院印发的<关于分类推进事业单位改革的指导意见>指出, 到2020年,要建立新的事业单位管理体制,高校取消事业编. 这对于过五关斩六将获得事业编制的员工来说,无 ...

  6. Blender新手入门试水作品:Low poly版敲击兽

       一介学生,在游戏课上跟着老师学习了一些Blender的入门知识,于是想试试水做一个模型巩固一下所学知识.        前排提醒:以下文章可能包含各种让大佬们咂舌喷饭血压升高的操作,还请各路英雄 ...

  7. 西安事业单位 计算机管理,2021西安事业单位考试选岗技巧及常见问题解答

    随着2021陕西事业单位联考笔试的结束,很多考生都在担心没有参与联考的西安市还会招录吗?直到4月12日西安事业单位考试公告的发布,才给众多考生打了一针"强心剂".2021年西安事业 ...

  8. MultiRow发现之旅(一)- 高效模板设计器

    2019独角兽企业重金招聘Python工程师标准>>> 在这篇博客中我将向大家介绍一个集成在VisualStudio中的很酷很给力的设计器--MultiRow模板设计器.它与Visu ...

  9. ssm如何支持热部署_Java 调式、热部署、JVM 背后的支持者 Java Agent

    我们平时写 Java Agent 的机会确实不多,也可以说几乎用不着.但其实我们一直在用它,而且接触的机会非常多.下面这些技术都使用了 Java Agent 技术,看一下你就知道为什么了. -各个 J ...

最新文章

  1. linuxroot密码正确无法登录_敦煌网忘记登录密码怎么办?敦煌网登录密码找回办法...
  2. eslint 配置_前端代码规范配置 (一)
  3. c++ char*转string_CC++|输入输出与内存、缓存、设备文件
  4. 三星WP7手机MANGO一分钟完美越狱
  5. windows分区给linux根目录,解决双系统安装Linux之后找不到Windows分区
  6. 【官方搭建入门】JEEWX 捷微开发环境搭建必读
  7. Java调用动态库 缺点,Java调用动态库所需要关心的有关问题
  8. [转载] kprobe原理解析(一)
  9. django for 前端_Django 前端Wbe框架
  10. 面试必问——你有什么问题问我吗
  11. excel sumif 多条件
  12. 消防Linux软件图形显示系统,消防控制室图形显示装置
  13. oracle dbms_lob trim,ORACLE LOB处理
  14. 计算机网络 自顶向下方法 (一) 笔记 总结 第一章 概述
  15. 【NOIP2015 DAY1 T3 】斗地主(landlords)
  16. 盘点2011年各月影响云计算发展的大事件
  17. 凹凸贴图(Bump Map)实现原理以及与法线贴图(Normal Map)的区别
  18. 2021-11-23----韩顺平Java入门第十四天
  19. Android第三方系统有哪些,第三方安卓定制系统LineageOS 14.1支持6款新设备:包括一加3T...
  20. CAD制图软件中如何设置选择对象的显示效果?

热门文章

  1. [inside]MySQL 5.7 并行复制实现原理与调优
  2. How to make app start automatically When the application starts
  3. 《Python数据分析与挖掘实战》读书笔记
  4. AD二次开发提示“出现了一个操作错误”的解决办法
  5. 从字符串中提取BCD码,转换为UINT数据并返回
  6. C#拾遗系列(3):构造函数
  7. 【记录】台式机的组装
  8. JPA学习笔记2——JPA高级
  9. Android开发将List转化为JsonArray和JsonObject
  10. HBase 常用Shell命令