Agent技术研究综述

时间:2022-06-09 04:47:29

Agent技术研究综述

摘要:Agent起源于人工智能(AI),20世纪80年代中期人工智能技术与分布式计算技术相结合,出现了分布式人工智能(DAI)这个研究方向。作为分布式人工智能的构成因素,Agent一词越来越多地被提到,由于它突破了长期以来AI研究进展不大的局面,因此倍受关注,多年来,Agent技术的研究和应用有了更加广泛地发展,特别是Internet和WWW的发展,为Agent技术带来了新的发展契机。

关键词:Agent人工智能(AI);移动Agent

中图分类号:TP181 文献标识码:A文章编号:1009-3044(2008)21-30525-03

The Summary of Agent TechnologyResearching

ZENG Yong-chuan

(Shanghai Maritime University Institute of Information Engineering, Shanghai 200135, China)

Abstract: Agent stems from the artificial intelligence (AI), in the mid-1980s the artificial intelligence technology and the distributed computing technology unified, presented the Distributed Artificial Intelligence (DAI) this research direction. As Distributed Artificial Intelligence's constitution factor, the term Agent many were mentioned more and more, because it broke through since long the AI research development not big aspect, therefore time receives pays attention, for many years, the Agent technology's research and the application have had widely have developed, specially Internet and the WWW development, is the Agent technology has brought the recent development turning point.

Key words: Agent; Artificial intelligence(AI); Mobile Agent

1 Agent概念及其产生背景

Agent一词直译为“”,也有人称之为“智能”、“智能主体”、“艾真体”等,大多文献直接使用英文Agent,广义上它是指具有智能的任何实体,包括硬件(机器人)的和软件的,狭义上一般指的是软件Agent。

Agent起源于人工智能(AI)领域,20世纪80年代中后期,人工智能技术与分布式计算技术相结合,出现了分布式人工智能(DAI)这个研究方向。作为分布式人工智能的构成因素,Agent一词越来越多地被提到,由于它突破了长期以来AI研究进展不大的局面,因此倍受关注。1993年首次召开了Agent形式化模型的国际会议,同年Y.Shoham提出了面向Agent编程(AOP)的概念。1994年1月,美国General Magic公司演示了它初次公开的Agent软件,同年3月,AAAI春季年会的主要议题是Software Agent,包括了如下各领域的研究者:软件工程、机器人、知识表达、知识库系统、数据库、问题求解、规划、机器学习、认知科学、心理学、计算机图形学、艺术、音乐、电影、人机交互等,这意味着Agent的研究集成了来自多种研究领域的重要成果。从此,Agent融入了主流计算机的各领域,产生了一系列的新方法、思想、技术,各种类型的软件Agent大量用于信息处理、办公自动化、交通管理、私人助手等。特别是Internet和WWW的发展,为Agent技术带来了新的发展契机。

2 Agent的特性

满足下面四个条件的计算机硬件或软件系统就可以称为是Agent:

自治性(Autonomous)――即它可以在不受外部直接干涉的条件下完成操作。它可以根据自己的经验在某种程度上控制内部的状态和操作(Agent的操作不是简单的方法调用,而是通过感知外部的环境变化来自主地进行操作)。

社会性(social ability)――Agent能通过通信协议与其它Agent进行交流、协作。

反应性(Reactivity)――在某种程度上可以对外部环境或其他Agent做出响应。更高级别的适应性允许Agent根据自己的经验调整的行为。

主动性(Pro-activeness)―― Agent能对所处的环境进行响应,还可以根据当前的环境和自身的心智,主动地执行某种操作或者任务。

一般来说,前三个特性是工业中运行的Agent所必须的,最低程度上,Agent必须是一个自治体,可以和其所处的环境进行交互,换句话说,它必须能通过传感器感知外部环境的变化,并通过受动器对环境进行某种作用。除了以上几种特性外,还包括一些其它特性,如:移动、智能、个性化、健壮等。

3 Agent的类型

Agent有几种类别,尽管不是每个Agent都属于其中的一个类别,这些类别通常可以描述实际使用中的大多数Agent,表1给出了五种Agent及其描述。显然,存在混和型的Agent,它们可以同时属于一个以上的类别,一个Agent属于哪个特定的类别并没有严格的规定,完全取决于开发的目的。

4 Agent的结构及其参考模型

Nwana 定义了Agent的三层核心结构:定义层、组织层和合作层。这个概念结构提供了一种描述Agent应用特征的框架,对此核心可扩展为五层结构:

应用层:提供给应用程序的对于Agent的控制方式;

定义层:在这一层中,Agent被描述为一个自治的理性的实体,包括Agent的推理学习机制、目标、资源、技能等;

组织层:定义了Agent与其它Agent的关系,包括Agent在Agent集体中所扮演的角色,以及Agent间的相互感知等;

合作层:指明了Agent的社会能力,例如它的合作和协商技术;

