Agent系统

关键词:

Agent系统(精选十篇)

Agent系统 篇1

关键词:多Agent系统,体系结构,MAS

1 概述

随着计算机网络与通信技术的飞速发展和Internet的日益普及, Agent与多Agent系统 (MAS) 逐渐成为分布式人工智能的一个研究热点。因此, 对多Agent结构的研究越来越重要。

2 Agent的概念

目前, 由于对Agent研究的侧重点不同, Agent尚没有一个统一和权威的定义, 一般认为:Agent是运行于动态环境中具有智能的、感知环境的, 能根据自身资源、状态、行为能力、相关知识、知识规则以及获取的外部环境信息, 通过规划、推理和决策实现问题求解, 并做出反应, 自主地完成特定任务并达到预定目标的具有高度自治能力的实体。在Agent的特性方面, 由Wooldridge和Jennings提出的Agent的定义被广为接受, 即一个Agent应具有以下特性:

2.1 自主性。

这是一个Agent的基本特性, 即可以控制它自身的行为。一个Agent应具有独立的局部于自身的知识与知识处理方法, 能够解决给定的子问题, 以特定的方式响应周围的环境。Agent的自主性体现在:Agent的行为应该是主动的自发的;Agent应该有它自己的目标或意图, 例如代替客户签合同、进行金融交易。

2.2 交互性。

Agent应具有与外部环境有效联系的界面和手段, 能够对外部环境的事件作出适当的反应, 即对环境的感知和影响。无论Agent生存在现实世界还是虚拟的世界中, 它们都应该可以感知它们所处的环境, 并通过行为改变环境。一个不能对环境作出影响的物体不能被称为Agent。

2.3 社会性。

Agent拥有其它Agent的信息和知识, 并能通过某种Agent通讯语言与其它Agent进行交互、协同、合作。

2.4 主动性。

Agent不只是简单地对环境变化做出反应, 而是事先有计划, 并做一些初始化, 主动地为其目标而行动。

2.5 进化性。

Agent应具有开放的性质, 能够在推理活动中逐步适应环境, 扩充、限制或修正自身的局部知识状态。

2.6 可通信性。

通信指Agent之间可以进行信息交换。Agent可以和人进行一定意义下的“会话”。任务的承接、多Agent的协作、协商等都以通信为基础。

此外, Agent还融入了人类才具有的特性, 由Bratman提出的关于Agent特性的形式表示方法———BDI理论, 即:信念 (Belief) 、愿望 (Desire) 和意图 (Intention) , 被公认为Agent的理论基础之一。

信念和意图的关系:a.意图-信念一致性一个Agent应当相信它的意图是可能的, 不相信它不会达到目的。在正确的条件下相信它会达到目的。b.意图-信念不完全性一个Agent有意图达到某种状况, 但它不是必须相信那状况最终一定会实现, 也即Agent对其意图持不完全的信念是理智的。c.副作用问题。一个Agent有意图做α, 且相信做α必须要做β, 那么也不必要求它有意图做β。

愿望和意图的关系:a.内部一致性。一个Agent要避免拥有冲突的意图, 但允许拥有冲突的愿望。b.Means-end分析。意图要求Agent在未来某时要思考提出的问题, 而愿望则没有必要。c.跟踪成功或失败。意图可被认为是愿望加上行为和实现的承诺, 所以必须对意图的成功或失败进行跟踪, 在失败时进行重新规划。d.与信念的一致性。意图需要和信念一致, 而愿望则不必。

3 多Agent系统 (MAS)

正如社会总体智能优于任何个人一样, 多Agent系统交互求解能力也超过单智能体, 而且越来越多的现实系统往往非常复杂、庞大, 并呈现出分布式特性, 因此多智能体的交互问题已是MAS研究的核心问题之一。

MAS (Multi-Agent System) 是由多个智能Agent组成的系统。MAS作为解决复杂系统的一个有效方法, 能够利用并行分布式处理技术和模块化设计思想, 把复杂系统划分成相对独立的Agent子系统, 通过Agent之间的交互来完成对复杂问题的求解。

MAS的特征有:a.每个Agent都没有足够的信息和能力来解决要解决的问题;b.没有系统全局控制;c.数据是分散的;d.计算是异步的。

4 多Agent系统的体系结构

由于MAS需要多个Agent通过相互协商和合作来完成任务, 因而它的体系结构包含了单个Agent体系结构和Agent群体结构两部分。其中单个Agent体系结构与它们所处的Agent群体所研究的内容紧密相关;而Agent群体结构是指单个Agent之间进行协调和合作的交互框架。

4.1 个体Agent体系结构

4.1.1 慎思Agent。

Wooldridge和Jennings定义慎思Agent为:“包含了显示表示的符号模型, 并且其决策是通过逻辑推理、模型匹配和符号操作得出的”。这种体系结构存在的问题是:将现实世界翻译成一个准确、合适的符号以及对这些信息进行推理和决策的实现都很困难。

4.1.2 反应Agent。

与认知Agent相反, 反应Agent就是不包含用符号表示的世界模型, 不使用复杂的符号推理, 而只是简单地对外部世界作出反应。当内部和外部环境符合Agent的条件时, 它就作出相应的反映。但是, 当Agent需要那些通过推理或记忆才能获得的知识时, 此种结构便面临着难以解决的问题。目前这种结构在主流的分布式系统中占主导地位。

4.1.3 混合Agent。

研究人员发现, 无论是纯粹的认知结构, 还是纯粹的反应结构都不是构造Agent的最佳方式。他们提出的混合式结构的Agent系统, 把两种方式结合起来, 试图以此来融合经典和非经典的人工智能。

4.2 Agent群体体系结构

一般来说, 多Agent系统的体系结构是指各Agent之间的通信和控制模式, 它的选取影响到整个系统的性能。从运行控制的角度来看, 多Agent系统的体系结构可分为3种:集中式、分布式和混合式。

4.2.1 集中式结构将系统分成多个组, 每

个组采取集中式管理, 即每一组Agent提供一个具有全局知识的控制Agent, 通过它来实现多Agent合作的局部控制, 如任务规划和分配等, 并且由一个消息传递Agent来承担消息传递任务, 而整个系统采用同样的方式对各成员Agent组进行管理。集中式能保持系统内部信息的一致性, 实现系统的管理、控制和调度较为容易。此方式的缺点是:随着各Agent复杂性和动态性的增加, 控制的瓶颈问题也愈加突出, 其致命的缺点还在于, 一旦控制局部或全局区域的管理Agent崩溃, 将导致整个区域或系统崩溃。

4.2.2 分布式结构各Agent组之间和组内

各Agent之间均为分布式结构, 各Agent组或Agent无主次之分, 处于平等地位。是否被激活以及激活后做什么动作取决于系统状况、周围环境、自身状况以及当前拥有的数据。此结构中可以存在多个中介服务机构, 为Agent成员寻求协作伙伴时提供服务。这种结构的优点是:增加了灵活性、稳定性, 控制的瓶颈问题也能得到缓解, 但仍有不足之处:因每个Agent组或Agent的运作受限于局部和不完整的信息 (如局部目标、局部规划) , 很难实现全局一致的行为。

参考文献

[1]石纯一, 王克宏, 王学军等.分布式人工智能.模式识别与人工智能.1995 (8) :72-92.

[2]康小强.多Agent系统中的Agent模型与合作策略研究[D].清华大学博士学位论文, 1999.

[3]Neeran M.Karnil, Anand R.Tripathi, Design Is-sues in MobileAgent Programming Systems, IEEE Concurrency, JulySeptember, 1998.

[4]赵龙文, 侯义斌.多Agent系统及其组织结构.2000.

Agent系统 篇2

关键词:移动Agent;移动Agent系统;Agent平台;安全策略

1 引言

随着Internet的进一步发展,分布式应用的开发越来越受到人们的重视。近几年发展起来的基于移动 Agent的分布式计算模式为分布式技术开辟了新的研究领域。移动Agent作为全新的分布式计算技术,通过将自身代码状态传送到远程主机并在远程主机本地执行的方式,克服了传统的分布式计算模式的不足,为分布式计算带来更大的灵活性、高效性、可靠性和智能性,成为分布式计算一个新的发展方向。但是移动Agent在网络中移动的同时也带来了许多安全性方面的问题,这成为决定移动Agent能否取得广泛应用的关键性问题之一。

2 移动Agent现存安全问题

安全威胁通常分为三类:信息泄漏、拒绝服务以及信息破坏 系统

Ajanta是Minnesota大学开发的一个基于Java的移动Agent系统。Agent传输协议保护Agent的完整性和私有性。系统将标准加密机制集成到传输协议中,采用单向哈希函数和数字签名检测篡改,建立参与通信的服务器的身份。在保护域的基础上,为服务器提供了一个资源保护工具,允许服务器的资源对Agent是可用的,并且能够对存取权限进行动态地控制。

系统实现了几种机制来保护Agent,能够检测到对它的篡改。程序设计者还可以定义Agent所携带的某些对象对于特定的Agent平台是可实现的,实现了Agent状态的有选择性的暴露,较好地解决了系统地安全问题。

Agent系统 篇3

[关键词] Agent Agent J2EE 电子商务

一、传统的电子商务流程面临的问题

