关于多Agent系统的研究.docx

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
-- - 简介 在软件工程领域, 多代理系统是比较常见的一个研究课题, 尤其是在分布式, 开放式的网络 环境中, 多代理系统有很多的优势。 所谓多代理系统是指一个由多个自治运行的 Agent 组成 的集体 .在开放分布式网络环境中 Agent 是一个抽象实体 .它是自治的可以对自身环境、操作 环境和环境变化采取行动,一个系统中一般有多个 IntelligentAgent 这样的系统就称为多 Agent 系统 .多 Agent 系统必须找出一种使各个 Agent 能够协同工作的适当方法。 依据这些理 论基础建立起来的系统均称为多 Agent 系统 ,即 MAS. 最近研究的东西就是使用多代理的方法, 对在线网络拍卖进行欺诈检测。 在线拍卖的一个很 重要的特点就是其隐蔽性。 每个竞标者可以很轻松的拥有很多的拍卖的账号, 进行欺诈性投 标,进而达到 inflate 成交价格的目的。当然了,对于欺诈投标有很多策略,想了解更多关 于欺诈投标的特点, 方法,可以参考我的一片会议论文A real-time Monitoring Framework for Online Auction Frauds ,这是跟我的研究生导师 Dr. Samira Sadaoui 合作发表的一片论文。 写该系列博客的主要目的是,关于多代理系统( multi-agent )的实现,资料很少,并且,德 国人开发的一个框架 Jadex 学习起来成本很高,可以提供的 API 很少,并且都是英文的, 理 解起来有一定的难度。 为了能够尽快完成研究生的毕业设计, 也为了能够给大家提供一些学 习的资源, 就把学习 Jadex 的过程以及部分资料进行翻译, 希望会对国内的相同研究方向的 学生,学者有一定的帮助。 我所使用的 Jadex 是 Jadex BDI V3 ,纯 Java 实现,没有使用 XML 。后面慢慢会引入一点关 于下一篇论文的一些 Implementation 的核心。 2. 大笔一挥, Helloworld 首先 Jadex 的启动问题, 相信只要能够懂一点 Eclipse 使用,并且懂一点英文的都可以做到。 按照手册《 BDI V3 Tutorial 》上的步骤,就可以直接启动。 1. 创建第一个 Agent ,简单来说就是 Helloworld 创建 Agent 的方法很简单,新建一个 java 文件,然后命名为 *BDI.java, 注意:命名的结尾要 以 BDI 结束,这表示你的多代理系统能够认识这个文件为 BDI Agent ,其他的文件命名是不 被接受的。接下来,就是键入如下的代码: package a1; import jadex.bdiv3.BDIAgent; import jadex.micro.annotation.Agent; import jadex.micro.annotation.AgentBody; import jadex.micro.annotation.Description; @Agent @Description publicclass  ( h1Hello, Jadex!!!/h1 AucControllerBDI {  ) @Agent protected BDIAgent agent; @AgentBody publicvoid body(){ System.out.println(  Hello, Jadex  ); } } 启动  Agent ,你会看见控制台输出:  Hello, Jadex.  说明,一切万事大吉, 你已经踏入了,  Jadex 大门了。恭喜恭喜!!!! 3. 使用 Plan 在 Jadex 中, Plans 起着很重要的作用,因为  Plan 封装了很多的状态(下面会介绍)。  Plan 的使用包括两个方面:  @Plan 说明了  Plan 的元信息已经被定义了,从此以后这个就是  Plan 了,像是宣誓主权一样。那么,这个  @Plan 就已经定义了很多的属性,比如  Plan 被激活的 条件或者与其他  Plan 之间的关系。另外一方面就是  Plan 的  body 部分,主要包含具体的实 现部分。 首先, Plan 在 Multi-Agent 中,有三种形式:可以定义成成员方法,内部类,以及类。关于 这三种的优劣势,下面会通过代码进行说明。 如果 Plan 来驱动 events 和 goals,我们可以在 Plan 的头部进行说明, 进而使这个 Agent 知道, 这个  Plan 能够处理的  events。这样的话,当这个  Agent  收到来自于其他的  Agent  的  events 时候,就可以创建自己的 

文档评论(0)

bcll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档