999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

空中作戰決策行為樹建模與仿真

2019-03-01 02:00:42紀夢琪朱一凡
指揮控制與仿真 2019年1期
關鍵詞:模型

董 倩,紀夢琪,朱一凡,楊 峰

(國防科技大學系統工程學院,湖南 長沙 410073)

空中作戰是航空兵在空中攻擊或抗擊敵方的行動,目的是消滅敵空中兵力集團,奪取制空權,保障己方空中目標安全和空中行動自由等。空中作戰能有效地摧毀敵方軍事實力,削弱其戰爭潛力,對戰爭的進程和結局有重大影響,是現代戰爭的重要作戰樣式。作戰仿真推演作為作戰活動的一種相似性復現,在提高指揮人員謀略水平、輔助作戰決策和進行戰術戰法研究與驗證等方面發揮著越來越重要的作用[1]。

空中作戰過程的建模與仿真是一個復雜的系統工程,包括物理系統建模和決策建模[2]。物理系統建模主要是基于物理機理對作戰實體的作戰行為和過程建模;決策建模包括所有與空中作戰相關的決策問題,實現在當前有限的敵情、我情和環境信息支持下,對作戰態勢進行評估,確定作戰目標,選擇戰法和作戰樣式,并進行合理的作戰資源分配,制定、評估和優化作戰方案并實時監控和動態調整[2]。作戰決策是整個作戰指揮活動的核心,對其進行建模與仿真研究具有重要意義。

傳統的作戰決策研究主要從以下兩個方面進行:

1) 物理模型內部的自主決策算法:依靠固化在模型中的決策功能直接實現仿真模型對戰場態勢的理解,并形成相應的決策結果[3]。典型的應用是基于多Agent的決策建模,通過構建多Agent間的協同規劃與合作機制來實現自主決策。例如,郭智杰等[4]提出一種改進的合同網協議下的多Agent決策方法,并應用于防空武器的協同作戰決策中。Mert E等[5]提出三種不同的多Agent模型來模擬陸地作戰行動。

2) 模型外部的自主決策模塊:通過錄入作戰指揮人員的決策知識和經驗,支撐模型在仿真運行中的決策過程,典型的如基于規則和基于條件的決策建模方法。彭勇[6]提出了一種基于數據化作戰方案的自動指揮決策建模方法,該模型本質上是一個改進的基于產生式規則的專家系統,其中的知識庫既可以面向作戰指揮人員,又可以隨著實驗問題的變化不斷更新。孫鵬等[3]提出了一種基于態勢描述的陸軍作戰仿真決策模型,該方法的本質是一種基于條件的決策方法。

從建模效率上看,模型內部的自主決策方法開發難度較大,且軍事專家的知識和經驗較難在模型中得到有效地利用,而模型外部的自主決策方法雖然可以充分利用作戰指揮人員的知識和經驗,但傳統的決策方法往往基于規則決策如有限狀態機,當狀態空間規模增大時,規則和條件的描述空間也不斷增加,有限狀態機很難維護。行為樹作為有限狀態機的改進,支持增加單個行為節點或行為子樹,具有模塊化和可復用特性。本文結合模型內部與模型外部自主決策方法,以空中作戰為背景,分析了空中作戰決策仿真的一般過程,將其分層過程劃分為模型外部自主決策過程和模型內部自主決策過程,并梳理了模型外部自主決策的一般規則,構建了空中作戰決策仿真行為樹。然后基于Lua腳本語言,設計算法流程實現模型外部自主決策,借助作戰仿真推演系統OCEAN,實現模型內部自主決策。最后以某空中作戰過程為案例,對該方法進行了演示驗證。

1 行為樹概念與建模

1.1 行為樹

行為樹是有限狀態機的改進,有限狀態機中的每個節點表示一種狀態,而行為樹中的節點表示一個動作。引入行為樹是因為當系統規模增大時,有限狀態機的狀態增加,轉換線不可控,有限狀態機較難維護。而行為樹支持增加單個行為節點或行為子樹,當系統規模增大時,同樣適用。行為樹的模塊化與可復用性使得行為樹成為一種非常有力的AI決策工具。Puga等將案例推理應用到行為樹中,基本實現NPC(Non-Player-Controlled Character非玩家控制角色)依據相似案例匹配來實現自主決策[7],取得了較好的效果。