随着计算机技术与网络技术的迅速发展,Web 技术得以广泛应用,电子商务应用系统在现在商务活动中所发挥的作用越来越大,它改变了传统商务的活动模式;扩展了企业业务范围,加快了信息的发布和传递,缩短了供应链上供应商与最终消费者之间的响应时间,降低了自身经营成本,提高了经营效率。如何进行电子商务的应用开发,建立高效、安全、智能的电子商务系统已经成为一个急需研究的课题。然而,目前 Internet 上的商务信息量呈爆炸式的增长以及网络环境的日益复杂,传统的电子商务流程及其支撑技术面临着新的挑战,其缺陷也暴露得愈来愈明显:

1.在现有的电子商务解决方案和应用系统中,基本上还是采用基于客户浏览器、Web服务器和数据库服务器的这样一种三层体系结构,在采用这种体系结构的电子商务解决方案中,商家通过 Web 页面向客户提供商品信息,并供其交互式查询与操作,但客户通常不得不浏览若干个网站后才能找到符合自己要求的商品,然后再自行进行商品比较、筛选、订购。这会耗费大量的时间和精力,而且这些过程都需要在线操作,买卖双方要完成一次商务活动,相互之间要进行多次数据传递,当系统的应用量越来越大时,客户和网站间的频繁交互会使网络信息流增加从而导致网络带宽严重浪费、系统负荷增加、效率降低等情况。

2.对于商家们来说,随着相互之间竞争的加剧,其对客户的需求和偏好做出快速反应变得越来越重要,而目前他们只能靠客户访问站点才能为其提供相应的产品或服务,显然这种被动的销售方式根本不能适应现实社会中的激烈竞争,他们迫切希望将自己的产品或服务主动地推荐给潜在客户,来获得更大的赢利空间。

3.现有的电子商务应用系统基本不提供协商的机会。除某些竞价商品(例如ebay 易趣上的拍卖商品)外,其余商品仍为固定价格,缺乏商品的浮动交易条件,购买者不能对产品或服务的某些交易条件提出要求,商家也不能根据自己的情况对某些交易条件做出让步以便吸引更多的消费者,这些都不符合现实社会中的交易模式。

二、引入移动 Agent系统的意义

基于这些现状,因此迫切需要一种快捷的、主动的、智能的、动态反映各类信息变化的新技术来满足人们对电子商务日趋完善的要求。为解决传统电子商务存在的问题,近年来一种新的分布式计算模式—移动 Agent(Mobile Agent)被引入到电子商务领域。移动Agent的概念是20世纪90年代初由General Magic公司在推出其商业系统Telescript 时提出来的。简单的说,移动Agent是一个能在异构网络中携带其代码和状态自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互,从而完成特定任务的程序。实际上它是Agent技术与分布式技术相结合的产物。由于移动Agent的本质是将计算移动到数据端,直接在数据端进行本地处理,只返回最终结果,从而避免了大量中间数据在通信两端的传输,节约了网络带宽。此外,移动Agent还具有支持离线计算、实时远程交互、动态均衡负载、并行任务求解、动态适应环境等诸多特性,它能感知外界环境的变化,并快速、自主地做出反应。将移动Agent技术引入电子商务领域既可以充分发挥移动 Agent的技术优势又可以行之有效地解决目前电子商务发展过程中所出现的诸多问题,并能为电子商务活动的参与者提供从智能资源发现到进行网上交易等一系列的个性化服务,其具体表现有以下几点:

1.将移动Agent技术应用于电子商务领域能够为消费者和商家提供智能化和自动化的代理服务,使得消费者和商家可以从繁琐的交易环节中解脱出来。移动Agent不仅能够代替消费者浏览大量的商品或服务内容,还能够代替消费者与商家进行价格等因素的协商。不同的移动Agent拥有不同的目标,并将采取不同的策略以实现各自的目标。因此可以大大减轻消费者和商家的负担。

2.将移动Agent技术应用于电子商务领域能大大降低网上商务活动的通信代价。使用移动Agent技术,消费者或者上级只需要将交易信息告知移动Agent,移动Agent就会自主地迁移到交易场所代表消费者购买商品或者代表商家销售商品,并返回交易结果。整个过程只需要几次交互即可完成。这样就避免了传统电子商务中频繁的交互,减轻并发操作对网络带宽的要求和减少网络延时,提高交易效率,降低交易成本。

3.将移动Agent技术应用于电子商务领域,能使电子商务更好地适应网络环境的多样性和多态性,使电子商务进入智能化时代,在各类的电子商务模式中都能发挥重要作用。

三、Agent系统存在的问题

1.标准问题:标准的建立是移动Agent技术走向成熟的前提条件。目前由于国际上尚未统一移动Agent服务设施标准,各个系统的设计框架结构,接口方法等都有较大的差别,相互之间的交互,存在很大的困难。因此我们迫切期待相关国际标准的产生,来推动移动Agent技术的发展。

2.安全问题:随着移动 Agent 技术向电子商务、分布式计算、信息搜索等领域的深入,安全性问题,显得日益突出,应该设计一整套安全保障体系,来彻底解决系统的安全问题。

參考文献:

[1]张云勇刘锦德:移动 Agent 技术[M].清华大学出版社

[2]汪彦龙李浩君:基于移动代理的电子商务技术介绍.浙江传媒体学院学报,2005,2

信息共享系统的Agent实现 篇4

Agent的概念是由美国M.Minsky教授提出的,对它的定义有多种描述,其中普遍为人们接受的一种如下:Agent被定义为一个软件过程,它对外界环境进行检测并做出反应,Agent具有自治和智能的特性,并具有获取经验的能力,能依据自身的原则来决定自身的行为。

Agent的研究是一个综合性的理论与技术的研究,它涉及到人工智能、网络通讯、工程数据交换标准、软件工程和操作系统等多个方面,Agent的理论与技术可极大地提高在异质计算环境中各软件之间的协作能力,所谓Agent语言,是以Agent所定义的方式对计算机软件进行编程。Agent的应用非常广泛,特别是分布式多Agent系统(MAS)的研究一直是一个热点领域。

从功能角度来分,Agent可分为智能型和非智能型两类,即认知Agent和反应式Agent,

认知Agent和反应式Agent的主要区别在于认知Agent具有推理能力,可以就本身的动作和其它Agent的动作进行推理,而反映式Agent主要是依据外界的变化而采取不同的行为。从运行控制的角度来分,Agent系统可分为集中式和分布式两类,集中式有一个消息传递服务器,Agent之间的消息传递均通过它来完成,这种结构能够保持系统内部的信息一致性,较易实现系统的管理控制和调度,一般情况下,集中式Agent主要采用反应式Agent。结合共享信息系统的具体要求,本文主要研究了集中式Agent系统和反应式Agent。

本文以如下方式组织:在第二部分,从总体上讨论了共享信息系统并给出了一种新的框架结构;在第三部分,探讨了共享信息系统所采用的“通讯Agent”的具体实现。结论部分则分析了该系统的一些特性和尚需深入的工作。

1 一种新型共享信息系统的框架

普通的Internet信息共享系统通常采用CORBA(Common Object Request Broker Architecture)和CGI(Common Gateway Interface技术的结合,CORBA独立于任何编程语言,它一般是通过IDL(Interface Description Language)语言进行描述的,一个CORBA通常基于一个面向对象客户/服务器系统,各分布对象间的通讯是由IDL所描述的“残根”(stub)机制来实现,CORBA可以被用来构建信息共享系统,基于CORBA-CGI的信息共享系统有如下三层,如图1所示。

浏览器作为一个统一的标准用户界面,CGI作为Web和各共享信息部件的接口,采用CORBA来支持对各共享部件的调用。这类系统的关键在于Web同CORBA的接口,用户把请求信息发往Web服务器,通过Web服务器与共享对象之间进行交互得出结果。这种结构的共享系统缺点在于用户与共享对象之间的通讯缺乏一定的主动性,同时,Web服务器没有保存系统所能提供的服务情况,要判断用户的请求是否能够得到满足,往往需要对各个子共享部件进行遍历,延长了系统的响应时间。如果有大量的用户同时访问HTTP服务器时,系统的性能得不到保障。

为了提高系统的性能,应尽量将部分工作交由客户端去完成,而且应对系统所提供的服务进行统一管理已提高检索速度,通过构建“通讯Agent”来实现客户与共享信息部件之间的交互,有助于提高系统的适应性和自主性,通过Agent封装起来的通讯部件独立于系统的其它部分,从而提高了系统的灵活性。

下面提出一种新型的系统结构。如图2所示,这一结构将C/S(Client/Server)模式同B/S(Browser/Server)模式有机的结合起来,首先建立一个共享信息服务器,用来作为用户同各个子共享信息部件的中介,用户同每个子共享部件的交互都是通过这一服务器来实现的,同时,用户同服务器的通讯以及服务器同各子信息部件的通讯都通过“通讯Agent”来实现,每个“通讯Agent”维护两个消息队列,分别存放接收消息和发送消息,当用户发出一个消息请求时,其自身的“通讯Agent”将其传至信息服务器,服务器判断用户的请求信息是否可获取,若否,则通知用户信息不可获取,否则,将消息发往指定的信息部件等待响应,响应成功后将结果返回至请求用户。我们通过为每一个子信息部件和服务器维护一个服务目录来实现上述功能。

服务器首先启动并等候各信息子部件的连接,每个信息子部件在启动时将其自身的服务目录传至服务器,服务器接收到子部件的服务目录后,若发现其格式或内容与自身的目录有冲突,通知子部件,子部件进行调整后重发给服务器,此后,服务器将其转换为自身的目录格式,加入自己的服务目录中,同时,当每一子部件的服务目录有所改变时,其自身的“通讯Agent”会自动将其传至服务器方,共享信息服务器更新目录服务器中的服务目录后,再通过“通讯Agent”将新产生的服务信息传至客户端,这样就保证了一旦客户端同共享服务器建立了连接,所有共享信息的更新情况都会通过“通讯Agent”通知所有客户。同时,用户只需检索信息服务器的服务目录,便可得到系统所能提供的所有服务情况。

2 通讯Agent的实现

由于JAVA语言采用面向对象的编程思想,代码易于重用和修改,支持类和接口及网络编程,同时JAVA可通过JDBC同数据库进行方便连接,便于存储和处理数据,我们选用JAVA来实现“通讯Agent”,下面我们给出JAVA实现Agent的程序框架:

一般情况下,一个Agent的工作流程如下:

首先生成一个Agent实例,然后借助于Agent自身的传感器(sensor)从环境(environment)中获取信息,依据获取的信息而采取相应的行动来响应Agent的变化,同时外界环境收集Agent的反映情况,依据一定的规则来改变自身的状况,依次反复循环。

“通讯Agent”的底层基于Internet互连协议TCP/IP实现通讯,上层可采用斯坦福大学提出的KQML(Knowledge Query Manipulate Language)协议格式进行数据的组织,一个通讯过程的实现如图3所示。

3 结论

该文给出了一个具有普遍意义的共享信息系统的框架结构,同时将Agent的思想用于共享信息系统间的通讯,采用了工业事实上的标准通讯协议TCP/IP以及JAVA语言,因此,可支持异构平台间的信息共享,同时,采用了C/S的管理模式,便于扩充和管理。为了进一步提高系统的智能性,可引入用户接口Agent,用来接受和解释用户输入的近似自然语言,然后将格式化后的请求传至共享信息服务器。

采用“通讯Agent”和JAVA使共享信息系统具有如下优点:

1)通过使用浏览器使得客户端具有良好的的接口。

