国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于JADE和Jess的智能agent系統(tǒng)開發(fā)

2014-10-20 06:04:54張冉林杰
電腦知識與技術(shù) 2014年25期

張冉 林杰

摘要:多agent技術(shù)在復(fù)雜建模領(lǐng)域具有優(yōu)勢,是當(dāng)前研究的一個熱點。但對于普通研究者來說,從底層開發(fā)多agent系統(tǒng)具有復(fù)雜性。因此,該文分析了多agent系統(tǒng)的分析和設(shè)計過程,討論了以JADE為開發(fā)工具的多agent系統(tǒng)開發(fā)步驟,并設(shè)計了基于Jess的知識推理流程,增強了agent智能性。對基于JADE和Jess的智能agent系統(tǒng)的開發(fā)過程進行了研究。

關(guān)鍵詞:智能agent; 多agent系統(tǒng); JADE; Jess

中圖分類號: TP391 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)25-5955-03

Developing Intelligent Agent System with JADE and Jess

ZHANG Ran1,2, LIN Jie1

(1.School of Economic and Management, Tongji University, Shanghai 201804, China; 2.School of Statistics and Information, Xinjiang University of Finance and Economics, Urumqi 830012, China)

Abstract: Due to developing multi-agent system from the bottom has been a very challenging task. This paper studied the development of intelligent agent system with JADE and Jess. Firstly, the analysis and design of the multi-agent system is described; then, the development steps of the multi-agent system with JADE are presented; finally, knowledge inference process with Jess is designed to enhance the intelligence of agent.

Key words: Intelligent agent; Multi-agent system; JADE; Jess

agent作為分布式人工智能概念模型,具有自己行為、目標(biāo)和知識,是能感知環(huán)境[1]并在一定環(huán)境下自主運行的實體,具有主動性、獨立性、反應(yīng)性、交互性等特點[2]。多個agent 通過協(xié)同機制構(gòu)成多agent系統(tǒng)(Multi-Agent System,MAS)[3],對每個agent的目標(biāo)、資源和知識等進行合理安排, 通過相互協(xié)同和協(xié)作,每個agent都能獨立地運行,在實現(xiàn)各自的目標(biāo)基礎(chǔ)上,完成單個agent無法完成的復(fù)雜任務(wù)[4], 從而可對復(fù)雜系統(tǒng)進行建模。

1 系統(tǒng)開發(fā)工具介紹

JADE (Java Agent DEvelopment Framework) [5]是一個用Java語言寫成遵照FIPA定義的MAS開發(fā)框架,它包括一個agent 賴以生存的運行環(huán)境,開發(fā)agent應(yīng)用的類庫和用來調(diào)試和配置的一套圖形化的工具,簡化了MAS的開發(fā)過程。Jess(Java Expert System Shell)是一個由Java語言實現(xiàn)的專家系統(tǒng)外殼,使用聲明式編程通過一個名為“模式匹配”的過程連續(xù)對事實的集合運用一系列規(guī)則,完成知識的推理。它小巧、靈活,并且是已知規(guī)則引擎中最快的[6]。由于JADE和Jess都是基于java語言的,因此,Jess可以集成為agent的推理組件,增強agent的智能性。

2 多agent系統(tǒng)的分析與設(shè)計

多agent系統(tǒng)的分析與設(shè)計過程如圖1所示主要分為以下3個階段。

1) 分析問題:

該階段主要是明確系統(tǒng)邊界和對用戶的需求進行分析。定義出系統(tǒng)的總目標(biāo)及其各子目標(biāo)之間的層次關(guān)系。

2) agent建模:

該階段主要是根據(jù)系統(tǒng)目標(biāo)和子目標(biāo),設(shè)計各類agent,包括它們的屬性和任務(wù),并定義這些agent之間的交互關(guān)系。

3) 建立多agent系統(tǒng)平臺:

該階段主要是創(chuàng)建設(shè)計好的agent,實現(xiàn)它們的屬性和任務(wù),并對它們之間的交互進行控制和協(xié)調(diào),完成各自的目標(biāo)和系統(tǒng)的總目標(biāo)。

3 基于JADE的多agent系統(tǒng)開發(fā)

JADE提供了遵照FIPA規(guī)范的agent開發(fā)平臺和開發(fā)agent的軟件包。主要包括agent管理系統(tǒng)(AMS)和目錄服務(wù)(DF)兩類特殊的agent,以及一個消息傳輸系統(tǒng)(MTS)[5],為供應(yīng)鏈建模層提供agent的通信和管理等基本服務(wù)。使用JADE開發(fā)MAS主要分為以下幾步:

1) 創(chuàng)建agent:使用JADE創(chuàng)建agent,只需要定義一個從jade.core.Agent類繼承的類即可,然后由JADE平臺實時進行實例化,agent之間的引用從不在agent外部公開,它們之間通過傳遞消息來進行交互。每個agent實例通過agent標(biāo)識符進行識別,格式為@。

2) 定義agent任務(wù):在JADE中,agent的任務(wù)使用行為(Behaviours)來表示的,它通過一個繼承jade.core.behaviour類的對象來實現(xiàn)。為了讓agent執(zhí)行由行為對象表示的任務(wù),必須使用agent類的addBehaviour()方法將行為添加到agent上。