1.2 行為樹建模

行為樹可以描述為由邊和節點組成的有組織層次的樹狀結構,可以表示為二元組BT=:

節點集合V=A∪C∪N∪τ,包括動作節點集A,條件節點集C,邏輯節點集N以及根節點τ。其中動作節點集和條件節點集是行為樹中的葉節點,而邏輯節點是非葉節點。

邊集合E?V×V,?∈E,vi,vj∈V,則vi是vj的父節點,vj是vi的子節點。子節點的執行結果由其父節點進行管理控制。

本文將從節點、返回狀態和樹的遍歷三個方面介紹行為樹的建模要素。

1) 節點。行為樹節點包括根節點、動作節點集、條件節點集、邏輯節點集。其中根節點以一定頻率向其子節點發送使能信號(Tick),通過邏輯節點逐層傳遞給動作節點或條件節點,并接收節點的返回結果。動作節點(Action)改變系統狀態。條件節點(Condition)查詢當前狀態。邏輯節點控制整個行為樹的執行邏輯,負責向下傳遞使能信號(Tick)以及向上匯報執行情況。常用的邏輯節點有修飾節點(Decorator)、順序節點(Sequence)、選擇節點(Selector)以及并行節點(Parallel))。各個節點說明如下:

a) 動作節點:用于完成某動作或任務的節點,通常是行為樹的葉子節點;

b) 條件節點:檢查條件是否滿足,滿足則返回“真”,否則返回“假”;

c) 修飾節點:一般用來指定額外的附加條件,比如,時間間隔、次數和頻率等;

d) 順序節點:按從左到右的順序執行完每個子節點或子樹。若中途返回失敗或者錯誤則停止。常用的是改進后的帶優先級或帶權重的順序節點,即先運行較為重要或影響較大的子節點;

e) 選擇節點:按從左到右的順序選擇一個執行條件為真的子節點執行,遇到第一個執行成功或正在執行的子節點則立即返回當前子節點結果,并結束選擇操作。如果所有子節點均返回失敗,則當前執行節點也為失敗。常用的是改進后的帶優先級或概率值的選擇節點,即優先選擇優先級較高的子節點執行或者按概率抽樣來執行子節點或子樹;

f) 并行節點:并行地執行所有子節點或子樹。

行為樹節點設計簡單且易于改進,隨著行為樹的廣泛應用,出現了許多有所改進的節點類型,如帶時間片的順序節點和選擇節點、帶反相器節點等。

2) 返回結果狀態。節點執行會得到返回結果,返回結果的狀態有Success、Failed、Wait和Error,其中

a) Success狀態:條件滿足或行為已經成功執行完成,返回成功狀態;

b) Failed狀態:條件不滿足或行為未能得到成功執行,返回失敗狀態;

c) Wait狀態:返回等待狀態表示行為還未執行完成,還需再次調用使之完成;

d) Error狀態:發生錯誤且已經顯式地處理。

3) 樹的遍歷。行為樹的基本實現中,系統每一幀從樹的根部開始遍歷,按照從上至下,從左至右的順序檢測每個節點是否被激活,直到到達當前激活節點刷新行為樹。

2 空中作戰決策仿真的行為樹建模

2.1 空中作戰決策仿真過程分析

空中作戰的決策過程實質上是一個動態的條件判斷、行為規劃和調整的過程[8]。空中作戰行為可以從使命、任務和行動3個層次來理解和描述,如圖1所示。

圖1 空中作戰決策框架

自頂向下為決策過程,模型外部自主決策是任務決策Agent依據作戰指揮人員錄入的知識和規則等來支持仿真運行中的頂層決策過程,將使命任務分配到各個機群。模型內部自主決策包括多Agent間的行動協同及基本行動序列的實現,主要通過作戰仿真推演系統內部結合物理模型來設計實現。

自底向上為實現過程,基本行動序列的組合可以完成單機任務,機群內部通過一定協調方式完成機群任務,最后實現作戰使命任務。