2)客户同共享部件之间的通讯都是同过“通讯Agent”来完成,与其他的应用相对独立。

3)通过建立服务目录,提高了系统的响应时间。

4)共享的信息只需存放在各自的服务器中,而不必将其统一存放在一个固定的中心。

5)通过使用“通讯Agent”,可对共享部件进行方便的增加或移除。

摘要:随着计算机软件和网络技术的发展,位于不同地点的用户对信息共享的要求越来越高,如何透明的实现用户信息的共享一直是共享信息系统研究的热点,该文将Agent的概念引入共享信息系统的构建,借助于Agent的自制性和智能性,结合共享信息系统的构建原理,给出了一个具有普遍意义的共享信息系统的框架,并通过采用“JAVA”和“TCP/IP”对“通讯Agent”的具体实现进行了说明。

关键词:Agent,共享信息系统,JAVA,TCP/IP

参考文献

[1]伍尔德里奇.多Agent系统引论[M].北京:电子工业出版社,2003.

[2]张云勇,刘锦德.移动agent技术[M].北京:清华大学出版社,2003.

[3]何炎祥,陈莘萌.Agent和多Agent系统的设计与应用[M].武汉:武汉大学出版社,2001.

[4]王汝传.智能Agent及其在信息网络中的应用[M].北京:北京邮电大学出版社,2006.

[5]郑振楣,于戈,郭敏.分布式数据库[M].北京:科学出版社,1998.

Agent系统 篇5

1 办公自动化系统的特点

企业的业务过程分成两种,一种是部门内部的私有业务过程,另一种是部门间的协调业务过程。两种业务过程交错运行、相辅相成、互相协作,从而构成企业内的系统工作体系。(1)私有业务过程:私有业务过程是指在部门内部,利用部门现有的各种资源和自己的组织结构,在没有外部部门协作的情况下来完成的各种业务过程。(2)协调业务过程:协调业务过程是指由某个部门主导,经过其他外部部门通力协作,使用外部部门的组织和资源来共同完成的业务过程。协调业务过程是以部门之间的业务通信和关联数据为核心的。

2 基于多Agent的办公自动化系统的架构

软件总线技术是建立在软件重用的思想上,包括构件的重用、软件系统结构的重用等。各种符合软件接口规范的构件在软件总线上可以实现即插即用(Plug-and-Play)。在这个架构中,每个部门都有自己的Agent,各种Agent都可以挂接到总线上去,实现即插即用。每个Agent在完成自身工作即私有业务的同时,通过协作协助其他的Agent完成相应的协调业务。

2.1 总线配置管理

总线配置管理是系统的中央控制模块,它主要完成对各个Agent的配置管理和各Agent之间的通信协调。在配置管理模块中,有三个主要单元:其一是登记控制单元,主要是对各Agent及其工作能力(如能够处理何种业务等)以及相关的消息处理接口进行登记;其二是消息控制单元,主要是接收和发送各种Agent之间的通信消息;其三是任务协调单元,主要是根据各个Agent的工作能力,寻找合适的Agent,通过调用消息控制单元向相关的Agent发送协作消息,以异步的方式完成协调任务。

2.2 公共数据黑板

所谓公共数据黑板就是建立一个公共的数据存储区域。协调任务的主导者(即主导Agent)将协作请求以规范的格式写入公共数据黑板;协调任务的协助者(即协助Agent)通过监控公共数据黑板,发现有自己可以处理的请求,则读入那种请求并完成相关任务,同时将结果以规范的方式写入公共数据黑板;主导Agent通过监控公共数据黑板,发现自己的协作请求已被完成,则读入相关结果,继续完成自己的协作业务。

2.3 权限配置Agent

权限配置Agent是一个公共的Agent,主要完成不同业务Agent对公共数据黑板的存取权限的配置、多个Agent互访权限的配置以及不同业务Agent可以访问的业务权限的配置等。各Agent以Web服务的方式为其余各个管理模块提供公共操作接口。

2.4 业务Agent

业务Agent是各个部门完成私有业务和协调业务的基本单元,它是以业务和业务处理为核心的,如人事管理Agent、采购和销售管理Agent等等。业务是由业务模式所描述的,包含业务的操作表单、表单实例、显示模式、处理方式等,可以采用模式描述语言如UML或XML语言等实现。在该系统中,每个业务Agent都是一个独立的工作单元,处理不同的业务;同时它们又可以挂接在系统的软件总线中去,同其他业务Agent协同办公。

3 业务Agent的两种通信模式

3.1 数据供应模式:请求与反馈

当一个业务Agent想要从其他的业务Agent那里获得某种帮助的时候,首先它需要向系统的总线配置管理模块发出一个请求消息,该消息可以指明提供者,也可以不指明。如果消息中没有指明提供者,则总线配置管理模块可以根据这一请求寻找合适的提供者。任何一个Agent都可以成为提供者,但必须向总线配置管理模块进行注册。这样,总线配置管理模块就可以根据已有的注册信息迅速地找到提供者,并将请求转发给提供者,然后将获得的帮助以消息的方式反馈给请求者。

3.2 事件报告模式:发布与预约

业务Agent是通过发布有关数据或共享数据的添加、改变或删除的事件消息来传递数据的更新消息的。如果某个业务Agent需要随时得到这些数据的更新信息,就需要Agent来预约。预约的方法就是向总线配置管理模块发送一个或多个预约消息。每当一个业务Agent发布事件后,总线配置管理模块都会将这一消息按照预约的清单发送给每个预约Agent。

4 结束语

基于Agent的制造系统模型研究 篇6

提出了知识功能块新概念,并将其作为功能单元构建了智能重构制造控制系统集成框架。阐述了智能重构与智能控制并行执行过程,采用统一化建模语言进行了系统设计。文献[5]提出了制造系统元模型,使系统生产计划与动态重构结合起来。文献[6]提出了一种针对实时故障处理的以目标为导向的控制结构,调度系统出现故障时实现制造系统重构。本文对Agent的结构与特点进行了研究,建立了基于多Agent的制造系统递阶Agent网模型,实现制造系统资源的动态配置,使制造系统在激烈的市场竞争环境中获得需要的快速反应能力。

1 Agent的结构

Agent是分布式人工智能(Distributed Artificial Intelligence,DAI)的一个基本术语,已在人工智能和计算科学领域被广泛应用。近年来,智能体技术在制造系统领域的研究逐步扩大。

到目前为止,对Agent的概念仍没有形成统一的定义,在不同的应用领域中,研究者赋予了它不同的含义。在制造领域里,Agen可理解为一个具有一定智能行为、自主能力和学习能力的信息处理单元或物理实体。它可以是一个软件模块也可以是一个硬件系统。Agent具有社会性、自治性、反应性、主动性和协作性等特点[7]。社会特性是指Agent可以通过信息传送与其它Agent进行交流,Agent具有参加社会活动的能力,并具有较强的协作能力。自治性是指Agent内部封装了大量的知识和所处环境的状态,因此当Agent内部或所处环境发生变化时,Agent可以根据知识和状态思索后独立做出决策,而不需要外界或其它A-gent的干预。反应性指Agent具有感知所处环境的能力,可以对环境的各种变化做出相应的反应。

一个Agent内部可以组合多种相对独立和并行执行的Agent形态,其结构包括感知、动作、控制、建模、规划、通信和决策等模块[8],如图1所示。Agent通过感知器来反映现实世界,并对环境作出抽象。若感知到简单或紧急情况,信息被送入控制器,在数据库和知识库的支持下,通过推理和思维对信号进行分析并做出决策,控制Agent的动作,通过执行器产生行为,对感知的变化进行响应;若感知到复杂情况,信息通过建模、规划等动作生成决策,并将决策作用于执行器输出。

