本站小編為你精心準(zhǔn)備了艦船系統(tǒng)設(shè)計(jì)方法綜述參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
面向智能體的分析設(shè)計(jì)
基于角色的智能體設(shè)計(jì)“面向智能體”是“面向?qū)ο蟆钡倪M(jìn)一步發(fā)展,也是對(duì)真實(shí)世界更自然,更擬人化的建模。從現(xiàn)實(shí)世界中人類、事物和環(huán)境出發(fā),認(rèn)為事物的屬性特別是動(dòng)態(tài)特性在很大程度上受到與其密切相關(guān)的人和環(huán)境的影響,強(qiáng)調(diào)認(rèn)識(shí)、思維與客觀事物及其所處環(huán)境之間的相互作用,將影響事物的主觀與客觀特征相結(jié)合,抽象為系統(tǒng)中的智能體,作為系統(tǒng)的基本構(gòu)成單位,通過智能體之間的合作、競(jìng)爭(zhēng)、協(xié)商來實(shí)現(xiàn)系統(tǒng)的整體目標(biāo)。在智能體生命周期中引入角色概念[12],一個(gè)智能體至少需要扮演一個(gè)角色,但是在其生命周期中,可以根據(jù)不同的環(huán)境情況扮演不同的角色。角色的實(shí)例僅僅存在于同智能體的聯(lián)系中,其生命周期開始于智能體類實(shí)例化的過程中。當(dāng)一個(gè)智能體根據(jù)當(dāng)前需要和一個(gè)角色綁定時(shí),此角色的生命周期就此開始。當(dāng)環(huán)境發(fā)生變化時(shí),該智能體又和另外一個(gè)角色相結(jié)合,則上一個(gè)角色的生命周期就此宣告終結(jié),下一個(gè)角色的生命周期開始。在智能體的生命周期中,智能體會(huì)扮演不同的角色,每個(gè)角色都有自己的執(zhí)行周期,除非發(fā)生異常中止。基于角色的概念,給出一個(gè)某平臺(tái)中的智能體結(jié)構(gòu):智能體從外界獲取消息;然后根據(jù)其目標(biāo)來規(guī)劃選擇一個(gè)角色,對(duì)外進(jìn)行反應(yīng);相應(yīng)角色的方法被激發(fā)來完成對(duì)外界的反應(yīng);智能體的屬性和外界決策將會(huì)根據(jù)行為反饋進(jìn)行調(diào)整。智能體模型的構(gòu)建1)角色模型通過角色模型可以將系統(tǒng)分解成各個(gè)角色模塊以及定義每個(gè)智能體的角色劃分。角色劃分描述了一個(gè)智能體如何被分解成為子模塊,以及這些子模塊組合在一起的方式。每個(gè)角色至少同一個(gè)功能相聯(lián)系,不同的角色承擔(dān)不同的責(zé)任。在大多數(shù)情況下,智能體同角色之間是一一對(duì)應(yīng)的關(guān)系,但是一些緊密相關(guān)的角色為了方便和模塊化,可以封裝到一個(gè)智能體之中。2)交互模型它描述了智能體和角色之間的交互機(jī)制。智能體有一些功能必須通過相互之間的交互才能夠?qū)崿F(xiàn)。通過交互,智能體能夠獲取信息,然后更新內(nèi)部狀態(tài)(信念,目標(biāo)和能力),然后調(diào)整自身來對(duì)外界進(jìn)行反應(yīng)。交互機(jī)制提供了合適的條件來保障智能體之間的交互,這是協(xié)作的基礎(chǔ)。通過交互模型,確定智能體之間的接口,找到和糾正運(yùn)行時(shí)的錯(cuò)誤和潛在的通信瓶頸。這個(gè)模型對(duì)于智能體之間的管理是至關(guān)重要的。3)狀態(tài)模型它提供一種描述智能體內(nèi)部工作流和角色轉(zhuǎn)換機(jī)制的手段。同時(shí),狀態(tài)模型能夠反映出外界事件對(duì)智能體內(nèi)部狀態(tài)所產(chǎn)生的影響。要注意,1個(gè)交互對(duì)應(yīng)于2個(gè)智能體的狀態(tài)轉(zhuǎn)換。每個(gè)狀態(tài)具有輸入,輸出,前提和結(jié)果。智能體的狀態(tài)依賴于它的輸入和前提狀態(tài)。作為對(duì)輸入事件的一個(gè)反應(yīng),智能體根據(jù)當(dāng)前狀態(tài)能夠決定是轉(zhuǎn)到一個(gè)不同的角色還是繼續(xù)保持當(dāng)前狀態(tài)。根據(jù)這些規(guī)則,推導(dǎo)出每個(gè)角色的功能和角色類的繼承框架。
案例設(shè)計(jì)與分析
艦船作戰(zhàn)系統(tǒng)的情景描述通過對(duì)一個(gè)簡(jiǎn)單的試驗(yàn)來詳細(xì)闡明“基于角色的面向智能體”軟件分析方法。案例以“我軍2艘軍艦在追擊敵方1艘軍艦”為背景,分析重點(diǎn)在于艦船作戰(zhàn)系統(tǒng)如何能夠?qū)Ω鞣N情況做出恰當(dāng)?shù)姆磻?yīng),各個(gè)智能體能夠相互協(xié)作,共同完成任務(wù)。作戰(zhàn)情景如圖3所示。我軍的2艘軍艦在一片海域中協(xié)作追擊敵方的1艘艦艇,二者速度基本相同。在規(guī)定的時(shí)間內(nèi),當(dāng)我軍艦只與敵艦在同一個(gè)格子時(shí),表示追上了敵艦,我軍獲勝;否則算敵艦逃走。在這片海域中行進(jìn),需要繞開障礙物,圖中黑色部分代表障礙物,白色部分代表通道,這些信息存儲(chǔ)在代表環(huán)境的一個(gè)矩陣結(jié)構(gòu)中,每個(gè)格子都用一個(gè)類型值來表示障礙或者通道。我軍艦只和敵艦在移動(dòng)位置時(shí),都需要獲取自己周圍方格的類型信息,以判斷能否前進(jìn)。當(dāng)我軍艦只與敵艦之間的距離小于4時(shí),會(huì)相互發(fā)現(xiàn)對(duì)方。當(dāng)我軍的1艘軍艦發(fā)現(xiàn)敵艦時(shí),會(huì)立即通知另1艘軍艦趕來支援。這是一個(gè)明顯的并發(fā)系統(tǒng),我軍與敵人的行動(dòng)同步進(jìn)行,又相互制約,可以按照多智能體系統(tǒng)來進(jìn)行分析建模。每個(gè)智能體都有自己的意愿和行為,有的目的相悖,有的目的相同。由于智能體之間的交互具有不確定性,采用面向?qū)ο蟮姆椒ㄟM(jìn)行分析,艦船作戰(zhàn)系統(tǒng)的結(jié)構(gòu)會(huì)變得十分龐雜,難以控制。采用“面向智能體”的分析設(shè)計(jì),能夠比較清晰地描述出整個(gè)結(jié)構(gòu)框架,而且便于擴(kuò)展。下面就逐一介紹整個(gè)系統(tǒng)的具體分析設(shè)計(jì)流程。可以很清楚地看出智能體的目標(biāo),分解的角色以及每個(gè)角色所實(shí)現(xiàn)的功能。分離出4個(gè)智能體,2個(gè)代表我軍艦只;1個(gè)代表敵艦,1個(gè)代表環(huán)境。我軍艦只的目標(biāo)是抓住敵艦。為了實(shí)現(xiàn)目標(biāo),必須完成以下任務(wù):能夠偵察到敵艦的蹤跡;同友艦交換信息;發(fā)現(xiàn)敵艦后能追上它。為了完成每個(gè)任務(wù),分派了3個(gè)角色:信息、指揮和武器。信息角色承擔(dān)信息獲取和信息處理的任務(wù),負(fù)責(zé)發(fā)現(xiàn)障礙物和敵人的行蹤;指揮角色承擔(dān)指揮決策的任務(wù),還負(fù)責(zé)同友艦進(jìn)行協(xié)商,共同行動(dòng),共享信息等;武器角色則承擔(dān)消滅敵人的任務(wù),根據(jù)當(dāng)時(shí)的具體情況采取不同的作戰(zhàn)策略。交互模型模型目的:描述智能體之間的交互方式,如何獲取自己所需要的信息。通過交互圖可以找出任何潛在的通信瓶頸,運(yùn)行時(shí)可能引起的問題,以便進(jìn)行改正。如圖5所示,陰影部分代表協(xié)調(diào)者,方塊代表各個(gè)智能體,由用于交互的函數(shù)和底層通信原語(yǔ)組成。智能體之間在邏輯層的交互用虛線表示,實(shí)際底層通信機(jī)制用實(shí)線表示,經(jīng)過交互介質(zhì)來實(shí)現(xiàn)。虛線上的單詞表示通信原語(yǔ),數(shù)字表示交互的先后次序。我軍艦只與環(huán)境之間的交互主要包括:InformNayPosition(),通知環(huán)境自己的當(dāng)前位置坐標(biāo);GetEnemyPosition(),獲得敵艦的當(dāng)前位置坐標(biāo);GetGridType(),從環(huán)境獲得四周方格的類型,判斷是障礙物還是通路,能否前進(jìn)。敵艦與環(huán)境之間的交互采用類似方式。狀態(tài)模型展現(xiàn)了我軍艦只智能體隨著具體環(huán)境的變化而不斷改變自己的狀態(tài)。整個(gè)狀態(tài)圖由信息角色、指揮角色和武器角色3個(gè)角色圖組成,每個(gè)角色內(nèi)部又包含了角色自己的狀態(tài)轉(zhuǎn)換圖。我軍艦只智能體每移動(dòng)1格作為1個(gè)行為周期,在這個(gè)周期內(nèi),角色轉(zhuǎn)換可能發(fā)生2~3次。首先是信息角色與環(huán)境智能體交互,詢問在可觀察范圍內(nèi)是否有敵艦,如果有,就獲得了最新的敵艦位置;接著就是轉(zhuǎn)到指揮角色,察看友艦是否知道敵艦的位置,并請(qǐng)求援助;接著由武器角色承擔(dān)進(jìn)攻任務(wù)。當(dāng)我軍艦只智能體處于指揮角色時(shí),就與友艦互換信息,以求獲得最新的敵艦位置信息,如果雙方都沒有,則仍保持原有信息,轉(zhuǎn)到信息角色。在信息角色階段,先以我軍艦只智能體所在位置為中心,判斷四周8個(gè)格子中哪1個(gè)沒有障礙,可以前進(jìn)。然后根據(jù)敵艦的方向選擇下一步前進(jìn)的最佳位置。最后向逼近敵艦的方向移動(dòng)1格,完成本周期的任務(wù),如果敵艦就在這個(gè)格子中,則獲得勝利。智能體模型的實(shí)施效果及注意事項(xiàng)通過上述智能體模型的結(jié)構(gòu)可以看出,它符合程序設(shè)計(jì)中的開放封閉原則(Open-ClosedPrinciple,OCP),既能夠很好地利用已有的種類和對(duì)象,做到最大程度上的重用;又具有很好的擴(kuò)展性,能夠根據(jù)需要來添加所需角色,而不會(huì)影響軟件系統(tǒng)結(jié)構(gòu)。但這個(gè)模型也存在以下缺陷:1)智能體問題求解和智能體BDI狀態(tài)之間的關(guān)系尚未得到充分表達(dá)。具體的應(yīng)用往往是面向問題求解的,如果問題求解和智能體的BDI狀態(tài)不能結(jié)合在一起,那么BDI狀態(tài)的描述只能是“早熟的數(shù)學(xué)”,不能為開發(fā)人員所接受。2)智能體模型和具體的智能體結(jié)構(gòu)之間沒有明確的映射關(guān)系,使實(shí)際智能體建造者難以用軟件實(shí)現(xiàn)智能體理論者提出的抽象智能體模型。從BDI理論模型出發(fā)而形成的軟件模型與解決的軟件開發(fā)過程中的具體問題相脫離,具體表現(xiàn)在:由于智能體理論描述和實(shí)際系統(tǒng)結(jié)構(gòu)之間缺乏清晰的關(guān)系,軟件模型幾乎不能對(duì)現(xiàn)有的軟件智能體的設(shè)計(jì)和實(shí)現(xiàn)起到指導(dǎo)和驗(yàn)證作用,而僅僅成為軟件實(shí)現(xiàn)邏輯模塊的一個(gè)名詞而已。3)實(shí)踐表明,用邏輯語(yǔ)言描述智能體BDI的形式化方法與軟件實(shí)現(xiàn)之間存在較大距離。BDI模型本身幾乎不支持軟件開發(fā)過程中所遇到的一些根本性問題,如由于并行性和網(wǎng)絡(luò)計(jì)算等特點(diǎn)帶來的軟件復(fù)雜性問題,又如提高軟件粒度重用問題以提高開發(fā)效率的問題或軟件功能驗(yàn)證的可維護(hù)性問題。
結(jié)語(yǔ)
雖然“面向智能體”的分析方法確實(shí)具有“面向?qū)ο蟆彼痪邆涞暮芏鄡?yōu)勢(shì),但是目前并不成熟,難以在實(shí)際項(xiàng)目中應(yīng)用。要改變這種局面,首先要把研究“面向智能體”的分析方法同研究智能體模型本身區(qū)分開來。智能體模型本身主要是研究策略選擇方面,是多變的,隨著人們對(duì)智能體認(rèn)識(shí)的不斷深入,新的模型會(huì)不斷涌現(xiàn),這就造成基于某種固定智能體模型的軟件分析方法比較僵化,靈活性差,很容易被淘汰。但是智能體在整個(gè)軟件體系構(gòu)架中的位置和作用一般是相對(duì)穩(wěn)定的,可以構(gòu)建一個(gè)智能體在軟件體系結(jié)構(gòu)中的構(gòu)件模型,作為實(shí)際智能體到軟件體系結(jié)構(gòu)的一個(gè)映射,這個(gè)模型較穩(wěn)定,即使智能體模型本身不斷變化,但都可以映射到這個(gè)構(gòu)件模型上,避免了面向智能體分析方法的變動(dòng)。其次,把智能體的研究同人工智能區(qū)分開,在實(shí)際項(xiàng)目中,并不需要智能體具有多高的智能,或者具備智能體的所有屬性,應(yīng)該根據(jù)項(xiàng)目的實(shí)際需要來對(duì)智能體的屬性進(jìn)行取舍,并且要盡可能地利用目前已經(jīng)比較成熟的各種軟件開發(fā)技術(shù),以降低軟件開發(fā)成本。本文從基于角色概念和智能體技術(shù)出發(fā),對(duì)軟件開發(fā)進(jìn)行了模型架構(gòu)設(shè)計(jì),給出模型的層次結(jié)構(gòu),通過艦船作戰(zhàn)系統(tǒng)協(xié)同來實(shí)現(xiàn)所設(shè)計(jì)的模型。同時(shí),對(duì)模型如何應(yīng)用于實(shí)際系統(tǒng)作了初步的分析,并就其中出現(xiàn)的問題給出了一些初步的解決方案。正在對(duì)以上3個(gè)模型進(jìn)行細(xì)化,將面向服務(wù)框架(ServiceOrientedArchitecture,SOA)的設(shè)計(jì)思想應(yīng)用于系統(tǒng)實(shí)現(xiàn),使系統(tǒng)更易于擴(kuò)展,增強(qiáng)其互操作性,為實(shí)現(xiàn)實(shí)際的可用系統(tǒng)做進(jìn)一步的工作。
作者:王興眾董曉明單位:武漢大學(xué)動(dòng)力與機(jī)械學(xué)院中國(guó)艦船研究設(shè)計(jì)中心