本文采用行為樹對任務決策Agent模型外部自主決策過程進行建模,而模型內部自主決策由作戰仿真推演系統實現。通過模型內部自主決策和模型外部自主決策相結合來實現智能決策。

2.2 空中作戰的模型外部自主決策規則

本文建立的基于行為樹的模型外部自主決策模型,需要從作戰仿真推演系統中讀取戰場態勢、兵力資源等信息,并將決策結果即任務反饋給作戰仿真推演系統,作戰仿真推演系統通過模型內部自主決策模型來實現機群內部的自主協同決策及個體動作。決策規則由條件空間和命令空間組成,本文將決策所需的輸入信息(即從作戰仿真推演系統中獲取的信息)作為規則的條件空間,將決策的輸出信息即任務作為規則的命令空間。

1) 決策規則的條件空間

參考文獻[9],條件空間的描述維度主要來源于使命任務、作戰能力和威脅態勢三大方面。

a)使命任務:包括計劃時機條件、任務類型條件和使命任務條件等。

b)作戰能力:包括可用武器條件、可用能量條件、可用對抗措施條件、自身狀態條件等(需要根據OCEAN再進行更改)。

c)威脅態勢:包括目標發現條件、目標類型與數量條件、目標方位條件、目標距離條件、目標攻擊狀態條件、目標防御狀態條件、武器攻擊可行性條件和威脅告警條件等。

2) 決策規則的命令空間

隨著高技術武器裝備和指揮控制系統的發展,空中作戰過程更加復雜,涉及多類型多數量的作戰行動和作戰任務,為了有效闡述本文方法,對空中作戰過程進行合理簡化,選擇典型的空中作戰任務進行說明,本文主要考慮5類空中作戰任務:創建地導、水面和空中禁航區、偵察任務、打擊任務、壓制敵防空任務、加油任務,其中壓制敵防空和加油任務均屬于支援任務。

任務可用五元組來表示,以偵察任務為例:

recon-mission< type, GUID, side, rps, free inventory, contacts, state>,其中type對應對空偵察、對地偵察、水面目標及水下目標偵察四種類別,GUID為當前任務的全局唯一標識,side為該任務所屬的對陣方,rps為偵察區域的參考點,free inventory為當前任務可用武器庫存,contacts為當前偵察區內的目標列表,state為當前任務狀態,包括發現新目標、更新偵察區域和任務完成等。

2.3 構建空中決策仿真行為樹

任務決策Agent的決策過程在于依據獲取的戰場態勢信息及己方武器裝備情況,來進行頂層的任務分配,這包括戰場態勢信息的實時監控與任務規劃。因此空中決策仿真行為樹包括監控AI子樹(圖2)和規劃AI子樹(圖3),其中監控AI子樹負責監控實時的戰場態勢并創建相應的禁航區,規劃AI子樹負責根據實時的戰場態勢及己方兵力、武器裝備情況來進行任務分配。同時,各個行為樹的行為節點是相應的空中作戰任務,任務有許多類型和選項,下面將結合行為樹進行說明。

圖2 監控AI子樹

圖3 規劃AI子樹

監控AI子樹包括4個選擇節點(菱形框表示)和6個行為節點(橢圓表示),選擇節點負責控制監控AI子樹的邏輯,監控地導陣地、水面艦艇和空中作戰的禁航區。行為節點為相應的任務,包括更新地導陣地禁航區、創建地導陣地禁航區、更新水面艦艇禁航區、創建水面艦艇禁航區、更新空中作戰禁航區和創建空中作戰禁航區。

規劃AI子樹包括7個選擇節點(菱形框表示)、2個順序節點(矩形框表示)、2個條件節點(帶雙橫的矩形框表示)和8個行為節點(橢圓表示)。規劃AI節點依據當前態勢情況,判斷是否滿足攻擊條件節點或防御條件節點的條件來選擇執行攻擊還是防御,在攻擊或防御選擇節點下進行任務選擇。根據空中作戰的特點,我們將任務劃分為4類:偵察任務、打擊任務、防衛任務、加油任務和壓制敵防空任務,分別對應了更新或創建的行為節點。