2 基于多Agent的制造系统递阶Agent网模型

制造系统中所有的组成部分(设备、操作员、管理、资源等)都可以用Agent进行描述。每个Agent具有自己特定的功能,它们分工、合作、相互交流,资源、信息共享,因此,根据Agent功能能够动态构建一个对环境变化具有快速反应能力的递阶Agent网,其结构如图2所示,递阶Agent网是一个分布式多Agent网络模型结构。在逐层递阶的结构中,最高层为企业Agent,它是生产车间与外界环境的接口,其任务是拿到生产订单[9]。企业Agent拿到订单后,将订单传递到车间管理Agent,车间管理Agent是企业Agent与车间Agent的接口,向上是拿到企业的生产订单,向下是车间Agent的管理者。车间管理Agent拿到订单后制定生产计划,根据各个车间Agent生产能力和分工的不同,将任务分配到各个车间Agent,并监督车间Agent任务执行情况。车间Agent包含资源管理Agent、产品管理Agent、任务Agent。资源管理Agent中包含大量的资源

Agent,如设备Agent、刀具Agent,传送Agent等。每一个资源Agent包含它所代表的物理资源的最新信息。产品管理Agent由许多产品Agent组成。每一个产品Agent包含产品的详细信息,主要包括产品识别、产品的交货日期、质量要求、制造工艺等内容,为其它Agent提供需要的信息。产品管理Agent负责产品信息的更新,当需要进行新产品制造时,产品管理Agent将生成一个新的产品A-gent来存储新产品的详细信息。任务Agent存储本车间可能完成的所有任务,由若干具体子任务Agent组成,每个子任务Agent中包含任务要求、执行工艺等内容。

3 递阶Agent网的协作

协作是Agent之间保持各自行为协调的相互作用,能够提高单个Agent的个体行为,增强递阶Agent网解决问题的能力,并使制造系统具有更好的灵活性和鲁棒性。在递阶Agent网中上级Agent发出任务请求即招标,下级Agent根据自身的功能与当前的工作状态判断是否满足招标要求,如满足则进行投标,上级Agent在参与竞标的Agent中选择一个满足约束条件的最有Agent,中标Agent执行上级Agent的任务。同级Agent之间也具有相互协作关系,当某个Agent需要同级的其他Agent协作共同完成任务时,就向相关的Agent发出请求信号,相关的Agent对收到的请求信息进行判断,如满足协作的约束条件,则返回接受信息,共同完成任务。递阶Agent网的工作流程如图3所示。

4 递阶Agent网通讯

国际上广泛使用的Agent通讯语言主要有知识询问与操作语言KQML(Knowledge Query and Manipulation Language)和知识交换语言KIF(Knowledge Interchange Format)两大类,递阶Agent网采用KQML来实现Agent之间的交互[10]。KQML是由美国高级研究计划局(ARPA)的“知识共享计划”研究机构在知识共享方面所做的工作的一部分,它使得Agent能够和其他的Agent以及Agent所运行的环境进行知识和信息的交换。KQML既是一种信息格式也是一种消息操作协议,支持Agent之间运行时的知识共享,特点是理解消息内容的所有信息都包含在通信自身当中。KQML是一种层次结构语言,可分为三层:通讯层、消息层、内容层[8]。通讯层包括消息特征,描述通讯层参数,包括消息接收者和发送者的标识;消息层定义发送消息的协议和规定与消息有关的言语行为的类型,构成了KQML语言的核心;内容层描述了Agent所传递消息的实际内容,这些消息内容可以使用实现Agent的编程语言表达,可以是任何表示语言、二进制形式等。KQML基本协议结构如下所示:

该语法由配对括号括住的表组成。表的开始为行为原语的名称,其余部分为一组以“:关键字”形式出现的参数表,这些参数的次序是独立的。基于KQML的Agent之间的通信可以是同步的也可以是异步的。另外,KQML的消息可以是嵌套的,一个KQML消息可以作为另一个KQML消息的内容[11]。以一个简单例子说明KQML消息:

这条消息的直观解释是,发送者Agent Source Management询问Agent Machine1机床1号的操作状态。消息的其他各部分表示消息中的关键字,Content规定了消息的内容,为内容层。Sender指消息的发送者,Receiver规定了消息的接收者,Sender和Receiver构成通讯层。Language解释消息中的内容所用的语言是称为LPROLOG的语言。Ontology定义了消息中使用的术语,Language与Ontology构成消息层。

5 结束语

本文对Agent的结构与特性进行了分析,提出了制造系统的递阶Agent网模型,并介绍了模型的工作流程与通讯语言。递阶Agent网模型是一种动态的、分布式的智能网络模型,能够快速适应外部环境的变化,使制造系统具有快速的反应能力,提高企业的市场竞争力,同时也为实现制造系统的重构奠定了基础。

参考文献

[1]王云莉,肖田元,段广洪,等.制造领域多智能体系统的技术研究[J].计算机集成制造系统,2001,7(10):1-6.

[2]王志坚,蔡自兴.一种制造系统模型及其简化[J].微计算机机信息,2007,23(3):139-140.

[3]路杨,何欣,韩中.基于有向图的制造系统模型的研究[J].计算机应用系统,2007(8):1-5.

[4]吴斌,余建波,奚立峰,等.智能重构制造控制系统集成框架[J].计算机集成制造系统,2008,14(1):73-78.

[5]Kioon S A,Bulgak A A,Bektas T.Integrated cellular manufacturing systems design with production planning and dynamic system re-configuration[J].European Journal of Operational Research,2009,192(2):414-428.

[6]Bruccoleri M,Zbigniew J.Yoram Koren Y.Operation management in reconfigurable manufacturing systems:Reconfiguration for error handling[J].International Journal of Production Economics,2006,100(1):87-100.

[7]高世一,赵明扬,邹媛媛,等.基于多智能体的制造系统生产控制建模研究[J].计算机集成制造系统,2007,13(6):1067-1069.

[8]蔡自兴,徐光佑.人工智能及应用[M].北京:清华大学出版社,2004,315-318.

[9]贺鹏,于家城,王庆林.基于多Agent的可重构制造系统集成模型[J].计算机工程与应用,2008,44(21):231-234.

[10]贺鹏,王庆林,刘庆杰.基于多Agent的可重构制造系统故障诊断模型[J].制造业自动化,2006,28(11):11-15.

一种多Agent系统频谱接入算法 篇7

随着无线通信的发展, 新的无线通信业务的涌现以及移动互联网的迅速发展, 频谱资源日益稀缺, 但是同时也存在大量授权频谱资源业务量较少而闲置的状况。于是出现了这样的矛盾: 一方面通信资源变得日益紧张, 成为制约无线通信发展的新瓶颈;另一方面, 跟多现有的无线系统频谱资源在时空上存在不同程度的闲置。基于以上背景认知无线电[1]技术就应运而生了。

强化学习[2]是一种多学科交叉学科, 包括运筹学、神经网络、心理学和控制工程等, 是目前人工智能领域最活跃的分支之一。其围绕如何与所处环境交互学习的问题, 在行动- 评价的环境中获取知识, 改进行动方案以适应环境达到的预想目的。学习者不会被告知采取哪个动作, 智能体通过尝试每个动作做出自己的判断。试错搜索和延迟回报是强化学习的两个显著特征。它主要是依靠环境对采取行动的反馈信息产生评价, 根据评价去知道以后的行动, 是优良行动得到加强, 通过试探得到较优的行动策略来适应环境。

2 系统模型

2. 1 无线电网络系统模型

图1 为认知无线电网络结构图, 在授权用户覆盖的大区域中存在多个认知用户小区, 假设其中某个小区中存在k个认知用户, n条可用信道, 本文研究的系统模型其实就是某个小区的动态频谱接入问题, 且小区中的认知用户数仅为2。认知无线电网络是具有接入点 (AP) 的集中式结构, 且其覆盖范围远小于授权用户发射机的覆盖范围。因为认知用户事先无法和系统交换信息, 因此也就无法得知系统的频谱分配情况。本章研究的问题便是认知用户如何能在不知道系统频谱分配的情况下, 而能够智能地占用信噪比高的空闲频谱, 即在降低冲突概率的同时, 提高系统的平均容量。

2. 2 分布式认知用户的独立强化学习

Q学习算法[3]是强化学习中最常用的一种, 其任务是学习一个策略, 那么如何精确地找到智能体要学习的策略, 其基本思路是要求此策略对智能体产生最大的累积回报, 将累积回报作为评价策略优劣的评估函数。它可以通过从有延迟的回报中来获取最优控制策略, 考虑单个学习的Agent, 它不仅可以观察环境的状态而且能够做出一组动作来改变这些状态, 学习的任务是获得相应的策略, 来选择能达到目标的动作。其一般形式为:

其中s ∈ S, S为智能体感知到的环境状态; a, a'∈ A, A为智能体作用于环境的动作集合。Q ( s, a) 表示智能体在状态s采取动作a后的期望奖赏, t表示状态- 行动对 ( s, a) 的迭代次数, Qt ( s', a') 为智能体在状态s下采取动作a后的下一状态s'的评价函数值。∂∈[0, 1]表示学习率, γ ∈[0, 1]表示折扣率, r表示奖赏。由于智能体在所有遍历状态时的Q值构成智能体Q值表, Q值表的状态行动对即为下一次的行动策略。

