基于人工智能Agent技术发展现状分析

2016-04-07 16:01陈娟
电脑知识与技术 2016年3期

陈娟

摘要:本文从论述Agent概念、特点入手,讨论了其研究方向,即智能Agent、多Agent系统和面向Agent软件工程的有关理论、方法和技术等方面的问题。并展望和讨论了其未来的发展方向。

关键词:Agent;多Agent系统;面向Agent软件工程

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)03-0195-02

Agent概念最早由麻省理工学院的Minsky教授在其著作《Society of Mind》一书中被正式提出,他认为社会中的某些个体经过协商之后可求得问题的解,这些个体就是Agent[1]。随着计算机技术的日益发展,IT界对Agent理论和技术的研究不断深入,其应用也在不断扩大,但对于它的定义却一直没有一个确切的定义,但其中以Wooldridge和Jennings提出的定义最为流行。他们认为Agent有四个重要的特性,即自主性、交互性、反应性和主动性。

经过多年的发展,Agent技术早已从最被的分布工人工智能(DAI)中拓展开来,并与许多其他领域相互借鉴和整合,呈现出不俗的表现。它作为一门设计和开发软件系统的新方法已经得到了学术界和企业界的广泛关注。因此,目前我们对Agent的研究大致可分为智能Agent、多Agent系统和面向Agent的程序设计[2]。这3个方面相互缠绕、相互关联。

1 智能Agent

基于设计原理及系统结构之限,Agent技术即使在同一系统中也处于不同层次和结构中,但在现实研究过程中,在任何一个系统上构建多个Agent系统只会让研究人员的工作量增大,大部分时候做的也只是无用功而已,其实,如果他们只需要根据需要开发所需Agent,就会起到事半功倍的效果,因此,传统的Agent的表现越来越差强人意。

在此基础上,Wooldridge和Jennings对Agent技术进行了新的定义与设计。他们提出的“弱定义”和“强定义”最为经典,也被大多数人所接受。Agent除了必须拥有其最基本的特性外,还可以拥有其他特性,如移动性、自适应性、通信能力、理性、持续性或时间连续性、自启动、自利等[3]。

Agent原本就有“智能”之意,在经过重新设计后,它的智能性和独立性,效果显著。它不再受外部环境所干扰,可以根据外部行为和自己的内部状态,以完成任务为导向,高效、敏捷地自我决定完成某些事情。同时由于它的可移动性,Agent完全可以将封装的数据从一台主机移至另一台主机[4]。与传统的概念相比,智能Agent概念具备更多的知识性、主动性和协作性,具有更强的问题求解能力和自治能力。

2 多Agent系统

由于网络及互联网技术的发展,单个Agent早已不能满足需要,在此环境下,多Agent系统产生了。顾名思义,它由多个Agent组成,主要应用于分布式自主系统中,它的每个成员互成个体,行为完全独立、计算过程异步、并发、并行。Agent的互操作性及Agent间的协商和协作等问题是它研究的重点。

从运行控制的角度来看,多Agent系统的体系结构可分为:集中式、分布式和混合式[5]。集中式结构即将Agent成员集中起来管理,通过所分配的控制Agent来对组内的成员的任务进行分配和管理,达到协调和控制的目的;分布式结构较集中式结构更加灵活、稳定,它不会因为组中某成员出现问题而导致全线崩溃。但是由于其成员各自独立,毫无主次之分,因此Agent的数目会很多,直接导致维护成本的增加。混合式结构是一种结合了集中式结构和分布式结构的改良性结构。它不仅解决了同类型间Agent之间的资源分配等问题,还协调了不同类型Agent之间的冲突[6]。目前混合式结构是多Agent系统采用最多的。

多Agent技术是当前分布式人工智能及计算机科学领域的研究热点,计算机网络、多机器人系统、交通控制系统、软件工程领域、计算机仿真及军事方面,多Agent技术都发挥着重要作用。

3 面向Agent的程序设计

随着“互联网+”概念的提出,在开放网络的环境下,越来越多的密集型软件被部署其中,系统与环境之间发生着深刻的变化,这对程序设计技术提出了严峻的挑战。因此,设计一种新的软件理论、模型等成为摆在设计人员面前的挑战。在此背景下,许多学者将Agent的概念、理念和技术引入到软件工程领域,并与软件工程的思想、原理和原则相结合,产生了面向Agent软件工程(AOSE)这一新颖的研究方向[7]。

面向Agent软件工程是理论+实践的综合体。一方面它将Agent作为基本的概念模型和计算抽象,将由此产生的一系列思想应用于软件开发中;另一方面在软件开发设计过程中,借助于Agent间的相互作用,通过高层交互,从而实现系统的整体设计目标,从而可以更好地提高软件系统的灵活性,减少维护成本。因此不得不说面向Agent软件工程是软件工程领域的一次重大进步。

目前,面向Agent的程序设计正处于发展阶段,但它已受到各方面的高度关注。如电子商务、分布信息检索、监视、工作流管理系统、并行处理等。随着此技术与计算机其他技术越来越紧密的合作,其发展空间更大,应用领域更广。

信息化技术将越来越多的覆盖我们的生活,针对Agent技术的研究和应用也会越来越广泛。尊重客观事实,设计、实现解决问题的新手段,新方法,是计算机工作者不可推卸的责任和义务。

参考文献:

[1] 百度百科.agent技术[DB/OL].http://baike.baidu.com/view/1446990.htm.

[2] 李薇,张凤鸣.多Agent技术研究与应用[J].软件时空,2006(22).

[3] 郑伟南,张瑶,王朔.基于信标的多Agent系统关键技术研究[J].电子技术与软件工程,2016(1).

[4] 杨灵利.多Agent系统交互协作的研究与建模[D].沈阳师范大学,2013.

[5] 范颖.多Agent系统探究[J].科技信息,2011(1).

[6] 宋碧慧.基于多Agent协作强化学习的研究[D].湖南大学,2013.

[7] 毛新军.面向Agent软件工程:现状、挑战和展望[J].计算机科学,2011(1).