Board logo

标题: 智能化分布式计算新模型(第一部分) [打印本页]

作者: cnangel    时间: 2003-6-29 19:38     标题: 智能化分布式计算新模型(第一部分)

肖文鹏 (xiaowp@263.net)
北京理工大学的硕士研究生
2003 年 6 月
计算机智能化和网络化进程促成了Agent技术的迅速崛起和广泛应用,移动Agent技术是为解决复杂、动态、分布式智能应用而提出的一种全新的计算手段,是计算机软件技术的又一次深刻变革。
本系列文章分两个部分介绍移动Agent这一智能化的分布式计算新模型:第一部分对软件Agent和移动Agent的一些基本概念作了简要阐述,提出了基于移动Agent的分布式计算模型;第二部分简明介绍了目前常用的移动Agent平台,并以Voyager这一移动Agent开发平台为例,讲述如何用Java开发移动Agent应用程序。
随着人工智能和计算机网络的飞速发展,特别是近年来Internet及其相关技术的普遍应用,网络已经成为目前人们发布和获取信息的基本平台。在这样的背景下,计算已经不再像以前那样仅仅局限于网络中的几台服务器上,而是要求所有计算机都融入到分布式计算这一大环境中来,这就引发了分布式计算新一轮的研究热潮,这期间最引人注目的就是智能软件Agent。
一、软件Agent
软件Agent技术的诞生和发展是人工智能和网络技术相结合的产物。从20世纪60年代起,传统的人工智能技术开始致力于对知识表达、智能推理、机器学习等领域的研究,这些研究成果在计算机软件中的应用使得软件有了一定程度上的主动性,并在自主判断和行为选择上有了一定的智能性。目前,人工智能围绕知识这一中心所进行的研究和应用正在促成知识工程这一新兴学科的生成,它涉及到知识的获取、存储和管理等一系列课题,对这些问题的深入研究必将促进软件智能化的进程。
在Internet这一目前最庞大的互联网络环境中,计算机软件体系结构和组织结构的复杂性不断增加,传统的软件设计方法已经无法满足实际需要,分布式、智能化才是今后软件发展的基本方向。软件分布式的目标是要将问题进行分解,由多个实现了知识共享的软件模块或网络节点来共同完成问题求解,而智能化的目标是要在智能主机之间实现智能行为的协调,两者的结合就产生了软件Agent的概念。
软件Agent技术最早可以追溯到人工智能研究的初期阶段,1977年Hewitt在研究Concurrent Actor Model时就首次提出了具有自组织性、反应机制和同步执行能力的软件模型,这就是最初的软件Agent思想。此后从70年代末到90年代初,科学家都将精力集中于对软件Agent理论的研究,并从系统的角度提出了一些基本概念。软件Agent的具体实践开始于90年代,期间人们进行了一些非常成功的尝试(如Pleiades,ARCHON 计划等),并对软件Agent有了进一步的认识,例如Microsoft就认为:"Agent是受人委托代表或代替用户行为,其智能性显示或表现在其优良的判断力或合理的思想。"
目前软件Agent在研究领域中尚没有一个理想的定义,但人们普通认为:软件Agent是运行于动态环境的、具有高度自治能力的实体,它能够接受其它实体的委托并为之服务。不难看出,软件Agent首先具有智能特性,它对环境有响应性、自主性和主动性;同时,软件Agent还具有社会特性。对软件Agent的完整描述如图1所示:
<img src="http://www-900.ibm.com/developerWorks/cn/java/l-mobile-agent/image001.gif" width="328" height=233 border=0>