其中atu为所有智能体的一个联合行动, rt ( st, atu) 为环境对联合行动的奖赏函数。其余各符号的意义同上。由式 ( 2) 可知, 迭代过程是一个单调非减的过程。

每个智能体都认为其他的智能体采用了其各自的优化策略, 由此可得到一个优化的联合行动策略。同时每个智能体都进行各自的Markov决策过程 ( MDP) [5], 状态的变迁决定于所有智能体的联合行动, 称这样的决策过程为多智能体协作决策过程 ( MACMDP) , 定义为 ( S , N, A , T , R ) , S为状态, N为各个智能体的集合, A为智能体作用于环境的动作集合, T是状态转移概率函数。

分布式独立强化学习算法中智能体优化策略的更新规则:

式 ( 3) 表示智能体仅在能改进自己Q值的情况下修改自己的行动策略, 否则维持原行动策略。Q强化学习算法中, 在当前状态st选择动作at的依据是Q ( st, at) 的值, 即选择能获得最大Q ( st, at) 的at。但是刚开始的学习没有先验经验, 即每一个Q ( st, at) 值都是不成熟的, 也就是说Q ( st, at) 值不能准确地表示at对st的适用程度。因此选择最高Q ( st, at) 值的动作导致了系统总是沿着相同的方向进行搜索而不可能探索到更好值, 即容易造成系统停滞在局部最小值上。因此认知用户要尽可能的选择不同的动作, 来寻求没有尝试但可能带来丰厚奖赏的动作, 以找到最优的策略, 即探索。但是也不可以盲目去探索, 过度的探索将导致以前的经验无法利用, 学习没有进步, 降低系统的性能, 影响学习的速度。所以学习开始时应该采用随机动作选择策略, 然后随着学习过程逐步转向按照Q ( st, at) 值大小选择动作。

分布式独立强化学习算法中智能体的奖赏函数:

其中ai, aj分别为任意智能体i和智能体j作用于环境的动作, ri ( s, ai) , rj ( s, aj) 分别为环境对智能体i和智能体j的奖赏, 式 ( 4) 表明, 对智能体的联合行动采用一致的评价函数, 可以确保所有智能体建立共同的目标, 从而各个智能体可以在独立学习的基础上, 通过共同的奖赏函数建立协调策略, 来解决分布式系统的各种问题。

3 认知用户间的协作策略

被看作是智能体的认知用户在进行独立的强化学习后, 要在这些智能体之间实施协作策略, 以方便能够更好的解决认知无线电系统中的问题。在协作决策过程中, 智能体i的Q值表中每个值都表示某个优化策略在各个状态下优化动作的奖赏值。因此, 对状态的无限次遍历后, 可计算出收敛的智能体优化行动策略。根据式 ( 3) 进行优化策略的更新。若每个智能体都采用该策略, 于是就得到了每个智能体协作决策的联合行动策略:

对智能体的联合行动采用一致的评价函数, 可以确保所有智能体建立共同的目标, 从而各个智能体可以在独立学习的基础上, 通过共同的奖赏函数建立协调策略, 以此来实现优化策略的平衡。

4 基于分布式独立强化学习的多用户协作动态频谱接入新算法

基于认知用户动态频谱接入[6]存在的一些问题, 本文将分布式独立的强化学习算法应用到多用户协作动态频谱接入领域中, 同时将各个用户频点的信噪比引入到奖赏函数r中, 在降低认知用户与主用户发生冲突的概率的同时, 能够提高系统的平均容量。

4. 1 算法描述

本文将分布式独立强化学习算法[7]应用到多用户协作动态频谱接入环境中, 在各认知用户不知道其他认知用户具体的频谱分配[8]情况下, 各认知用户采取独立学习的方式。它们只维护自己的一个关于状态- 行动对的Q值表Qi ( s, a1, a2) , 并且每个认知用户i各自采取独立的迭代过程, 其Q值表更新公式如下:

其中rt ( st, atu, a2) = r, 由式 ( 6) 可见将独立强化学习算法应用到认知无线电中多用户协作动态频谱接入问题时就一定要考虑授权用户和认知用户的动作给系统环境带来的影响。其中s ∈ S, S为认知用户感知到的环境状态; a1, a'1∈ A, A为认知用户作用于环境的动作集合; a2, a'2为系统中授权用户的动作; atu为所有认知用户的一个联合行动; rt ( st, atu, a2) 为环境对联合行动的奖赏函数; t表示状态- 行动对 ( s, a) 的迭代次数。Q值更新采用式 ( 6) 。

动作选择策略采用以下的更新规则:

基于分布式独立学习的多用户协作动态频谱接入新算法是为了获得一种从状态到动作的映射关系, 使每次经历这个状态时, 都能利用以前学习的经验和知识, 做出最优的动作决策。认知用户能为每个感知到的环境状态和自己的动作对建立一个Q值函数, 并不断根据学习到的经验进行更新。通过一段时间的学习过程, 认知用户能够在没有人为干预的情况下自己选择合适的频率进行通信, 使得在通信时对已存在的主用户产生的干扰最小。

同时为了提高系统的平均容量, 在奖赏函数r中引入了各信道的信噪比, 即

系统的容量C定义为:

系统的平均容量定义为

其中B为频点的带宽, SNR为频点的信噪比, c ( i) 为认知用户第i次占用频点时系统的容量, m为统计平均容量的次数。

具体的算法流程图如图2 所示, 这是某一个认知用户的算法流程图, 可以看出其本质上就是单个智能体的算法流程图, 两个认知用户通过共同的奖赏函数r建立协调策略, 共同完成降低系统冲突概率这一目标。

4. 2 算法步骤

1) 初始化Q值及状态- 行动对迭代次数t, 设定折扣因子 γ、α, 根据授权用户和认知用户占用系统频谱的情况来构建环境状态S。

4) 判断认知用户的信噪比是否大于SNR', 如果大于, 则将认知用户的信噪比引入到奖赏函数r中, 本文设定当认知用户选择占用的频率与主用户或者其他认知用户冲突时, r = - 5 + a* ( pi- b) ;不冲突时, r = 1 + a* ( pi- b) 。反之则返回执行步骤2) 。

5) 动作选择模块根据每一个Qi ( s, a1, a2) , 对授权用户将采取的动作a2进行预测, 根据行动策略规则从A中选择两个动作a1 ( 1) 和a1 ( 2) , 通过动作a2选择策略并执行动作a1 ( 1) 和a1 ( 2) 。其中a1 ( 1) 为认知用户一执行的动作, a1 ( 2) 为认知用户二执行的动作。接着计算系统容量。

6) 判断对认知用户和授权用户是否发生冲突做出判断, 若发生冲突, 则计算冲突概率后更新Q值和t值, 新的状态S'及所有的Q值Qi ( s', a'1, a'2) 由前面的步骤得到, Qi ( s, a1, a2) 可以通过式 ( 6) 更新为Qi +1 ( s, a1, a2) 。若不发生冲突, 同样更新Q值、t值以及新的状态S'。

7) 以上步骤结束后, 看t的值是否为0, 如果不为0, 则返回到步骤2, 重新执行新一轮的迭代, 如果为0, 就结束本轮迭代。每轮迭代结束时, 折扣因子γ 都需要更新。本文中是设置 γ 以负指数规律随着学习的过程而逐渐变小的。

4. 3 仿真与分析

本文对基于分布式独立学习的多用户协作动态频谱接入新算法进行了仿真, 主用户数为3 个, 认知用户数为2 个, 每个主用户和每个认知用户每次都只占用一个, 假设带宽B为1Hz, 假设共有8 个可选频段 ( 即信道) , 我们分别对以下两种情况进行了仿真: ( 1) 授权用户固定占用信道, ( 2) 授权用户以一序列跳频的方式占用信道。

图3 和图4 为授权用户固定占用频点时系统的冲突概率以及系统的平均容量。由图3 可以看出, 随着学习时间的增加, 冲突概率都能够明显降低, 直到完全避免冲突。由图4 可以看出, 认知用户接入时考虑了信道的信噪比后, 可以在降低冲突概率的同时, 使得系统的平均容量增加。

图5 和图6 为授权用户以随机序列方式跳频时系统的冲突概率以及系统的平均容量。仿真表明, 授权用户以随机序列方式跳频时, 随着学习时间的增加, 冲突概率也可以明显降低, 直到能完全避免冲突。同样, 当考虑频点信噪比时, 可以在实现降低冲突概率的同时, 保证系统的平均容量增加, 但是与授权用户固定占用信道相比, 容量会略有下降。

5 结论

实际的分布式系统中, 由于受时间和空间的限制, 认知用户之间并不能够共享信息, 本文提出协作决策建立在认知用户的独立强化学习上。本文将基于分布式独立学习的多智能体协作决策应用到多用户动态频谱接入问题中, 理论和仿真实验都表明, 这种方法在信息有限的情况下对智能体的联合行动采用一致的评价函数, 在降低认知用户与主用户发生冲突概率的同时, 提高了系统的平均容量。同时本文将频点的信噪比考虑到基于分布式独立学习的多认知用户动态频谱接入新算法的奖赏函数中, 提出了一种优化系统容量的新方案, 有效地提高了系统的平均容量, 仿真表明该算法更具有优势。

参考文献

