1. 简介在软件工程领域,多代理系统是比较常见的一个讨论课题,尤其是在分布式,开放式的网络环境中,多代理系统有很多的优势。所谓多代理系统是指一个由多个自治运行的 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;AgentDescription("<...