通過行為樹建模方法,我們初步實現了一般空中作戰決策過程的建模,該方法簡單清晰,軍事人員可以依據自身軍事知識和經驗擴展該樹。同時,該建模方法可以推廣應用到一般作戰過程的建模中。

3 基于Lua腳本語言的行為樹實現

3.1 Lua腳本語言介紹

腳本語言是為了縮短傳統的編寫-編譯-鏈接-運行過程而創建的計算機編程語言[10]。Lua是一個輕量級的、獨立的、可擴展的嵌入式腳本語言,可以嵌入到應用程序中,為應用程序提供靈活的擴展和定制功能。本文選擇Lua腳本語言來實現行為樹,原因如下:

1) 跨平臺:Lua使用標準C語言實現,幾乎在所有操作系統和平臺上都可以編譯。

2) 輕量級:Lua語言只包括一個精簡的核心和最基本的庫。這使得Lua體積小、啟動速度快。

3) 雙向調用:Lua和C/C++函數之間可以相互調用。

本文選擇Lua腳本語言作為實現行為樹的開發工具,充分利用Lua腳本語言的優勢:

1) 實現了空中作戰決策行為樹的邏輯節點及動作節點功能;

2) 實現了作戰仿真推演系統OCEAN調用基于行為樹的Lua腳本,完成模型外部的自主空中作戰決策;

3) 實現了Lua腳本調用作戰仿真推演系統OCEAN核心模塊的接口,實現了外部系統動態訪問系統內核,為實現行為樹提供了有力保障。

3.2 作戰仿真推演系統OCEAN調度行為樹流程設計

作戰仿真推演系統OCEAN具有強大的集成場景編輯器,可用于實時模擬海空軍作戰行動。OCEAN調度行為樹是通過決策事件來實現的。事件=觸發器+動作,其中觸發器是動作發生的條件,滿足該條件時,將會觸發觸發器,并且改變觸發器的狀態。當觸發器的狀態發生改變時,則會產生對應的事件。當某個事件產生時,需要采取對應的處理措施,即動作。

決策事件分為內部決策事件和外部決策事件兩大類。其中內部決策事件是由物理模型實現,包括武器發射、任務完成、目標丟失等。外部決策事件包括仿真事件、條件事件和計時事件三大類。本文設計了兩類外部決策事件:一是加載行為樹的Lua腳本,二是更新行為樹。

1) 加載行為樹的Lua腳本:該事件為條件事件,當滿足“加載想定完成”條件時,觸發該事件,執行“加載數據庫和加載Lua腳本實現的行為樹”動作,其中Lua腳本實現的行為樹流程如圖4所示。

圖4 Lua腳本實現行為樹流程

依據上圖流程初始化當前對陣方的空中作戰決策行為樹,分別創建規劃行為子樹和監控行為子樹,并管理各個行為樹節點。3.3節將對其中重要函數的設計進行說明。

2) 更新行為樹:該事件為仿真事件,在仿真時鐘內定時更新行為樹。

3.3 基于Lua腳本語言的函數實現

該行為樹涉及的函數大致分為三類:實現基本行為樹操作的函數、獲取當前對陣方態勢及兵力信息的函數和更新創建相關任務的函數。

1) 實現基本行為樹操作的函數:這包括創建行為樹節點、為當前行為樹增加子節點以及順序節點等邏輯節點的實現。這里以創建行為樹節點(偽代碼1)和順序節點(偽代碼2)的實現為例進行說明。

偽代碼1:創建行為樹節點函數

Function創建行為樹節點(動作,全局唯一標識,鍵)

{

創建實例instance表{};

繼承行為樹類BT的屬性和方法;

創建實例instance的子節點表{};

獲取全局唯一標識;

獲取實例對應的鍵;

獲取節點返回狀態;

return實例instance;

}

創建節點時需要指定該節點的類型(選擇、順序或動作等),給定全局唯一標識符及鍵(鍵值是相對應的,值的形式多樣,鍵用于存入內存)。每個行為樹節點都是一個table(表),用于存儲該節點的相關信息,包括元表、全局唯一標識符、子節點和運行結果等。