[1]Zafra A, Gibaja E L, Ventura S.Multiple instance learning with multiple objective genetic programming for webmining[J].Applied Soft Computing, 2011, 11:93-102.

[2]R thomas.L Da Silva, A Mac Kenzie.Cognitive network[C].In New Frontiers in Dynamic Spectrum Access Networks2005 (Dy SPAN) .First IEEE International Symposium, 2005:352-360.

[3]XU Yu-hua, WANG Jin-long, WU Qi-hui, et al.Opportunistic spec-trum access in unknown dynamic environment:a game-theoretic sto-chastic learning solution[J].IEEE Trans on Wireless Communi-cations, 2012, 11 (4) :1380-1391.

[4]金婷婷.认知无线电中多用户环境下协作频谱感知策略的研究[D].武汉:华中科技大学, 2012.

[5]沈乐, 毛新军, 董孟高.基于强化学习的自适应多Agent系统的构造[J].计算机工程与科学.2011 (12) .

[6]李默, 徐友云, 蔡跃明.基于Q-learning的认知无线电系统感知管理算法[J].电子与信息学报, 2010, 32 (3) :623-628.41 (11) :20-22.

[7]许培, 薛伟.基于Q-learning的一种多Agent系统结构模型[J].计算机与数字工程.2011 (08) 20 (3) :317-322.

Agent系统 篇8

随着Internet的进一步发展, 分布式应用的开发越来越受到人们的重视。近几年发展起来的基于移动Agent的分布式计算模式为分布式技术开辟了新的研究领域。移动Agent作为全新的分布式计算技术, 通过将自身代码状态传送到远程主机并在远程主机本地执行的方式, 克服了传统的分布式计算模式的不足, 为分布式计算带来更大的灵活性、高效性、可靠性和智能性, 成为分布式计算一个新的发展方向。但是移动Agent在网络中移动的同时也带来了许多安全性方面的问题, 这成为决定移动Agent能否取得广泛应用的关键性问题之一。

2. 移动Agent现存安全问题

安全威胁通常分为三类:信息泄漏、拒绝服务以及信息破坏[1]。有些安全问题在传统的C/S结构下也存在着, 但是移动Agent提供了更多被滥用和误用的机会, 扩大了这些威胁的规模。由于应用软件的拥有者和计算机系统的操作者是相同的, 而Agent的所有者和系统的操作者往往是不同的, 所以在基于移动Agent的系统中引起的新的安全威胁和通常计算机的安全不尽相同。移动Agent系统中可能遇到的安全问题如图1所示。由图中看出, 移动Agent系统中的安全问题有Agent与主机的安全、主机与Agent之间的安全;Agent与Agent对象之间的安全;主机与主机之间的网络安全。因此移动Agent系统中的安全问题主要集中在移动Agent通信安全, Agent平台的安全以及移动Agent本身的安全三个方面[2]。

2.1 目前Agent通信安全的解决方案

为保证移动Agent的通信安全, 一般要对所有的信息提供通信认证, 对可能的安全威胁进行检测。目前有一种基于“加密信道——权限控制”的Agent系统通信安全性实现办法, 提供多层次检查机制, 用基于RSA和Rabin算法的加密信道来提供底层的签名和加密服务, 而在高层提供权限控制机制。

2.2 保护Agent平台安全的解决方案

Agent平台位于主机上, 保护Agent平台也包括保护主机上Agen运行时所需资源的安全保护。传统的用于可信任系统的安全解决方案也同样适用于保护移动Agent平台。现有研究有关移动Agent平台的安全解决方案, 大部分都是沿着传统路线发展的。具体有七种几种:1) 沙箱模型2) 安全代码解释 (Safe Code Interpretation) 3) 携带验证代码 (Proof-Carrying Code) 4) 携带模式的代码 (Model-Carrying Code) 5) 代码标识 (Signed Code) 6) 路径记录 (Path History) 7) 状态评价 (State Appraisal)

2.3 移动Agent本身安全的解决方案

当前的问题在于, 无法有效地将Agent源平台的可信任环境扩展到其它的被Agent访问的Agent平台。有的方案通过Agent的发起者对Agent的迁移路线进行限制, 使Agent只能在已知的可信任的平台间迁移。还有的方案通过采用专门的防篡改的硬件保证运行环境的完整性来保护移动Agent。这些方案在某些特定的环境下是有价值的, 但这些方案并不能完全支持许多Agent引用所要求的自由迁移和自治能力, 很难广泛应用于实际。下面是一些通用的保护Agent本身的技术。1) 部分结果封装 (Partial Result Encapsulation) 2) 环境密钥生成 (Environment key Generation) 3) 用已加密的函数计算 (Computing with Encrypted Function) 4) 相关路径记录 (Mutual itinerary Recording) 。5) 带复制和表决的路径记录 (Itinerary recording with Replication and Voting) 6) 运行追踪 (Execution Tracing) 7) 黑匣子安全 (Blackbox Security)

3. 现有移动Agent系统的安全解决方案

大多数移动Agent系统都提供了安全机制 (身份认证以及接入控制) 以保障中间服务器免受恶意Agent程序的攻击, 可分为三类:采用标准安全运行模块、静态配置安全级别、根据Agent所有者的身份动态接入。目前已经开发了许多移动Agent系统, 以下讨论的是现有几种常见系统的安全解决方案:

1) Telescript系统

Telescript对安全有重要的支持。该系统采用RSA公钥密码体制来完成认证, 采用RC4加密Agent传输[3]。系统提供了基于能力存取控制机制。

2) Aglet系统

Aglet是由IBM公司开发的基于Java的移动Agent系统, 它的设计非常简洁, 将每一个移动Agent视为一个可移动的Java对象[4]。Agle主要是通过访问控制列表来控制代理对宿主机上的系统资源的访问。其安全级模型定义了在认证过程中应予以区分的各种实体类别, 包括Aglet, context, 以及它们的制造者、所有者和管理者。

3) Concordia[5]系统

Concordia是由日本三菱公司开发的一个基于Java语言的移动Agent系统。它使用Java序列化和类载入机制实现Agent的移动性, 不能在线程级捕获执行状态。Concordia比较注重系统的安全性, 提供了较为丰富的安全管理手段, 它的安全模型支持三种保护:Agent存储保护、Agent传送保护和服务器资源保护。

Concordia虽然提供了主机资源的保护机制和Agent传输过程中的保护机制, 但没有为Agent提供恶意主机攻击的保护措施。

4) Ajanta[6]系统

Ajanta是Minnesota大学开发的一个基于Java的移动Agent系统。Agent传输协议保护Agent的完整性和私有性。系统将标准加密机制集成到传输协议中, 采用单向哈希函数和数字签名检测篡改, 建立参与通信的服务器的身份。在保护域的基础上, 为服务器提供了一个资源保护工具, 允许服务器的资源对Agent是可用的, 并且能够对存取权限进行动态地控制。

系统实现了几种机制来保护Agent, 能够检测到对它的篡改。程序设计者还可以定义Agent所携带的某些对象对于特定的Agent平台是可实现的, 实现了Agent状态的有选择性的暴露, 较好地解决了系统地安全问题。

以下是对上面四种现有系统的对比:

4. 基于移动Agent系统的安全框架设计

针对现有移动Agent系统分析, 设计安全框架SBMASF如图2所示。利用此安全框架可以配置相应的安全机制, 满足系统的安全要求。包括, Agent之间或Agent与环境之间的通信安全与信任机制以及安全行为相关的审计机制等。

其中模型中的每个对象都要定义安全策略, 尤其是Agent平台的安全以及Agent安全的策略。在本地的安全策略和整体策略相冲突时, 首先要保证的是整体安全策略的实施。

为了整个安全模型应用以及将来扩展, 将整个系统采用分级管理, 首先将各台主机按部门分成不同的域, 每个域由其中一台可信主机来管理, 称为域管理器, 由域管理器来定义域的安全策略以及管理本域中Agent对其它域的访问和迁移。所有域管理器的信息都存放在域管理器列表 (DML) 中, 由更高一级的域管理器列表来控制域的信息。域管理器中包含该域内所有主机的注册信息以及其权限控制列表, 可以提供两种服务, 认证和会话授权服务。

每个域中的域管理器相当于一个代理或者是运行中的第三方, 当Agent向域外迁移时, 将Agent所在域的管理器作为可信任的中介者。而在每个主机中, 由主机的管理员来设置安全措施。

1.域内Agent的访问。在Agent移动到此域内的远程主机的Agen平台上时, 可以通过SSL加密的传输通道, 经过域内管理器找到目的主机的路径, 对Agent进行简单认证后, 直接到所要访问的主机上运行。其安全认证比较简单, 而可信度也比较高。

2.域外Agent的访问。在移动至远程Agent平台前, 先经过域管理器列表来找到远程的域, 由远程域先判断Agent所属域在该域的权限, 来获取Agent自己在远程Agent平台上的权限, 同时域管理器列表将此Agent的访问信息发送给Agent平台。

3.匿名Agent访问。匿名Agent访问的主要特点是执行此Agent的主机并不知道此Agent的来源以及此Agent如何在此主机上执行。因此匿名Agent被限制在特定的权限内秘密的执行, 只是在最后将所得结果进行签名。

以下将按照此安全模型具体讲述各个部分的安全策略的配置。

5. 结束语