通信层:实现了Agent间通信的细节。

Agent一般工作在特定的平台环境中,必须在平台上进行注册才能和其它Agent进行通信,一个最小的Agent平台由三部分组成:Agent通信信道(Agent Communication Channel)、Agent管理系统(Agent Management System)、Agent目录服务(Directory Facilitator)。现对各部分功能做一个简要介绍:

Agent管理系统(AMS):它本身是一个Agent, 用来监视对Agent平台的使用和存取,在一个Agent平台上只允许有一个Agent管理系统,AMS维护一个关于Agent的名字及其与名字相对应的传输地址的目录。Agent管理系统为别的Agent提供“白页”服务(关于用户信息的数据库)。它负责创建、删除Agent,是否动态地注册到一个Agent平台上及监视Agent的移动。因为不同的Agent平台有不同的功能,所以可以通过查询Agent管理系统来获取该平台的信息,它的操作包括:认证、注册、撤销、更新、查询平台、描述文件、搜索、Agent生命周期的控制。

目录服务(DF):为别的Agent提供“电话黄页”服务。目录服务本身就是一个受约束的、标准Agent。Agent可以把它们提供的服务注册到目录服务者中去,也可以查询目录服务者以找到别的Agent所提供的服务。目录服务者必须保证其所维护的Agent目录是及时、完全和精确的。目录服务者也可以相互注册,其所支持的操作有注册、注销、修改、搜索。其所采用的搜索策略为先搜索本地,然后再搜索其他的目录服务者。

Agent通信信道(ACC):所有的Agent都可以访问至少一个Agent通信信道,它是不同Agent平台上的Agent之间进行通信的默认方法。ACC发送消息必须遵循默认的互操作协议,它包括传输协议、编码协议、地址发送策略等,其中,至少要支持IIOP(Internet Inter-ORB Protocol)协议。

5 移动Agent技术

20世纪90年代初由General Magic公司在推出商业系统Telescript时,提出了移动Agent的概念,简单地说移动Agent是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其它Agent或资源交互的程序。传统的RPC客户端与服务器需要持续的通信支持;而移动Agent可以迁移到服务器上,与之进行本地高速通信,这种本地通信不再占用网络资源,移动Agent的迁移内容既包括其代码又包括其运行状态。

作为一种新型的Agent技术,移动Agent具有很多优点,跨平台移动计算能力是其主要特征,它可以在网络上各Agent主机平台间自主迁移并获取所需资源,代表用户完成指定的任务,并在适当的时机返回出发地。移动Agent突出的优点有:

1)减轻网络负载;

2)克服网络隐患;

3)移动Agent的异步自主运行能力。

基于移动Agent的软件程序以一种相当自由的方式运行,因此,可以更容易地创建稳定性和容错性好的分布式系统,但移动Agent具有以上优势的同时,也对运行环境提出了更高的要求,主要表现在:

1)移动Agent必须在一个能对Agent程序运行提供支持的软件平台上运行;

2)对系统的安全检查要求更高,对于移动代码的安全问题需要更为复杂的认证系统;

3)移动Agent将整个Internet作为计算平台,很可能要在不同的计算环境中自主地执行,因此必须解决跨平台问题。

6 Agent的主要应用

尽管Agent的概念很早就已经被提出来了,但真正成熟的应用却并不多,已有的应用主要有以下几种:

1)分布式信息采集

在大型分布式搜索引擎中,可以使用移动来采集信息,并标引入库。

2)股票交易监控员

在股票交易中会产生大量的信息,对于一个投资者(用户)来说,他只会对其中的一小部分感兴趣,例如,用户可能只对特定股票的价值或具有特定性质的变化感兴趣。而一个,例如运行在进行股票交易计算机上的,可以监视股票价格并及时准确地报告给这些用户,甚至可以代替用户做出一些决策判断。

3)电子价格比较

在一个给定的基础设施中,一个可以搜寻某个产品的所有生产商来确定谁是最便宜的供货商,甚至可以将一些额外的信息纳入考虑之列,例如付款方式、物理位置,以及加上折扣和运输费用后导致的成本和节余等。

7 结束语

本文从理论的角度对Agent技术做了比较深刻的阐述,同事也从实践上对Agent技术举例进行了论证,这些都不难看出Agent技术的生机与活力。随着分布式计算和人工智能技术的发展,Agent技术必将获得更为广泛的应用。

参考文献:

[1] 刘广钟.Agent技术及其应用[M].电子科技大学出版社,2002.

[2] 张程.基于智能Agent的搜索引擎研究[D].重庆大学硕士学位论文,2002.

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

[4] H Lieberman,Letizia.An Agent That Assists Web Browsing[C]//Proceedings of the International Joint Conference on AI, Montreal,Canada,1995.

上一篇:计算机辅助教学在《电子技术》课程教学现代化... 下一篇:基于.net三层架构的印刷业网上报价系统的实现