計(jì)算機(jī)畢業(yè)論文:ML在多Agent系統(tǒng)中的應(yīng)用

時(shí)間:2022-10-08 03:57:00

導(dǎo)語(yǔ):計(jì)算機(jī)畢業(yè)論文:ML在多Agent系統(tǒng)中的應(yīng)用一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢(xún)客服老師,歡迎參考。

摘要文章探討了Xml在多agent系統(tǒng)中的應(yīng)用。利用Java實(shí)現(xiàn)包含XML對(duì)象的Agent稱(chēng)為XMLAgent,它允許應(yīng)用程序接收、發(fā)送和攜帶XML文檔,可以將邏輯和數(shù)據(jù)封裝在一起從一個(gè)節(jié)點(diǎn)移動(dòng)到另一個(gè)節(jié)點(diǎn),XMLAgent能夠智能地保存、查詢(xún)、交換信息。它為解決Agent間的通信提供了一種新的思路。

關(guān)鍵詞AgentXMLJava

近年來(lái),人們對(duì)多Agent系統(tǒng)的研究正越來(lái)越深入,已開(kāi)始利用多Agent系統(tǒng)構(gòu)建智能搜索引擎和靈活的電子商務(wù)系統(tǒng)。其中,如何有效地提高Agent間的協(xié)作和通信是系統(tǒng)的一個(gè)難點(diǎn)。

1Agent理論

和GUI技術(shù)一樣,Agent技術(shù)的應(yīng)用將會(huì)十分普遍,如今它正日益引起人們的研究興趣。簡(jiǎn)單地講,Agent可被看成是運(yùn)行在計(jì)算機(jī)上的一個(gè)軟件程序。它具有以下幾方面的特征:

?Agent是一類(lèi)自治實(shí)體。

一個(gè)自治實(shí)體的計(jì)算機(jī)程序是指它能依據(jù)自己的規(guī)則運(yùn)行,并能初始化自身的操作。

?Agent具有通信的能力。

Agent之間應(yīng)能互相通信,發(fā)送信息。

?Agent具有目標(biāo)和意圖。

Agent具有一定的功能。因此,它具有實(shí)現(xiàn)的目標(biāo),在這個(gè)意義上,它具有實(shí)現(xiàn)其目標(biāo)的意圖。

?Agent具有知識(shí)。

Agent為了實(shí)現(xiàn)目標(biāo),它必須具備實(shí)現(xiàn)自身目標(biāo)的一些知識(shí)。

?Agent具有智能。

Agent具有一定的智能,能自主地適應(yīng)環(huán)境的變化,通過(guò)學(xué)習(xí)來(lái)提高自身能力。

2XMLAgent

XML以其良好的數(shù)據(jù)存儲(chǔ)格式、可擴(kuò)展性、高度結(jié)構(gòu)化、便于網(wǎng)絡(luò)傳輸?shù)忍攸c(diǎn),已經(jīng)被業(yè)界倡導(dǎo)作為電子商務(wù)的通用描述語(yǔ)言。XML提供了豐富的語(yǔ)法來(lái)存儲(chǔ)數(shù)據(jù)、攜帶數(shù)據(jù)和交換數(shù)據(jù),能方便地在獨(dú)立的平臺(tái)之間交換數(shù)據(jù)和針對(duì)特定的應(yīng)用定義自己的標(biāo)記語(yǔ)言。

在Java2平臺(tái)里,增加了處理XML文檔的API函數(shù)—CommonDOMAPI和SimpleAPIForXMLParsing(SAX)等,它符合W3C提供的文檔對(duì)象模型(DOM—DocumentObjectModel)等接口規(guī)范。

因?yàn)镴ava的安全性和可移植性,Java簡(jiǎn)化了Agent的開(kāi)發(fā),Java字節(jié)碼能夠在任何具有Java虛擬機(jī)的硬件環(huán)境和操作系統(tǒng)平臺(tái)上運(yùn)行。