SBMASF安全框架可以有效的解决Agent本身安全与运行Agent的主机的安全之间的矛盾, 同时不会影响Agent的移动性、自主性、协同性等固有特性, 为保护整个移动Agent系统提供了比较灵活的安全配置。具体说来, 此安全框架采用集中管理的树状模型系统以及通用性和可扩展性。在设计安全框架时, 考虑到了系统未来升级或者扩展对安全提出的新的要求, 此模型采用的是分级管理制度, 因此很容易将安全策略应用到扩展部分。

当然本框架大部分还处在设计阶段。从理论上讲, 在保护Agen本身的安全的时候, 所注重的仅仅是检测到Agent的数据信息是否被篡改。在发现Agent遭到篡改后, 我们采取的策略仅是将结果简单丢弃, 并没有设计其它的挽救行为。从另外一方面考虑, 最好能够设计一种机制来尽量使Agent避免遭到篡改。而不仅仅只是达到检测的效果。

参考文献

[1]Stefan Fuenfrocher.Integrating Java-based Mobile Agents into Web Servers under Security Concerns IEEE 1998

[2]Holger Peine.Security Concepts and Implementation in the Ara Mobile Agent System IEEE, 2002

[3]J Tardo, L Valente.Mobile agent security and telescript.Proc of IEEE COMPCON’96.Santa Clara:IEEE Computer Society Press, 1996.P58~63

[4]G.Karjoth, D.B.Lange, M.Oshima, A Security Model for Aglets, IEEE Internet Computing, August 1997.P68~77

[5]T Walsh, N Paciorek.D Wong.Security and reliability in Concordia.The 31st Annual Hawaii Int’l Conf on System Sciences.Geneva:IEEE Computer Society Press, 1998.P345~357

[6]Neeran M.Karnik and Anand R.Tripathi Security in the Ajanta Mobile Agent System Software-Practice and Experience 2000

[7]穆鸿, 王汝传, 徐小龙基于移动代理的网格计算安全基础架构研究南京邮电学报, 2004, 24 (1) :P72~77

[8]胡建理, 王家祯, 彭德云一种确保移动Agent传输安全性的模型计算机应用研究, 2006, 5:P101~103

Agent系统 篇9

现代战争具有突发性、立体性、快节奏、高消耗等特点, 临时时间紧迫, 战役和战斗间隙大大缩短, 这就需要军工企业能够实现生产批量的快速转移。

随着各种网络技术的发展, 现代制造技术也向柔性化、敏捷化和智能化发展。网络作为先进的信息工具, 用于管理和制造, 将促进更先进的生产模式形成。网络化制造、虚拟企业等制造模式正是其中的典型代表。但是军工产品有其特殊性, 具有相对严格的生产组织、计划进度、品质控制、以及保密安全等全方位要求。传统的生产模式无法综合军品的特点, 使得现有的网络化制造模式无法满足军品制造的需求。这种情况下就需要一种新的制造模式来保证这种生产方式的顺利进行。在此基础上, 提出了快速扩散制造 (rapid extended manufacturing, REM) [1]模式。这种“动员型”的生产模式作为一种技术储备, 使外部生产过程能够完全受控, 为我国的军工研制型企业提供了一种新的快速生产模式。本文研究了基于Agent技术开发的快速扩散系统的体系结构与功能。

1 基于Agent的REM模式

定义1:主生产单位 (primary manufacturing unit) , 军工研制型制造企业, 主要从事产品的设计, 工艺的研制等。

定义2:扩散企业 (extended enterprise) , 从主生产单位获取制造任务, 参与生产的若干制造企业。

REM是指针对当前主生产单位应对大批量产品生产能力不足的现状, 在不需要增加或改造企业自身生产情况下, 通过制造资源建模, 从扩散企业库中选择满足制造需要的扩散企业, 将制约企业生产的瓶颈任务通过网络向扩散企业分发、同时建立基于网络的工艺快速扩散、品质控制和进度管理机制, 实现全过程受控的零部件外部生产模式, 从而达到迅速提高主生产单位大批量生产的目的。REM具有外部加工任务分解的科学性、企业选择的合理性、制造工艺的可复制性, 以及制造全过程的可控性的特点, 加上军工企业自身信息化的建设, 为研制型制造企业实施快速响应制造提供一种新的制造模式。保证了产品制造的进度、品质、工艺等实时受控。

Agent是一个具有能实现某一功能的计算机程序单元的模型及其相关的物理实体[2], 它的目标是为其功能实体获取最大的利益。MAS (multi-agent system) 是一个有组织、有序的Agent群体, 共同工作在特定的环境中, 通过各Agent间的通讯、合作、协调、调度、管理及控制来表达系统的结构、功能和行为特性, 因而具有很强的鲁棒性、可靠性和较高的问题求解效率。将Agent技术引用到REM系统中, 使系统具有分布式体系、模块化、自组织、开放性、可扩展性和容错性。

2 基于Agent的REM系统模型

2.1 系统体系结构

REM系统采用如图1所示的体系。

至下而上, 最底层是网络、通讯协议和数据库, 构成了REM平台的信息存储和通讯基础;第二层是信息集成标准和应用协议层;第三层是Agent框架, 主要提供Agent之间的通讯、安全等服务的基础组织;第四层是系统业务层。该层由任务管理、工艺扩散、品质控制、数据管理四个模块组成。它们相互作用, 共同构建了快速扩散系统框架。任务管理包括任务建模Agent, 进度管理Agent, 资源管理Agent。工艺扩散包括工艺标准化Agent, 扩散工艺管理Agent, 扩散工艺调整Agent。品质控制包括品质控制Agent, 品质反馈Agent, 品质管理Agent。数据管理包括用户管理Agent, 工作流管理Agent, 数据提取Agent。最上层是系统应用层。主生产单位通过扩散网络平台向扩散企业进行数据的发放, 达到生产能力的扩大。扩散企业通过网络平台向主生产单位反馈扩散件的生产状况。

2.2 扩散制造工作过程

系统采用B/S架构, 扩散企业首先通过网络登陆REM系统平台, 在资源管理模块登记生产资源, 进入主生产企业任务扩散的目标域。

a) 主生产单位在接到大批量生产任务时, 通过构建制造能力模型和仿真技术分析所需要的制造资源数量, 并与自身生产条件相对比找出完成该任务的企业制造瓶颈;

b) 在确定制造瓶颈的基础上, 根据约束条件 (批量、批次、进度、品质、成本等) , 利用优化算法分解出需要扩散到外部进行加工的任务 (包括零部件或部分工序) 及相对应的扩散企业;

c) 主生产单位与扩散企业之间通过专用数据接口在已有网络的基础上构建扩散制造网络, 主生产单位将b) 生成的扩散数据 (包括:子任务、零部件数据、子任务进度、关键工艺品质及品质控制数据、加工工艺、物料供应等) 通过扩散制造网络发放给各扩散企业和本企业相关部门;

c) 各扩散企业通过扩散制造协同工作平台反馈主生产单位关注的品质信息、进度信息, 实现对外部扩散制造的全过程控制;

d) 在扩散任务完成之后, 主生产单位关闭相关数据库及各类数据通道。

3 基于Agent的快速扩散制造系统模块设计

REM是以任务管理模块驱动的扩散模式。任务管理模块在整个系统中占有极其重要的地位。需要进行扩散的任务列表、零部件数据、工艺数据、进度计划等扩散数据都是从任务管理产生。下面着重介绍Agent技术在任务管理模块的应用。

3.1 扩散制造任务管理模块

在REM协同平台中, 任务管理的目的是实现制造任务的分类决策, 形成自制、外购、扩散 (外协) 3种类型[3]的任务。对扩散任务进行动态调度和分配, 管理任务的执行状况, 实现扩散企业或资源的优化选择。本文结合Agent技术设计了如图2所示的任务管理系统, 包括任务分解、任务分配、任务调度等部分。

a) 任务分解Agent:REM系统提醒用户根据知识库将制造任务分解成若干子任务, 形成任务列表。然后根据子任务进行分配、调度, 再依据制造资源选择扩散企业。任务分解的粒度要求尽量减少扩散任务在扩散企业之间的流通以减少系统在各个扩散企业间通信的开销, 提高系统的响应速度。

b) 任务分配Agent:负责监督与管理任务执行的全过程, 针对任务列表中每一个子任务与资源Agent进行协商, 确定各个任务的资源集合, 实现任务的分配, 并形成任务队列。当有紧急任务插入或资源提供方出现问题时, 任务分配Agent找出所受影响的任务, 并和资源Agent进行协商, 进行再调度与分配。

c) 任务调度Agent:通过任务队列的输入数据结合算法库进行调度问题优化。当面对复杂任务调度问题时, 将任务队列中的开始、截止时间和约束关系作为条件, 结合算法库, 选择合适的优化算法, 进行调度优化, 并将结果输出。

d) 资源Agent:直接与制造资源管理相连接, 根据自身的运行状态和任务状态, 与任务分配Agent进行任务协商来分配各个任务的调度。

3.2 制造资源管理

制造资源是REM的核心和必要条件, 而REM中的资源根据任务需要由多个扩散企业中部分资源组合而成。制造资源是REM的核心和必要条件, 而REM中的资源根据任务需要由多个扩散企业中部分资源组合而成的部分[4], 并且资源体现扩散企业的制造能力, 所以对制造资源进行建模是十分重要的。

a) 资源登记和维护Agent:扩散企业根据主企业定义好的资源模型向系统登记制造服务和制造资源信息, 并对资源信息进行维护。

b) 资源信息服务Agent:主生产企业通过资源信息服务Agent查询和监测扩散企业的资源和服务的当前状况。

