計算機畢業(yè)論文:ML在多Agent系統(tǒng)中的應(yīng)用
時間:2022-10-08 03:57:00
導(dǎo)語:計算機畢業(yè)論文:ML在多Agent系統(tǒng)中的應(yīng)用一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要文章探討了Xml在多agent系統(tǒng)中的應(yīng)用。利用Java實現(xiàn)包含XML對象的Agent稱為XMLAgent,它允許應(yīng)用程序接收、發(fā)送和攜帶XML文檔,可以將邏輯和數(shù)據(jù)封裝在一起從一個節(jié)點移動到另一個節(jié)點,XMLAgent能夠智能地保存、查詢、交換信息。它為解決Agent間的通信提供了一種新的思路。
關(guān)鍵詞AgentXMLJava
近年來,人們對多Agent系統(tǒng)的研究正越來越深入,已開始利用多Agent系統(tǒng)構(gòu)建智能搜索引擎和靈活的電子商務(wù)系統(tǒng)。其中,如何有效地提高Agent間的協(xié)作和通信是系統(tǒng)的一個難點。
1Agent理論
和GUI技術(shù)一樣,Agent技術(shù)的應(yīng)用將會十分普遍,如今它正日益引起人們的研究興趣。簡單地講,Agent可被看成是運行在計算機上的一個軟件程序。它具有以下幾方面的特征:
?Agent是一類自治實體。
一個自治實體的計算機程序是指它能依據(jù)自己的規(guī)則運行,并能初始化自身的操作。
?Agent具有通信的能力。
Agent之間應(yīng)能互相通信,發(fā)送信息。
?Agent具有目標(biāo)和意圖。
Agent具有一定的功能。因此,它具有實現(xiàn)的目標(biāo),在這個意義上,它具有實現(xiàn)其目標(biāo)的意圖。
?Agent具有知識。
Agent為了實現(xiàn)目標(biāo),它必須具備實現(xiàn)自身目標(biāo)的一些知識。
?Agent具有智能。
Agent具有一定的智能,能自主地適應(yīng)環(huán)境的變化,通過學(xué)習(xí)來提高自身能力。
2XMLAgent
XML以其良好的數(shù)據(jù)存儲格式、可擴展性、高度結(jié)構(gòu)化、便于網(wǎng)絡(luò)傳輸?shù)忍攸c,已經(jīng)被業(yè)界倡導(dǎo)作為電子商務(wù)的通用描述語言。XML提供了豐富的語法來存儲數(shù)據(jù)、攜帶數(shù)據(jù)和交換數(shù)據(jù),能方便地在獨立的平臺之間交換數(shù)據(jù)和針對特定的應(yīng)用定義自己的標(biāo)記語言。
在Java2平臺里,增加了處理XML文檔的API函數(shù)—CommonDOMAPI和SimpleAPIForXMLParsing(SAX)等,它符合W3C提供的文檔對象模型(DOM—DocumentObjectModel)等接口規(guī)范。
因為Java的安全性和可移植性,Java簡化了Agent的開發(fā),Java字節(jié)碼能夠在任何具有Java虛擬機的硬件環(huán)境和操作系統(tǒng)平臺上運行。
Agent采用Java實現(xiàn)并且包含XML對象因此稱為XMLagent。它具有以下特征:智能性,通用、簡單的數(shù)據(jù)交換等。XMLAgent將邏輯和數(shù)據(jù)封裝在一起,在網(wǎng)絡(luò)間移動,能在具有Java運行環(huán)境的目的節(jié)點直接處理。
3分布式多Agent系統(tǒng)的結(jié)構(gòu)
根據(jù)其是否移動,XMLAgent可簡單地分為:移動XMLAgent,固定XMLAgent(本地和遠(yuǎn)程)。Java包包含很多類,我們可以對其進行擴展增加Agent通信時的智能性。
在分布式系統(tǒng)中,應(yīng)用程序分布于網(wǎng)絡(luò)的不同計算機上。當(dāng)Agent移動到目的節(jié)點時,它會攜帶自身的程序、數(shù)據(jù)和狀態(tài)一起移動,這是與CORBA、DCOM等分布式計算解決方案的主要區(qū)別。CORBA和DCOM提供了分布式對象相互通信的方法標(biāo)準(zhǔn),規(guī)定了組件和應(yīng)用程序如何建立在一個分布的有組織的體系結(jié)構(gòu)里,依據(jù)其標(biāo)準(zhǔn)能構(gòu)建復(fù)雜的分布對象應(yīng)用。將這些標(biāo)準(zhǔn)與XMLAgent結(jié)合起來,在具體的開發(fā)中將十分有用。
3.1系統(tǒng)的描述
在多Agent系統(tǒng)中,我們采用FIPAACL通信語言。為了實現(xiàn)Agent間的協(xié)作,我們使用XML來對Agent請求、提供的服務(wù)進行描述。分布式多Agent系統(tǒng)的結(jié)構(gòu)如圖1所示:
圖1分布式多Agent系統(tǒng)的結(jié)構(gòu)
用戶通過接口Agent能夠進行注冊,給出反饋,查看信息,創(chuàng)建Agent,查看結(jié)果以及系統(tǒng)的狀態(tài)、性能等。通過調(diào)度Agent通過AgentServer選擇合適的Agent執(zhí)行服務(wù)請求。DBAgent能夠從數(shù)據(jù)庫中接收具體的控制信息。
固定Agent(DBAgent)管理各數(shù)據(jù)庫的狀態(tài),當(dāng)需要時就調(diào)用它們。固定Agent接收和轉(zhuǎn)換來自于移動Agent的請求。我們可以認(rèn)為固定Agent涉及各數(shù)據(jù)庫的本地字典,而移動Agent涉及到了全局字典。這樣,固定Agent通過接收、執(zhí)行移動Agent傳送過來的請求最終完成應(yīng)用程序之間的協(xié)作。移動Agent從一個節(jié)點移動到另一個節(jié)點,通過與固定Agent交換信息(發(fā)送和接收XML信息),實現(xiàn)服務(wù)請求。固定Agent和移動Agent都是用包含XML對象的Java實現(xiàn)的,即所謂的XMLAgent。
3.2通信框架
在多Agent系統(tǒng)中,Agent間的通信采用ACL通信語言。我們使用多層的ACL通信語言:一個外部的“Agent交互協(xié)議”AIP層和一個內(nèi)部的內(nèi)容體層。AIP層提供了一個可擴展的原語集,它能控制Agent間的基本交互。另外,原語集并非閉集,實際應(yīng)用中設(shè)計者能對其進行擴展以滿足通信的能力。為了實現(xiàn)目標(biāo),我們可使用如下原語,如表1所示:
Requiredperformatives:RequestReplyError
Additionalperformatives:InformFailureUnderstand
表1原語
AIP描述Agent的交互過程,如信息的交換過程,它允許通過不同的系統(tǒng)組件解決問題。每個AIP組件既能進行全局處理也能進行局部處理。移動Agent檢索可用的應(yīng)用程序來執(zhí)行服務(wù),當(dāng)初始服務(wù)失敗時,它應(yīng)能提供必要的反饋結(jié)果。它攜帶自身的程序,數(shù)據(jù)與本地的應(yīng)用程序通信。而本地處理的過程是由固定Agent以分布的方式實現(xiàn)的。因此,全局問題的解決過程和本地問題的解決過程是可以相互獨立修改的。
在應(yīng)用中,我們首先根據(jù)需要使用DTD(文檔類型定義)定義Agent通信信息的XML文檔模板,然后將具體的XML文檔嵌入到FIPA-ACL框架的內(nèi)容體中,ACL可被稱為XML-ACL。
由于XML描述數(shù)據(jù)和元數(shù)據(jù)的能力,Agent能夠十分容易地理解基于XML的描述信息。FIPAXML-ACL格式請求信息的例子如下:
(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)和方法都是為了解決分布對象應(yīng)用問題的,能確保應(yīng)用程序交換數(shù)據(jù)并能跨平臺的遠(yuǎn)程調(diào)用。
把這些標(biāo)準(zhǔn)和XMLAgent技術(shù)結(jié)合起來,將極大地提高系統(tǒng)的可擴展性和智能性。
4結(jié)論
隨著分布式應(yīng)用程序的增多和Agent技術(shù)的興起,人們研究的難點大多集中于應(yīng)用程序的交互和Agent間的協(xié)作上,我們探討了XML在多Agent系統(tǒng)中的應(yīng)用,為解決此問題提供了新的思路。
5參考文獻
[1]FIPA.FIPAInteractionProtocolLibrarySpecification./specs/fipa00025/XC00025D.html[J/OL],2001
[2]殷兆麟等.Java網(wǎng)絡(luò)編程[M].國防工業(yè)出版社,2001
[3]FIPA.FIPAACLMessageStructureSpecification./specs/fipa00061/[J/OL],2001
[4]DistributedCommonObjectModel
,2002
[5]黃理,曹林有等.全面引爆XSP網(wǎng)站開發(fā)——XSP/Cocoon/XML核心技術(shù)內(nèi)幕[M].北京希望電子出版社,2002.