基于Agent的建模方法的研究与开发

上传人:蜀歌 文档编号:148719004 上传时间:2020-10-22 格式:PDF 页数:8 大小:252.75KB
返回 下载 相关 举报
基于Agent的建模方法的研究与开发_第1页
第1页 / 共8页
基于Agent的建模方法的研究与开发_第2页
第2页 / 共8页
基于Agent的建模方法的研究与开发_第3页
第3页 / 共8页
基于Agent的建模方法的研究与开发_第4页
第4页 / 共8页
基于Agent的建模方法的研究与开发_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于Agent的建模方法的研究与开发》由会员分享,可在线阅读,更多相关《基于Agent的建模方法的研究与开发(8页珍藏版)》请在金锄头文库上搜索。

1、 -1- 中国中国科技论文在线 基于 科技论文在线 基于 Agent 的建模方法的研究与开发的建模方法的研究与开发 郭雁 华东师范大学地理信息系统教育部重点实验室,上海 (200062) 摘摘 要:要:从智能 Agent、多 Agent 系统(MAS)和面向 Agent 的程序设计(AOP)这三个 方面来讨论 Agent的建模思想。 其中, 智能 Agent是 多 Agent 系统 研究的基础, 智能 Agent 和 多 Agent 系统 的成功应用要借助 Agent 的应用方法, 即 AOP 以及 AOP 开发工具或 平台。本文通过一个简单的经济学模型来实践基于 Agent 建模的开发方法,

2、具体描述 MAS 中 Agent 的协同、通信和交互技术,AOP 实现方式等。最终总结出基于 Agent 的建模方法 的优势所在。 关键词:关键词:智能 Agent;多 Agent 系统(MAS);面向 Agent 编程(AOP) 1 引言引言 1980 年代以来,人工智能面临了发展上的困境。专家系统曾是人工智能迅速发展的推 动力之一, 但其脆弱性逐渐被发现。 而自 1994 年以来, Agent 在人工智能领域成为像 Internet 一样备受瞩目的词语,Agent 将人工智能技术推向了网络这一迅速发展的空间。这个以网络 为主体以智能 Agent 为背景的模式,将极大地推动人工智能的不断发展

3、, 促使人工智能技术 向网络移植,给人工智能领域甚至于整个计算机领域带来重大而深远的影响。 Agent 的理论、技术,特别是多 Agent 的理论、技术,为分布开放系统的分析、设计和 实现提供了一个崭新的途径,被誉为“软件开发的又一重大突破” 1。Agent 理论与技术研究 源于分布式人工智能(DAI),但从 80 年代末开始,Agent 理论、技术研究从 DAI 领域中拓展 开来,并与许多其它领域相互融合,在许多不同的领域得到了更为广泛的应用。面向 Agent 技术作为一门设计和开发软件系统的新方法已经得到了学术界和企业界的广泛关注2 3 4。 2 Agent 2.1 Agent 起源起源

4、Agent 的原意是“代理”,即一个人代表另一个人或(另)一个组织去完成某件(些)事 情。在计算机科学领域,Agent 可认为是被授权的“个人软件助理(Personal Software Assistants)”,是一种在分布式系统或协作系统中能自主地发挥作用的计算实体,常称为智 能体或者自主体。 Agent 的概念出现于 1970 年代的人工智能(AI)的分布式人工智能领域中,80 年代后 期才成长起来。其最大特点表现在它是一种自主性的软件(或硬件)实体,能够比较好地体现 对人的意愿的理解和对计算机功能的实现。在分布式并行处理技术、面向对象技术、计算机 网络技术,特别 Internet 和

5、WWW 技术的不断发展,Agent 不仅成为 AI 和计算机领域最活 跃的研究内容之一,而且引起了科学界、教育界的广泛关注。 2.2 Agent 的强弱定义及特征的强弱定义及特征 Agent 一词的概念因所研究和关心的问题不同而不一致,目前学术界对 Agent 并没有一 个统一的定义。从物理上看,Agent 是自主的个体,具有某种对其自身行为和内部状态的控 制能力,能够不受人或其它 Agent 的直接干预,并尽可能准确的理解用户的真实意图,有效 地利用环境中各种可能利用的数据、知识、信息和计算资源,为用户提供迅捷、准确和满意 -2- 中国中国科技论文在线科技论文在线 的帮助5。从计算机科学角度

