1.21k likes | 1.41k Vues
高级人工智能. 第十五章 分布智能 (二) 史忠植 中国科学院计算技术研究所. 内容 提要. 概述 MAGE 简介 主体建模 开发平台 运行平台 移动主体 应用. 概述. http://www.agentlink.org/resources/agent-software.php Agent Software Total: 116 MAGE: Multiagent development environment is an integrated tool suite for constructing multiagent systems.
E N D
高级人工智能 第十五章 分布智能(二) 史忠植 中国科学院计算技术研究所 史忠植 高级人工智能
内容提要 • 概述 • MAGE简介 • 主体建模 • 开发平台 • 运行平台 • 移动主体 • 应用 史忠植 高级人工智能
概述 http://www.agentlink.org/resources/agent-software.php Agent Software Total: 116 MAGE: Multiagent development environment is an integrated tool suite for constructing multiagent systems 史忠植 高级人工智能
Beijing! AgentCities 史忠植 高级人工智能
MAGE简介 • 多主体环境MAGE • Multi-AGent Environment • 目标 • 面向主体的软件开发、集成和运行环境 • 功能 • 实现基于主体的应用集成(软件重用的最佳解决方案) • 主要特点 • 分布式计算平台 • 多种软件重用方案 • 多种主体生成方式 • 图形用户界面、强大的管理功能 • 丰富的行为模板、主体行为调度模型 史忠植 高级人工智能
需求分析 系统设计 系统开发 / 主体生成 系统部署、运行 行为层 主体层 主体社会 主体统一建模平台AUMP 可视化主体开发环境VAStudio MAGE运行环境 MAGE的总体结构 史忠植 高级人工智能
Agent kernel Function Module Interface Function Component Sensor Engine Plug-INs Plug-in Manager Reasoning Communicator Negotiation Scheduling Co-Operation Resource Database Task Database others MAGE 主体系统结构 史忠植 高级人工智能
情感智能主体结构 规划 传感器 信念 情感推理机 情感知识库 环境 理性推理机 效应器 意图 愿望 史忠植 高级人工智能
主体工作周期 史忠植 高级人工智能
主体统一建模平台AUMP • AUMP:Agent Unified Modeling Platform • 功能:为需求分析和系统设计提供可视化的建模支持 • 类比: UML(统一建模语言)建模工具:Rational Rose AUML(主体统一建模语言)建模平台:AUMP • AUMP建模结果例 史忠植 高级人工智能
功能描述 本体描述 配置描述 部署模型 用例模型 本体模型 行为描述 活动模型 状态机模型 交互协议模型 一 反应规则模型 推理模型 规划模型 二 主体描述 主体类模型 组织关系模型 三 四 多主体系统设计过程 史忠植 高级人工智能
UML中的表示法(抽象语法) • OMG发布的UML定义规范中,模型的抽象语法是通过类图表示的各结构成分之间的关系给出的。 史忠植 高级人工智能 UML中用例包的抽象语法
UML中的表示法(静态语义) • 模型结构成分之间的约束(即静态语义)是通过OCL语言描述的规则表示的。 • 例如:Actor只能与UseCase、Subsystem和Class发生关联,并且关联是二元的。此约束表示如下: self.associations -> forAll (a | a.connection -> size = 2 and a.allConnections -> exists(r | r.type.oclIsKindOf(Actor)) and a.allConnections -> exists(r | r.type.oclIsKindOf(UseCase) or r.type.oclIsKindOf(Subsystem) or r.type.oclIsKindOf(Class) ) ) 史忠植 高级人工智能
AUMP 主体 交互 主体系统结构 本体 AUML 主体 类型图 系统 配置图 系统 结构图 本体图 协议图 角色图 UML 分布图 类图 结构图 协作图 史忠植 高级人工智能
AUML扩展UML 在AUML中,我们引入了四种面向主体的图来描述一个多主体系统: • 本体图:定义用来描述世界状态用到的实体以及它们之间的关系。 • 主体系统结构图:描述多主体系统的结构。 • 协议图:描述主体之间的交互协议。 • 角色图:描述主体在交互中扮演的角色。 史忠植 高级人工智能
AUMP的表示法(属性图) • AUML的图形模型都是属性图。属性图是带属性的多重有向图。 • 属性图的形式化定义如下: AttributeGraph=(V, E, s, d, ) s,d:EV :(E∪V)(AU) 其中,V是节点集合,E是边的集合,s,d是边到节点的函数,分别表示边的起点和终点。 是边和节点到属性描述的函数,属性描述是属性名称到属性值的函数,A表示属性名称集合,U表示属性值集合。 史忠植 高级人工智能
AUMP的表示法(Meta表示法) • 描述程序设计语言抽象语法的Meta表示法由两部分组成: • (1)构造的有限集合。 • (2)产生式的有限集合,每个产生式和一个构造对应。 • 聚集产生式:表示一个构造有固定数目的成分。 例Conditional = test:Boolean_expression; thenbranch: Command; elsebranch:Command; • 选择产生式:表示一个构造可以选择几种类型。 例Command = Skip | Assignment | Compound | Conditional | Loop • 表产生式:表示一个构造是另一个构造的实例序列。 例Compound = Command+ ∆ ∆ ∆ 史忠植 高级人工智能
AUMP的表示法(结合属性图和Meta表示法) • 基本思想:将模型、节点、边、属性都看作构造,模型是非终结构造,节点、边和属性是终结构造,模型通过一定的产生式由节点、边和属性构成。 • 扩充:扩充Meta表示法表示属性图中的函数关系。因为函数关系是实体到另外实体的映射关系,而不是构造关系。所以,符号 = 仍然表示构造关系,新加入符号 表示函数关系。如:状态机模型中的转移描述为: Transition sourcestates; targetstates; rule:ECARule 如果t是Transition的一个实例,那么用tsource,ttarget, t.rule来表示t的起点、终点和转移规则。 ∆ ∆ ∆ 史忠植 高级人工智能
AUMP的表示法(状态机模型的抽象语法) 状态机模型由状态集合、目标集合、转移集合、驱动集合构成: StateChartModel = states: StateSet; goals: GoalSet; transitions: TransitionSet; drives: DriveSet; StateSet = {State}; GoalSet = {Goal}; TransitionSet = {Transition}; DriveSet = {Drive}; 状态是起始状态、结束状态和一般状态之一: State = Initial | Final | CommonState; 转移连接两个状态实例,并且有一条ECA规则描述: Transition sourcestates; targetstates; rule:ECARule; ECA规则由事件、条件和动作构造: ECARule = event: Event; condition:Condition; action:Action; 驱动连接目标实例和状态实例: Drive goalgoals; statestates; ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ ∆ 史忠植 高级人工智能
AUMP的表示法(静态语义的表示) • 通过前面的表示法,已经将模型的抽象语法表示成为了集合和关系的形式,那么就可以用集合表示法中的各种约束表示法来描述模型的静态语义。 • 例如,状态机模型中起始状态的合法性描述为:有且只有一个起始状态;起始状态有离开的转移,没有进入转移;离开起始状态的转移的ECA规则中事件和条件为空。 • 形式化描述如下: 史忠植 高级人工智能
活动图动态语义简介 • 活动图为主体工作流建模,是描述主体行为最常用的方式。因此,活动图动态语义研究是AUML动态语义研究的重要组成部分。 • 活动图描述的是工作流的过程维度,即活动在时间上的先后顺序,而不考虑资源维度。 • AUML在语法上对活动图并没有扩充,而是从语义上需要对UML定义的活动图语义进行扩充。 史忠植 高级人工智能
activity wait activity wait compound activity fork/join start end decision/merge 活动图中的节点 activity 活动图的语法 活动图是一个有向图,包括节点和有向边。 • Activity节点表示一个活动的执行。 • Wait节点表示等待某个事件的出现。 史忠植 高级人工智能
主体统一建模平台AUMP • AUMP:Agent Unified Modeling Platform • 功能:为需求分析和系统设计提供可视化的建模支持 • 类比: UML(统一建模语言)建模工具:Rational Rose AUML(主体统一建模语言)建模平台:AUMP • 在AUMP上建模 • fork/join表示并发结构,decision/merge表示分支结构。 • 边实际上是一条ECA规则e[c]/a,其中e是事件表达式,c是限制条件,a是动作表达式。这三个部分每个都是可选的。具有e[c]/a标记的边具有如下含义:如果系统处于源状态,事件e出现,并且限制条件c满足,那么系统离开源状态,执行动作a,进入目标状态。 史忠植 高级人工智能
活动图的语义(执行算法) Initialize; While (C ≠ final configuration) do –Repeat until I ≠ [ ]; // wait for input events –Retrieve the valuation of the local variables; –Take a super-step: Repeat 1. Compute a step; 2. Compute the internal events generated in the step; 3. Compute the next configuration; 4. Update C with the next configuration; 5. Empty the input I and fill it with the generated internal events; 6. Switch new relevant timers on and irrelevant timers off; 7. Update the bag of active edges by handling control nodes; Until I is empty and there are no enabled edges; End while ; 史忠植 高级人工智能
Activity1 Terminates Output1 Terminates Input1 Terminates Activity3 Terminates Run1 {Activity1} {Output1} {Input1} {Activity3} Initial State State1 State2 State3 State4 Activity1 Terminates Activity2 Terminates Activity4 Terminates {Activity2, Activity4} Run2 {Activity1} {Activity4} Input1 Initial State State1 State2 State3 Activity1 Terminates Activity4 Terminates Activity2 Terminates {Activity2, Activity4} Run3 {Activity1} {Activity2} Initial State State1 State2 State3 运行 Role1 Role2 Activity1 Condition2 Condition1 Output1 Activity2 :Goal1 Activity4 Activity3 工作流描述(活动图) 执行示例 • 有了动态语义,活动图就可以被执行。例如: 史忠植 高级人工智能
AUMP 界面 史忠植 高级人工智能
AUMP对于UML 的支持、重用 目前很多仍采用Rational Rose等平台,进行面向对象的设计(O-O),为了支持UML, 我们提供了对于UML 的支持。它具有通用性,适用于广泛应用领域的大规模软件系统设计。因此,除了支持描述多主体系统的自主性、主动性外,AUMP支持UML1.x的用例图、状态图、活动图、协作图、部署图等的绘制 史忠植 高级人工智能
主体 请求/服务 主体 请求/服务 软总线 主体服务 计算模型 交互关系: 请求/服务 特点: 网络化 分布式 开放式 史忠植 高级人工智能
主体领域模式 AppPattern 主体应用框架 AppFacilities 主体请求代理(ARB) 主体服务 AgentServices 面向主体的软件开发环境 大型软件系统CARBA 史忠植 高级人工智能
可视化主体开发工具VAStudio 系统结构 Agent Society Agents Agent Library Behaviours Behaviour Library Editor 史忠植 高级人工智能
VAStudio系统界面 史忠植 高级人工智能
行为库 • 数据包 • package intsci.ace.data • 神经网络包 • package intsci.ace.neural • 学习包 • package intsci.ace.learning • 数据挖掘包 • package intsci.ace.mining • 语言处理包 • package intsci.ace.language 史忠植 高级人工智能
行为库 • 图形处理包 • package intsci.ace.graphics • 图象处理包 • package intsci. ace .image • 搜索引擎包 • package intsci.ace.search • 专家系统包 • package intsci.ace.expert • 模型包 • package intsci.ace.model • 决策支持包 • package intsci.ace.decision 史忠植 高级人工智能
可视化主体开发工具VAStudio • VAStudio:Visual Agent Studio • 功能:可视化的多主体系统设计环境 当前主体社会中的主体、行为 史忠植 高级人工智能
可视化主体开发环境VAStudio • VAStudio:Visual Agent Studio • 功能:可视化的多主体系统设计环境 行为库中的已有行为,包括数据访问、神经网络算法、机器学习算法、数据挖掘算法、画图接口、推理引擎、数值计算模型等 史忠植 高级人工智能
用VAStudio编写一个主体例(1) 1. 加入行为库中的现有行为 史忠植 高级人工智能
用VAStudio编写一个主体例(2) 2. 填写行为参数 史忠植 高级人工智能
用VAStudio编写一个主体例(3) 3. 主体编辑完成,代码已自动生成 史忠植 高级人工智能
用VAStudio编写多主体应用系统(1) • 拍卖、竞拍系统 1. 编写拍卖发起主体(即拍卖方):采用有限状态自动机方式,画出状态图转换并指定通信方式即可,代码将自动生成 史忠植 高级人工智能
用VAStudio编写多主体应用系统(2) 2. 编写两个拍卖响应主体(即竞拍方):同样采用有限状态机方式,两个同样的竞拍主体可以直接复制得到 史忠植 高级人工智能
用VAStudio编写多主体应用系统(3) 3.拍卖系统开发完成,编译通过 史忠植 高级人工智能
用VAStudio编写多主体应用系统(4) 4.在MAGE运行环境中运行系统 史忠植 高级人工智能
用VAStudio编写多主体应用系统(5) 运行结果(1): 一个竞拍主体的运行过程 史忠植 高级人工智能
用VAStudio编写多主体应用系统(6) 运行结果(2): 拍卖主体的运行过程 史忠植 高级人工智能
构建主体 • mage.core.behaviours.* • 各种类型Behaviour • mage.core.Agent • 在主体setup中添加行为 • addBehaviour • 简单行为组合复杂行为 • 流程图 • FSM 史忠植 高级人工智能
构建主体 • Behaviour • SimpleBehaviour • OneShotBehaviour • CyclicBehaviour • CompositeBehaviour • SequentialBehaviour • ParallelBehaviour • FSMBehaviour 史忠植 高级人工智能
主体间通信结构 史忠植 高级人工智能
主体通信语言(ACL) • ACL • 通信模块 • 并发对话机制 史忠植 高级人工智能
主体通讯 史忠植 高级人工智能
主体通讯 • mage.lang.acl.* • ACLMessage • MessageTemplate • 通讯必须通过主体进行 • 发送消息send • 接收消息receive或blockingReceive • 行为中发送或者接受消息 • 通过所属主体实例myAgent 史忠植 高级人工智能