Agent采用Java實(shí)現(xiàn)并且包含XML對(duì)象因此稱(chēng)為XMLagent。它具有以下特征:智能性,通用、簡(jiǎn)單的數(shù)據(jù)交換等。XMLAgent將邏輯和數(shù)據(jù)封裝在一起,在網(wǎng)絡(luò)間移動(dòng),能在具有Java運(yùn)行環(huán)境的目的節(jié)點(diǎn)直接處理。

3分布式多Agent系統(tǒng)的結(jié)構(gòu)

根據(jù)其是否移動(dòng),XMLAgent可簡(jiǎn)單地分為:移動(dòng)XMLAgent,固定XMLAgent(本地和遠(yuǎn)程)。Java包包含很多類(lèi),我們可以對(duì)其進(jìn)行擴(kuò)展增加Agent通信時(shí)的智能性。

在分布式系統(tǒng)中,應(yīng)用程序分布于網(wǎng)絡(luò)的不同計(jì)算機(jī)上。當(dāng)Agent移動(dòng)到目的節(jié)點(diǎn)時(shí),它會(huì)攜帶自身的程序、數(shù)據(jù)和狀態(tài)一起移動(dòng),這是與CORBA、DCOM等分布式計(jì)算解決方案的主要區(qū)別。CORBA和DCOM提供了分布式對(duì)象相互通信的方法標(biāo)準(zhǔn),規(guī)定了組件和應(yīng)用程序如何建立在一個(gè)分布的有組織的體系結(jié)構(gòu)里,依據(jù)其標(biāo)準(zhǔn)能構(gòu)建復(fù)雜的分布對(duì)象應(yīng)用。將這些標(biāo)準(zhǔn)與XMLAgent結(jié)合起來(lái),在具體的開(kāi)發(fā)中將十分有用。

3.1系統(tǒng)的描述

在多Agent系統(tǒng)中,我們采用FIPAACL通信語(yǔ)言。為了實(shí)現(xiàn)Agent間的協(xié)作,我們使用XML來(lái)對(duì)Agent請(qǐng)求、提供的服務(wù)進(jìn)行描述。分布式多Agent系統(tǒng)的結(jié)構(gòu)如圖1所示:

圖1分布式多Agent系統(tǒng)的結(jié)構(gòu)

用戶(hù)通過(guò)接口Agent能夠進(jìn)行注冊(cè),給出反饋,查看信息,創(chuàng)建Agent,查看結(jié)果以及系統(tǒng)的狀態(tài)、性能等。通過(guò)調(diào)度Agent通過(guò)AgentServer選擇合適的Agent執(zhí)行服務(wù)請(qǐng)求。DBAgent能夠從數(shù)據(jù)庫(kù)中接收具體的控制信息。

固定Agent(DBAgent)管理各數(shù)據(jù)庫(kù)的狀態(tài),當(dāng)需要時(shí)就調(diào)用它們。固定Agent接收和轉(zhuǎn)換來(lái)自于移動(dòng)Agent的請(qǐng)求。我們可以認(rèn)為固定Agent涉及各數(shù)據(jù)庫(kù)的本地字典,而移動(dòng)Agent涉及到了全局字典。這樣,固定Agent通過(guò)接收、執(zhí)行移動(dòng)Agent傳送過(guò)來(lái)的請(qǐng)求最終完成應(yīng)用程序之間的協(xié)作。移動(dòng)Agent從一個(gè)節(jié)點(diǎn)移動(dòng)到另一個(gè)節(jié)點(diǎn),通過(guò)與固定Agent交換信息(發(fā)送和接收XML信息),實(shí)現(xiàn)服務(wù)請(qǐng)求。固定Agent和移動(dòng)Agent都是用包含XML對(duì)象的Java實(shí)現(xiàn)的,即所謂的XMLAgent。

3.2通信框架

