freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

有關(guān)多agent系統(tǒng)的分析-資料下載頁

2025-06-24 02:30本頁面
  

【正文】 如果有需要的話,可以進(jìn)一步的學(xué)習(xí)。關(guān)于maintaingoal的用法,這里也不再多做介紹??偨Y(jié):關(guān)于goal的用法,其實(shí)就是使用內(nèi)部類。單獨(dú)的一個(gè)外部類,作為goal來使用,不是很常見的。可能會(huì)根據(jù)接觸的項(xiàng)目大小,用到的知識可能會(huì)比較多。對于目前我的項(xiàng)目來說,使用goal與不使用goal都是一樣的。只需要Agent和Plans即可。當(dāng)然,也可能是設(shè)計(jì)上有一定的問題,今后對系統(tǒng)進(jìn)行慢慢的改進(jìn)。本篇主要講解一下capability,也就是Agent的重用。1. 簡單介紹重用性是軟件工程領(lǐng)域一個(gè)很重要的特性,一次開發(fā),多處使用。在Jadex中,使用的是BDI capabilities。一個(gè)BDI capability表示為一個(gè)模塊包含beliefs,goals和plans,就像一個(gè)正常的agent一樣。但是不具備單獨(dú)行動(dòng)的能力。使用方法:類。capability實(shí)現(xiàn)重用,那么就應(yīng)該理所當(dāng)然的聲明為一個(gè)單獨(dú)的類。然后作為一個(gè)完整的模塊在agent中使用。2. 代碼實(shí)例首先創(chuàng)建一個(gè)capability文件,命名沒有要求。但是規(guī)范的話,還是在名字之后加上capability,方便區(qū)分。文件名:package a2。import 。import 。import 。import 。import 。import 。import 。import 。import 。@Capabilitypublic class TranslateCapa { @Belief protected MapString, String wordTable。 public TranslateCapa() { // TODO Autogenerated constructor stub = new HashMapString, String()。 (milk, 牛奶)。 (banana, 香蕉)。 (school, 學(xué)校)。 (teacher, 老師)。 (science, 科學(xué))。 } @Goal public class TranslateGoal { @GoalParameter protected String eword。 @GoalResult protected String word。 public TranslateGoal(String eword) { = eword。 } } @Plan(trigger = @Trigger(goals = )) public String translatePlan(String ewordString) { return (ewordString)。 }}然后創(chuàng)建一個(gè)BDI文件,直接把capability嵌入到Agent的一個(gè)成員使用。非常簡單方便。package a2。import 。import 。import 。import 。import 。@Agent@Description(h1Using Capability/h1)public class TranslateBDI { @Agent protected BDIAgent translateAgent。 @Capability protected TranslateCapa capa = new TranslateCapa()。 @AgentBody public void body(){ String eword = teacher。 String word = (String) ( TranslateGoal(eword)).get()。 (翻譯完成: + eword + + word)。 }}總結(jié)一下:capability就是一個(gè)模塊,大家都可以調(diào)用來使用。好處減少了開發(fā)的資源浪費(fèi)。但是需要很好的設(shè)計(jì)基礎(chǔ),才可以使用capability。本篇主要是講解一下,關(guān)于兩個(gè)或者多個(gè)Agent之間,是如何進(jìn)行通信的。1. 簡單介紹對于Agent之間的交互是很有必要得。當(dāng)今社會(huì)沒有任何一件事情可以讓單獨(dú)的個(gè)體來完成。生活在一個(gè)munity環(huán)境里,就需要相互之間的信息傳遞。那么在Jadex中,交互是一種服務(wù),service。而這種service是被定義為接口類型的。具體的交互實(shí)現(xiàn)是需要單獨(dú)來完成。單單理解起來可能還是比較困難的,可以看一下多代理系統(tǒng)的BDI介紹。2. 實(shí)例講解這里主要實(shí)現(xiàn)的是兩個(gè)Agent之間的交互。我們定義一個(gè)用戶Agent,和一個(gè)翻譯Agent。用戶Agent發(fā)出一個(gè)翻譯請求之后,翻譯Agent就會(huì)自動(dòng)查找自己的詞典庫,知道找到相應(yīng)的翻譯結(jié)果之后,返回給用戶Agent,進(jìn)而實(shí)現(xiàn)兩個(gè)Agent之間的交互。首先是接口,長這個(gè)樣:package a3。import 。public interface ITranslateServ { public IFutureString translateEnglishChinese(String ewordString)。}其次是翻譯Agent,長成這個(gè)樣:package a3。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。@Agent@Description(h1This time for munication/h1)@Service@ProvidedServices(@ProvidedService(type = ))public class TranslateBDI implements ITranslateServ { @Agent protected BDIAgent translateAgent。 protected MapString, String wordTable。 @AgentCreated public void init() { = new HashMapString, String()。 (milk, 牛奶)。 (banana, 香蕉)。 (school, 學(xué)校)。 (teacher, 老師)。 (science, 科學(xué))。 } public TranslateBDI() { } @Override public IFutureString translateEnglishChinese(String ewordString) { return new FutureString((ewordString))。 }}最后是用戶Agent,這個(gè)樣子:package a2。import 。import 。import 。import 。import 。import 。import 。import 。import 。import 。@Agent@Description(h1User Agent/h1)public class UserBDI { public UserBDI() { // TODO Autogenerated constructor stub } @Agent protected BDIAgent userAgent。 @AgentBody public void body() { final String eword = teacher。 SServiceProvider .getServices((), , ) .addResultListener( new IntermediateDefaultResultListenerITranslateServ() { public void intermediateResultAvailable( ITranslateServ ts) { (teacher) .addResultListener(new SwingResultListenerString(new IResultListenerString() { public void resultAvailable(String gword) { (翻譯結(jié)果: + eword + + gword)。 } public void exceptionOccurred(Exception exception) { ()。 } }))。 } })。 }}比較晦澀的部分就是用戶agent的代碼,使用了很多Jadex自己內(nèi)部提供的類。封裝完成之后,代碼的長度就成這個(gè)樣子了。最后的最后,雖然只是把簡單的應(yīng)用介紹了一遍,但是還不夠,對于理解多代理的使用還是不夠的。今后的學(xué)習(xí)上,要多總結(jié),才能多進(jìn)步。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1