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