3) agent的搜索:JADE平臺提供了黃頁服務(wù),允許agent發(fā)布它提供的一個或多個功能,以便其它agent可以動態(tài)的發(fā)現(xiàn)和使用它們。在JADE中,由稱為DF的agent提供黃頁服務(wù),遵守FIPA中的管理規(guī)范。

4) agent的通訊:JADE中的agent通訊是遵從FIPA標(biāo)準(zhǔn),基于異步消息模式傳遞的。實時運行環(huán)境中傳遞的消息會先存放到agent的消息隊列中,然后按照agent開發(fā)者的設(shè)計進行處理。JADE中的消息作為jade.lang.acl.ACLMessage類的一個對象,提供get方法和set方法訪問ACL格式制定的所有字段。

4 基于JADE和Jess的agent知識規(guī)則集成

4.1 知識的推理流程

集成了Jess之后,agent知識推理流程如圖2所示,主要過程如下:

1) 知識推理部件首先對Jess環(huán)境下的推理引擎進行一些初始化的工作,例如set_templates、set_rules等。

2) 在仿真的過程中agent的決策函數(shù)遇到?jīng)Q策問題時會向知識推理部件發(fā)送決策請求消息,這些請求消息里包含實時的決策參數(shù)。知識推理部件收到這些消息后,會把決策參數(shù)封裝成特定的事實集,并通過set_facts方法向推理引擎發(fā)送,也就是在Jess的工作內(nèi)存中聲明事實。

3) 知識推理部件通過Run_engine方法啟動推理引擎,Jess會根據(jù)事實集里的事實調(diào)用規(guī)則進行推理,推理結(jié)束后使用Save_facts方法保存推理結(jié)果。

知識推理部件向決策函數(shù)返回推理結(jié)果(即決策結(jié)果),并使用clean_memory方法清空Jess工作內(nèi)存中的事實集。

4.2 Jess中的知識表達

Jess使用框架和產(chǎn)生式規(guī)則方式表示知識。例如,采購agent采用定量訂貨模型,存儲水平小于等于再訂貨點就生成采購列表。其中,生成采購列表的知識用Jess表示為:

(deftemplate material (slot mid) (slot mip)) ;定義物料存儲信息框架

(deftemplate materialstock (slot mid) (slot rl)) ;定義物料采購參數(shù)框架

(deftemplate buylist (slot mid)) ;定義采購申請列表框架

(defrule buyinform

(materialstock (mid ?mid)(rl ?rl)) ;查詢物料的再訂貨點

(material (mid ?mid)(mip ?mip&:(<= ?mip ?rl)));查詢現(xiàn)貨水平低于再訂貨點的物料編號

=>

(assert (buylist (mid ?mid)));把需要訂貨的物料編號寫入采購列表

...

4.3 Jess的集成

我們可以使用jess.rete包把用Jess寫的規(guī)則嵌入到agent中去,首先創(chuàng)建一個jess.rete類的對象,然后就可以使用executeCommand()、reset()或run()等方法執(zhí)行Jess的推理,agent中的代碼如下:

Rete engine = new Rete(this);

engine.executeCommand("(batch \"" + rulesFile + "\")");

engine.reset();

if (new File(factsFile).exists())

engine.executeCommand("(load-facts \"" + factsFile + "\")");

...

5 結(jié)論

本對智能agent系統(tǒng)的開發(fā)進行了討論。通過分析問題和agent建模之后,研究者可以使用JADE簡化多agent系統(tǒng)的開發(fā)過程,同時,agent中集成基于Jess的知識規(guī)則,可以提升多agent系統(tǒng)的智能性。

參考文獻:

[1] Russell S,Norvig P,Canny J,Malik J,Edwards D.Artificial intelligence: a modern approach[M].New Jersey: Pearson Education,2010.

[2] 屈正庚.網(wǎng)絡(luò)交易中多Agent協(xié)商策略的研究[J].計算機技術(shù)與發(fā)展,2014(2):111-114,119.

[3] Vila X,Schuster A,Riera A.Security for a Multi-Agent System based on JADE [J].Computers & Security, 2007(5):391-400.

[4] 鄧寒冰,張霞,劉積仁.效用驅(qū)動的多agent合作機制[J].通信學(xué)報,2013(7):124-133,142.

[5] Fabio Bellifemine,Giovanni Caire,Dominic Greenwood.Developing multi-agent systems with JADE [M]. USA: John Wiley & Sons Ltd,2007.

[6] FRIEDMAN-HILL E. JESS in Action [M].Greenwich,CT:Manning,2003.

武穴市| 泊头市| 宁海县| 诸城市| 安福县| 兴安盟| 资阳市| 汝阳县| 馆陶县| 得荣县| 屏东县| 义乌市| 湘乡市| 城步| 句容市| 通许县| 都江堰市| 晋宁县| 吉木萨尔县| 济南市| 马鞍山市| 明光市| 北票市| 内丘县| 顺平县| 榆中县| 申扎县| 建瓯市| 库车县| 京山县| 二连浩特市| 扎囊县| 石楼县| 龙口市| 曲水县| 东明县| 玉林市| 罗江县| 东安县| 梅州市| 威海市|