偽代碼2:順序節點函數

Function順序節點( )

{

for 當前節點的子節點表do

if (子節點返回狀態==fail) then

return 當前節點返回狀態為fail

end

end

return 當前節點返回狀態為success

}

在順序節點的子節點中遍歷子節點的結果,當且僅當順序節點的所有子節點均返回為“真”時,該節點才返回為“真”。

2)獲取對陣方態勢及兵力信息的函數:這包括預測目標的位置信息、根據給定的位置建立偵察區域、確定武器裝備的類型、獲取己方各類型兵力庫存和獲取不明敵方目標等。這里以獲取可用戰斗機庫存為例進行說明,如偽代碼3所示。

偽代碼3:獲取戰斗機庫存函數

Function 獲取可用戰斗機庫存 (當前對陣方鍵)

{

獲取可用戰斗機全局唯一標識GetGUID ( );

return 可用戰斗機全局唯一標識;

}

其中GetGUID()函數的偽代碼如下所示。

偽代碼4:GetGUID ( )函數

Function 獲取全局唯一標識 (鍵)

{

獲取鍵值對應的實例;

if 實例==nil then

實例為空;

end

return 實例

}

獲取戰斗機庫存包括獲取空閑的戰斗機和執行任務的戰斗機的信息。依據對陣方信息(鍵)及想要獲得的信息(鍵)(空閑/忙碌)獲得值(在此例中是字符串,表示戰斗機),如果存在,則返回戰斗機庫存的table(表),否則返回空表。

3)更新創建相關任務的函數:相關任務在行為樹建模時已經得到定義,這里以創建空中打擊任務為例進行說明,如偽代碼5所示。

偽代碼5:空中打擊任務函數

Function 創建空中打擊任務 ( )

{

獲取當前對陣方;

獲取當前已有的空中打擊任務列表;

獲取當前位置參考點坐標;

獲取當前可用庫存;

獲取當前目標;

if 當前任務數 > 0 or可用庫存數 == 0 or 當前目標數 == 0 then

return false;

end

獲取目標區域;

設置參考點;

創建打擊任務;

設置任務規則;

分配可用庫存;

增加全局唯一標識;

設置時間戳;

return true;

end

}

首先,獲取敵我雙方位置、庫存、目標等變量信息,判斷是否滿足創建新任務的條件:若已存在任務或庫存為0或敵方力量為0時,則不能創建新的打擊任務。然后,根據已知信息放置參考點,創建打擊任務。最后,為打擊任務分配可用兵力并創建全局唯一標識符,返回任務創建成功。

4 案例實現及分析

本文以某空中作戰為背景,紅方由地面防空部隊、水面艦艇和戰斗機組成,藍方的任務是突破由大量戰斗機巡邏警戒的反介入/區域拒止環境。(反介入:敵軍抑制我軍進入作戰區域的行為;區域拒止:敵軍試圖拒止我軍在其控制區域內行動自由的行為)。藍方的空中作戰決策過程由前文所述的行為樹建模實現,本文將借助作戰仿真推演平臺OCEAN對藍方的空中作戰決策進行仿真。將Lua腳本語言實現的行為樹加載至該作戰仿真推演軟件中,并依據3.2節的內容設置加載行為樹和更新行為樹事件。

選擇對陣方為藍方,啟動推演后,觸發加載行為樹的Lua腳本事件,該事件的動作是執行Lua腳本,按照圖4流程實現空中作戰決策行為樹。仿真推演過程中的消息輸出如圖5所示。

首先是執行規劃行為樹,即創建任務并分配兵力資源。藍方首先讀取敵我雙方的信息,依據態勢自行創建任務(白色輸出消息),包括偵察任務(a-rec-miss)、支援任務(a-aew-sup-miss)和加油任務(a-tan-sup-miss)等,并通過讀取兵力資源信息,為各個任務分配兵力資源(綠色輸出消息),參與任務的各戰機分別執行探測(黃色輸出消息)、打擊、支援和加油等任務。具體的戰場態勢顯示如圖6所示。