c) 资源匹配Agent:对扩散任务, 资源匹配Agent通过对比制造任务中的资源要求和扩散企业登记的资源及服务信息, 基于一定的算法动态的寻找满足条件的扩散企业。

3.3 制造进度管理

REM是一个动态的过程, 其执行过程分布在由异构自主企业形成的分布式境中, 主企业需要监控和协调扩散制造过程, 保证制造任务按时提交。进度管理负责任务进度的把握以及接受来自扩散企业的生产反馈, 了解扩散件的生产状况, 并就异常状况进行调整。

a) 进度计划Agent:与任务调度Agent交互, 存储整体项目扩散任务的任务列表、任务的数量、期限等相关信息。

b) 监控反馈Agent:主要负责监控扩散件的生产状况, 接受扩散企业的反馈, 并将反馈信息与任务计划Agent交互比较, 形成实时的动态的任务生产计划。

c) 调整Agent:当实际生产出现问题, 不能按时完成

计划时, 调整Agent将与任务调度Agent交互, 对出现问题的任务进行重新分配, 根据资源Agent提供的扩散企业情况选择合适的企业扩散以保证扩散任务的按时完成。

4 平台的开发

本文采用Agent构建快速扩散制造平台。采用Agent的优点在于Agent的基础组织能够提供网络中间件类似的通用功能和服务组件 (如消息路由、信息服务、通讯协议等) , 并且采用了独立于应用的通讯语言 (如FIPA, ACL) 和交互协议实现消息通讯, 能够采取主动行为并根据环境状态做出反应, 即具有柔性行为能力。

系统具有如下特点:1) 系统面向扩散制造过程集成问题, 以扩散制造任务驱动企业间制造资源、制造服务和制造能力集成;2) 在方法上采用基于Agent的柔性工作流;3) 采用面向Agent的软件工程方法学 (AOSE) 并基于多Agent框架实现系统开发, 系统遵从FIPA (foundation for intelligent physical agents) 的体系和应用标准;4) 系统具有分布式体系、模块化、自组织、开放性、可扩展性和容错性, 能够适应环境动态的变化。

本文基于Agent技术进行开发, 构建了B/S架构的快速扩散制造平台。其部分系统模型如图3所示。

5 结语

REM是在网络化制造基础上发展的一种新型的制造技术。现运用Agent技术构建了REM平台, 下一步工作是进一步对系统进行完善。当主生产企业由于缺乏足够的资源无法完成制造任务时, 可以通过REM平台寻找满足条件的扩散企业进行任务的扩散, 实现企业制造能力的扩展和固化工艺制造任务的扩散, 以满足其短时间内变批量生产的需求。

参考文献

[1]王海龙.武器装备快速扩散制造单元的理论模型与关键技术研究[D].西安:西北工业大学, 2005.

[2]秦斌, 王欣, 吴敏, 等.基于多智能体系统的分布式智能控制系统框架与原型系统开发[J].计算机集成制造系统, 2006 (10) .

[3]胡业发, 陶飞, 丁毓峰, 等.支持协同制造的制造网格平台研究[J].中国机械工程, 2006 (18) .

[4]林爱梅, 郭宇, 刘骄剑.快速扩散制造模式下制造资源模型研究[J].中国制造业信息化, 2008 (8) .

Agent系统 篇10

摘要:本文对多Agent技术进行了介绍,从个性化服务系统这种应用领域出发对该技术进行了新的改进,提出了一个基于协同Agent的个性化智能服务系统,介绍了系统的组成和运行原理:对系统的核心—协同Agent处理器的构成、运行原理、流程进行了研究与设计。

关键词:多Agent协同Agent智能服务系统

中图分类号:TP311.52文献标识码:A

0引言

随着信息技术和电子商务信息服务平台的建立与应用,企业需要具备更多的销售模式并加入到战略伙伴的供应链上,以提高销售业绩获得更丰厚的利润。同时用户期望获得更加符合个性化需求的服务,电子商务的网络运营商需要不断地改进服务模式和业务流程,来满足用户、供应商和服务商的各种需求。传统企业架构由于技术层与业务层之间不能直接通信,无法满足客户复杂多变的业务需求,而面向用户的个性化智能服务是分布式的智能计算系统。

Agent技术源于分布式人工智能(distributed artificial intelligent,简称DAI)领域。面向Agent方法是在面向对象方法的概念上发展的。建立在人工智能基础上的Agent,能够表达启发式知识,因此面向Agent方法能够较好的解决个性化服务中的很多问题。但由于推荐需求与应用系统之间的差别,推荐系统需要根据Web站点进行定制开发,所以系统移植性差,难以动态有效地管理和维护多个推荐工具和大量数据,但如果定义一组以Agent为核心的概念体系,运用基于多Agent系统的体系结构来理解和认识应用系统,则更能体现自主、个性和智能的自然属性,适用于分布、异构、开放和动态的世界环境,具有更大的灵活性和适应性,从而为企业提供强大的威力和灵活性,本文提出了一种改进的基于协同Agent的个性化智能服务系统。

1基于协同Agent的个性化智能服务系统

协同Agent的个性化智能服务系统框架如图1所示,该系统是一个智能互连环境,它为用户提供资源及所需的知识服务,辅助实现知识创新、协同工作、问题解决和决策支持。其原理是在推荐系统中设置协同Agent处理器,该处理器首先给出一个刻画和分析Agent协作的公共描述框架,然后基于该框架定义了一组协作模型,处理器负责为每个用户设置一个接收用户需求的Agent,然后将需求信息传给合适的协同Agent处理器。模型中,Agent间的交互关系仅仅是请求和服务关系,而且这些Agent是在服务协同Agent管理器中进行协调和控制,即通过协调搜索到一个合适的Agent并向另一个Agent提出服务请求或提供服务。

用户的请求通过协同Agent处理器的处理得到响应。处理器的运作机制是首先以服务信息为来源,由最相邻的服务Agent负责分析用户的需求,结合用户知识库,在服务系统的服务目录库中寻找最相关的服务,如果没有检索到相关服务,则启动服务智能搜索子系统动态形成新服务,结果注册与服务目录子系统中,存储在应用系统本体数据库中。最后通过服务库管理子系统在虚拟服务社区中调用智能推荐子系统,进行商品知识与用户知识的匹配。

2协同Agent处理器设计与原理分析

多Agent协同管理层是系统的核心部分,其结构如图2所示。协同Agent系统与传统的多Agent系统不同的是,该系统不仅定义了Agent的通信语言、协作目的、交互协议和交互过程,而且在各个协同Agent之上构建一个协同Agent管理器。该管理器接收到服务请求后通过任务调度和搜索,组合功能后将这些任务交由系统中的一组Agent执行,管理器先对各种功能的Agent进行评估,选择最合适的Agent执行任务,当Agent完成任务后将结果反馈给协同Agent处理器。

协同Agent处理器主要负责协调Agent网络,Agent之间通过规定的通信语言、通信协议和通信模型进行交互协作完成服务,交互Agent实现智能化的交互,其中具体的功能包括显式收集服务请求信息、隐式服务请求信息、收集信息以及将推荐结果反馈给用户。交互功能的实现由协同Agent管理器搜索Agent网络,找到最近合适的跟踪Agent和交互Agent完成。当用户登录服务系统或登录服务客户端时,由Agent网络中的跟踪Agent主要实现用户信息的隐式收集,系统自动找到一个跟踪Agent获取用户相关数据提供服务。跟踪Agent将记录用户访问模式的数据记录在用户数据库中,同时控制层与推荐层实时的分析点击流数据来实现策略即相关商品页面的实时推荐和制作个性化用户界面。

Agent协调器是在一组Agent之间进行任务的合理分配、实现合作问题求解。其运行方式是以一个管理者的身份进行,它拥有一组任务并且需要将这些任务交由系统中的Agent执行。为了确保这些任务能够得以成功执行并且获得尽可能高的利益,管理者在将这些任务交给Agent之前需要对Agent执行任务的一些性质进行评估,从而将任务交给最为合适的Agent执行,任务执行完后Agent需要将任务执行的结果反馈给管理者,由管理者对这些结果进行汇总和处理。其处理流程如图3所示:

Agent协调器主要是基于服务内容搜索算法、基于用户统计信息搜索算法和基于关联规则推荐算法,控制层分析获得的数据类型和用户需求,自动选择合适的服务算法进行推荐服务,控制层由策略Agent和规则库组成。策略Agent接收来自交互层的数据,根据不同的数据类型以及各种推荐算法的适用范围确立算法规则。算法规则有:接收到用户访问页面的点击流数据则采用基于关联规则推荐算法:接收到用户个人资料信息则采用基于用户统计信息推荐算法;接收到用户评分数据则采用协同过滤推荐算法;接收到文本信息则采用基于内容推荐算法。并将这些算法规则储存在服务规则库中。

规则库是存放算法规则的数据库,算法规则用逻辑语言记录在规则库中,便于算法匹配Agent调用。当Agent协调器通过目标Agent确定具体搜索目标后,在Agent网络中搜索相邻的最合适的Agent进行服务,并产生候选Agent序列进行备选。

Agent评估模块实现算法计算和信用评价,主要是根据目标确立的算法规则,从算法库中调用相关服务算法进行计算得出服务结果。在服务结果中再进行汇总和综合处理。

3结束语

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:安全生产检查重点项目 下一篇:安全专项整治方案1