在多Agent系統(tǒng)中,Agent間的通信采用ACL通信語(yǔ)言。我們使用多層的ACL通信語(yǔ)言:一個(gè)外部的“Agent交互協(xié)議”AIP層和一個(gè)內(nèi)部的內(nèi)容體層。AIP層提供了一個(gè)可擴(kuò)展的原語(yǔ)集,它能控制Agent間的基本交互。另外,原語(yǔ)集并非閉集,實(shí)際應(yīng)用中設(shè)計(jì)者能對(duì)其進(jìn)行擴(kuò)展以滿(mǎn)足通信的能力。為了實(shí)現(xiàn)目標(biāo),我們可使用如下原語(yǔ),如表1所示:

Requiredperformatives:RequestReplyError

Additionalperformatives:InformFailureUnderstand

表1原語(yǔ)

AIP描述Agent的交互過(guò)程,如信息的交換過(guò)程,它允許通過(guò)不同的系統(tǒng)組件解決問(wèn)題。每個(gè)AIP組件既能進(jìn)行全局處理也能進(jìn)行局部處理。移動(dòng)Agent檢索可用的應(yīng)用程序來(lái)執(zhí)行服務(wù),當(dāng)初始服務(wù)失敗時(shí),它應(yīng)能提供必要的反饋結(jié)果。它攜帶自身的程序,數(shù)據(jù)與本地的應(yīng)用程序通信。而本地處理的過(guò)程是由固定Agent以分布的方式實(shí)現(xiàn)的。因此,全局問(wèn)題的解決過(guò)程和本地問(wèn)題的解決過(guò)程是可以相互獨(dú)立修改的。

在應(yīng)用中,我們首先根據(jù)需要使用DTD(文檔類(lèi)型定義)定義Agent通信信息的XML文檔模板,然后將具體的XML文檔嵌入到FIPA-ACL框架的內(nèi)容體中,ACL可被稱(chēng)為XML-ACL。

由于XML描述數(shù)據(jù)和元數(shù)據(jù)的能力,Agent能夠十分容易地理解基于XML的描述信息。FIPAXML-ACL格式請(qǐng)求信息的例子如下:

(request

:senderMobileAgent

:receiverStaticAgent

:languageXML

:interaction-protocolagent-request

:ontologyagent-management-ontology

:content<?xmlversion=”1.0”>

<action>register</action>

<actor>StaticAgent</actor>

<args>null</args>

<protocol>Request-inform</protocol>

<reply-with>Hello!</reply-with>

<ontology>default</ontology>

)

CORBA,DCOM等標(biāo)準(zhǔn)和方法都是為了解決分布對(duì)象應(yīng)用問(wèn)題的,能確保應(yīng)用程序交換數(shù)據(jù)并能跨平臺(tái)的遠(yuǎn)程調(diào)用。

把這些標(biāo)準(zhǔn)和XMLAgent技術(shù)結(jié)合起來(lái),將極大地提高系統(tǒng)的可擴(kuò)展性和智能性。

4結(jié)論

隨著分布式應(yīng)用程序的增多和Agent技術(shù)的興起,人們研究的難點(diǎn)大多集中于應(yīng)用程序的交互和Agent間的協(xié)作上,我們探討了XML在多Agent系統(tǒng)中的應(yīng)用,為解決此問(wèn)題提供了新的思路。

5參考文獻(xiàn)

[1]FIPA.FIPAInteractionProtocolLibrarySpecification./specs/fipa00025/XC00025D.html[J/OL],2001

[2]殷兆麟等.Java網(wǎng)絡(luò)編程[M].國(guó)防工業(yè)出版社,2001

[3]FIPA.FIPAACLMessageStructureSpecification./specs/fipa00061/[J/OL],2001

[4]DistributedCommonObjectModel

,2002

[5]黃理,曹林有等.全面引爆XSP網(wǎng)站開(kāi)發(fā)——XSP/Cocoon/XML核心技術(shù)內(nèi)幕[M].北京希望電子出版社,2002.