圖6中,紅色框圖為執行空中決策行為樹所建立的任務區域,包括偵察任務和打擊任務等,同時依據行為樹為各任務分配戰機,戰機從基地按自行規劃航線(白色直線)到達任務區域執行相關任務。每個戰機具有探測功能(圓形實線表示)。

其次是執行監控行為樹,即監控戰場態勢并更新相關任務。以圖6中的左側防空任務(a-aaw-miss-1)1為例,在推演開始時,該任務區域的4個參考點坐標為:參考點1(55°39′24″N,154°01′43″E)、參考點2(55°39′23″N,166°34′00″E)、參考點3(49°29′39″N,166°37′19″E)、參考點4(49°26′59″N,154°01′02″E)。

隨著戰場態勢的變化,該任務得到更新,如圖7所示,更新后的任務區域的4個參考點坐標為:參考點1(56°30′57″N,151°30′38″E)、參考點2(56°33′34″N,165°50′23″E)、參考點3(49°23′18″N,165°41′42″E)、參考點4(55°23′37″N,156°56′32″E)。

圖5 仿真推演消息輸出

圖6 仿真推演態勢顯示

圖7 戰場態勢更新圖

行為樹實現的空中作戰決策不僅可以完成相關偵察巡邏任務,同時還可以進行壓制敵防空和打擊等任務,具有較好的自主決策能力。

5 結束語

本文在分析了傳統空中作戰決策研究的基礎上,結合實際應用,提出了空中作戰決策的行為樹建模與仿真方法,當狀態空間增大時,只需要在原來的行為樹基礎上增加子樹即可。該方法具有一定的可行性和有效性,能夠實現自主決策。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 亚洲h视频在线| 久久婷婷五月综合97色| 欧美乱妇高清无乱码免费| 欧美性猛交一区二区三区| 中文字幕欧美日韩高清| 一区二区午夜| 男人天堂伊人网| 免费国产黄线在线观看| 国产成人综合久久| 丰满少妇αⅴ无码区| 久无码久无码av无码| 9丨情侣偷在线精品国产| 26uuu国产精品视频| 国产嫖妓91东北老熟女久久一| 国产一区二区网站| 国产成人a在线观看视频| 国产爽歪歪免费视频在线观看| 欧美α片免费观看| 在线欧美日韩| 99草精品视频| 久久人人妻人人爽人人卡片av| 欧美另类一区| 黄色福利在线| 亚洲成人播放| 免费在线成人网| 久久精品丝袜高跟鞋| 欧美精品高清| 国产成+人+综合+亚洲欧美| 午夜免费小视频| 亚洲精品无码av中文字幕| 国产成人无码播放| 国产白浆在线观看| 国产美女在线免费观看| 国产99免费视频| 久青草网站| 午夜影院a级片| 99在线观看精品视频| 91精品小视频| 亚洲国产欧美自拍| 欧美v在线| 在线高清亚洲精品二区| 波多野结衣中文字幕久久| 免费精品一区二区h| 亚洲全网成人资源在线观看| 乱人伦99久久| 日韩欧美在线观看| 青青青国产免费线在| 国产呦视频免费视频在线观看| 日本人妻一区二区三区不卡影院| 国产va在线观看| 日本午夜影院| 欧美综合中文字幕久久| 国产AV毛片| 丁香五月激情图片| 中国一级毛片免费观看| 中文字幕自拍偷拍| 成人伊人色一区二区三区| 欧美a在线视频| 色婷婷色丁香| 精品国产香蕉伊思人在线| 97青草最新免费精品视频| 国产91全国探花系列在线播放| 欧美高清国产| 成人国产免费| 97亚洲色综久久精品| 永久在线精品免费视频观看| 国产精品福利在线观看无码卡| 亚洲 成人国产| 熟妇丰满人妻| 亚洲AV人人澡人人双人| 亚洲午夜18| 亚洲精品自产拍在线观看APP| 精品国产免费观看| 中文字幕人成乱码熟女免费| AⅤ色综合久久天堂AV色综合| 91视频精品| 一区二区三区毛片无码| 91黄色在线观看| 国产高清在线观看91精品| 狠狠做深爱婷婷久久一区| 国产精品久久自在自线观看| 国产丰满大乳无码免费播放 |