6、看, Agent 实质上就是一类在特定环境下能感知环境,并能灵 活、自主地运行以实现一系列设计目标的计算实体或程序。 Wooldrige 在 Intelligent Agents:Theory and Practice 一文中给出了 Agent 的几种定义, 是目前比较认可的: 弱定义弱定义: Agent 具有这样的特性:自主性(autonomy):Agent 可以在没有人或其他 Agent 直 接干预的情况下运作,而且对自己的行为和内部状态由某种控制能力;社会性(social ability):Agent 和其他 Agent(也可能是人)通过某种 Agent 语言进行信息交流;反应性 (re

7、activity):Agent 能够理解周围的环境,并对环境的变化做出实时的响应;能动性 (pre-activity):Agent 不仅简单地对其环境做出反应,也能够通过接受某些启动信息,表 现出有目标的行为。 强定义强定义: Agent 除了具备上述弱定义中的所有特性以外,还应具备一些人类才具有的特性,如 知识、 信念、 义务 、 意图等。 另外, Agent 还可以具有其他一些特性, 如: 移动性 (mobility) : 指 Agent 可以在信息网络上移动;真实性(veracity):假设 Agent 不传输错误信息; 仁慈性(benevolence):假设 Agent 没有冲突的目标

8、,每个 Agent 通常有求必应;合理性 (rationality):假设 Agent 总是为实现目标而努力,而不阻碍目标的获得,至少在它的信念 中应该如此。 3 多多 Agent 系统(系统(MAS) 3.1 多多 Agent 系统定义系统定义 多Agent系统(Multi-Agent System简称MAS) 实际是将单独的Agent通过某种特定的联 系,组成的一个社会环境,在一定的结构安排下完成复杂的问题求解。MAS 可以定义为: 能进行问题求解,能随环境改变而修改自己的行为,并能通过网络与其他 Agent 进行通信、 交互、协作、协同完成求解同一问题的分布式智能系统5。这样的系统可以模

9、拟大型组织 的群体工作,并运用自身的特定工作方式,解决大家所共同关心的复杂问题。 3.2 Agent 间的通信间的通信 由于 MAS 是由多个 Agent 构成,共同协作来完成复杂工作,因此各个 Agent 之间必须 进行交流。各 Agent 间的交流通信的方式基本上可以分为“黑板”和“消息传递”两种方式6。 第一种是广播通信形式,即属同步消息传递方式。把消息放在通用可存取的黑板上,每个 Agent 均可以向黑板发送消息, 也可以从黑板上读取信息。 发送者和接收者不需要互相了解。 黑板模型是智能 Agent 通信机制的重要先导之一, 是传统的人工智能系统和专家系统的议事 日程的扩充。第二种是消

10、息传递通信方式,属于异步消息传递方式。即一个 Agent 可以向另 一个或多个 Agent 发送消息,采用点对点的传递方式,这种通信方式需要多个 Agent 之间有 一定的了解,发送者事先应该知道接收 Agent 的有关信息。 Agent 通信时使用的媒介可称为 Agent 通信语言。目前已知的 Agent 标准通讯语言有 KQML (Knowledge Query and Manipulation Language) 知 识 查 询 与 操 纵 语 言 ,KIF(Knowledge Interchange Format) 知 识 交 换 格 式 , FIPA ACL(FIPA Agent C

11、ommunication Language)等等。由于这些语言在开发应用时还不够成熟,所以我们在开发 -3- 中国中国科技论文在线科技论文在线 Agent 模型时,使用的是所用程序语言自身的交流机制。 4 面向面向 Agent 的程序设计(的程序设计(AOP) 智能 Agent 和 MAS 的成功应用必须借助 Agent 的应用方法, 即 AOP 以及 AOP 开 发工具或平台。 其中, 面向 Agent 的程序设计技术(Agent-Oriented Programming, 简写为 AOP) 来源于 OOP (Object-Oriented Programming面向对象的程序设计), 从工

12、程学的角度来看, AOP 可以看成是 OOP 的一个特例。AOP 最早是由 Shoham 在 1993 年提出,他认为 AOP 是一种 以计算的社会观为基础的新型程序设计规范,而 Agent 就是包含了信念、承诺、能力和决定 等精神状态的实体。Shoham 定义了一种形式化语言来描述 Agent 的精神状态,同时又提出 了一种对应的 Agent 程序设计语言 Agent,为 Agent 通讯提供了更为丰富的机制7。 AOP 有两个显著的优点 c: 首先,AOP 给我们提供了一个熟悉的、无需很多技术的方式来处理复杂的智能系统。 在 AOP 中,一些认知学名词,如信念、愿望、意图,是其基本的组成部

13、分。 其次,AOP 使用的是非过程性的语言。非过程性程序设计语言的目的就在于减轻程序 控制方面的任务,它只要求在系统中定义一个目标,然后由系统内置的控制机制来实现。通 过这种方式,AOP 大大减轻了程序设计者的设计难度和工作量。 而 AOP 使用的编程语言,则需要满足以下几个要求8:(1)面向对象;(2)平台独立性; (3)通信能力;(4)安全;依据这一标准,用面向对象语言(如 Java 或 C+)更容易构造 Agent, 而过程性语言(如 Pascal, C, Prolog 等)在这方面能力较弱。 而 Agent 的概念与对象的概念较为 相似,都由属性和方法构成,都可使用典型的 OO 概念,

14、如继承、封装、多态等。由于 AOP 还处于起步阶段,尚不成熟。因此,面向对象开发方法与基于 Agent 的建模开发方法有着紧 密的联系。 5 基于基于 Agent 的模型开发的模型开发 5.1 模型分析模型分析 本文使用的模型是一个仿真的房屋租赁市场模型。模型假设有 m 位租客和 n 位房东参 与市场上的房屋租赁过程。具体运作规则如下: 每一位租客至多租赁一个套房单元; 每位租客都有各自不同的保留价格(reservation price),也就是租赁房屋时愿意付出 的最高价格; 每位房东都只有一个套间单元可供出租; 房东对自己的套房也有不同的保留价格, 即出租房屋时能够接受的最低价格。 可以认

15、 为是房东保持房间的边际成本(marginal cost); 所有的套房原则上都是等价的, 不同之处在于房东为了保持房间所花费的边际成本不 同; 租客与房东的某次讨价还价过程是不能预留的。交易机会一旦错过就不能返回。这 就是说,某租客先遇到房东 A,由于对讨价还价的最终价格不满意而放弃了与房东 A 交易。 再遇到房东 B 后发现最终的议价还是不满意,就算他与 B 的议价明显低于 A,他也不能再 返回来租 A 的房间。因为他总有一种信念,后面还会遇到使他盈利最大的租赁交易。除非 他与所有除了 A 以外的房间尚未租出(在他们相遇时)的房东都没有达成交易,而这时 A -4- 中国中国科技论文在线科技

16、论文在线 也尚未租出房间,那么他们还有交易的机会。 直到所有有可能发生的交易都没有了,这个仿真的市场才能中止运行; 最后一点,对交易记录进行存储。 租客与房东 Agent 选择交易对象的顺序特别重要,该仿真模型认为各不同类别的 Agent 的相遇都是随机的。 当租客与房东相遇时, 他们会通过对当前的套间单元双方轮流出价来确 定成交价格。这是一个博弈的过程。每位租客和房东除了有各自的保留价格以外,还拥有各 自的期望盈利(expected surplus)。期望盈利来自未来的交易机会,是未来最理想的交易价 格与保留价格的差值。经相关学者研究,经过一番讨价还价,最后的成交价格应该按照房东 与租客各自的期望盈利分配给他们相等盈利,成交价格公式如下: 2 , jjiRi ji LEBPLREBP P + = 公式(1) 其中 Pi, j 指的是第 i 个租客和第 j 个房东之间的交易价格;PRi 和 PLj 分别指的是第 i 个租客和第 j 个房东的保留价格;REB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号