关于多Agent系统的研究剖析.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 简介 在软件工程领域,多代理系统是比较常见的一个研究课题,尤其是在分布式,开放式的网络环境中,多代理系统有很多的优势。所谓多代理系统是指一个由多个自治运行的Agent组成的集体.在开放分布式网络环境中Agent是一个抽象实体.它是自治的可以对自身环境、操作环境和环境变化采取行动,一个系统中一般有多个IntelligentAgent这样的系统就称为多Agent系统.多Agent系统必须找出一种使各个Agent能够协同工作的适当方法。依据这些理论基础建立起来的系统均称为多Agent系统,即MAS.? 最近研究的东西就是使用多代理的方法,对在线网络拍卖进行欺诈检测。在线拍卖的一个很重要的特点就是其隐蔽性。每个竞标者可以很轻松的拥有很多的拍卖的账号,进行欺诈性投标,进而达到inflate成交价格的目的。当然了,对于欺诈投标有很多策略,想了解更多关于欺诈投标的特点,方法,可以参考我的一片会议论文 HYPERLINK /chapter/10.1007/978-3-319-19066-2_10 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(h1Hello, Jadex!!!/h1) public class AucControllerBDI { @Agent protected BDIAgent agent; @AgentBody public void 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时候,就可以创建自己的Plan表或者候选Plan来处理该events。? 通常情况下,一个Plan会处于等待状态,直到某个状态被执行完毕。这样的话,一个Plan就可以使用Plan API的waitFor()方法。作为一个对象的Plan API能够有两种方法被检索到:1,在P

文档评论(0)

糖糖 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档