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

一種基于行動規則的仿真推演引擎設計與實現*

2022-03-17 07:47:08閆強強
艦船電子工程 2022年12期
關鍵詞:規則

閆強強 何 偉

(陸軍炮兵防空兵學院 合肥 230031)

1 引言

行動方案推演系統(以下簡稱“推演系統”)中的行動方案,由若干基本行動按時序組合而成。各個行動在時間上具有因果關系,前一行動的結果是后一行動的基礎。因此,高效擬制行動方案、合理控制行動序列運行,是推演系統不可或缺的核心功能,影響著推演系統的適用性和擴展性。

一般推演仿真引擎,只能解析演練方案中“任務”這一層次,除了通過任務參數影響任務執行以外,不能進一步定制任務,進而難以反映要素演練中個別任務的特殊性。為了實現行動任務可定制、體現要素演練中行動任務的特殊性,本文以任務狀態機為基礎,綜合運用時間步長法和事件高度法,設計一種基于行動規則控制仿真實體行動仿真的引擎。

1)規則配置靈活。把序列化的任務,分解為相對獨立的原子行動。每個規則由一個條件和若干個行動組成。根據仿真需要,操作人員從條件庫中選擇規則觸發條件、從行動庫中選擇適當的行動,繪制任務狀態圖。

2)行動模型可重用性強。各行動模型之間相對獨立,是完成相應行動的封裝。對各模型的修改,影響范圍主要限制在當前行動中,不會對其它行動效應帶來不良影響。

3)構建方法通用性好。規則中條件和行動的粒度小,都是通用的最小單位,可適用于不同的仿真場景。當出現特別的仿真需求,總體構建方法仍然保持穩定,不需要調整,可通過擴展條件庫和行動庫的方式加以適配。

2 推演方案表示

為了使推演系統正確識別推演方案,必須將其進行形式化描述。

2.1 推演方案模型

推演方案,由若干實體行動方案在時間維度上協調聚合而成(如圖1)。

圖1 推演方案模型

任務控制是使實體按照既定的任務流程,執行相應的行動模型,并進行臨機調整。任務流程直接表現為任務流程圖。為了使任務流程圖具備良好的可配置性特點,將任務劃分為若干個階段,每一個任務階段對應一個任務狀態。在某個狀態,實體受若干規則的約束。

每一條規則由條件和一系列行動組成。從而,以條件和行動為最小可配置單位,建立起全生命期的任務模型,并可把任務狀態圖作為形式表現。

就單個實體而言,實體行動方案,由若干有序的實體任務(簡稱“任務”)組合而成。

2.2 實體任務的形式化描述

任務具有三個層次視圖:任務狀態、規則和行動。

用有限狀態機描述任務,一個任務具有多個狀態,但在某一時刻,只能處于其中一個狀態[1]。執行某任務的過程,即任務自初始狀態,在不同狀態之間轉換直至推進到結束狀態的過程;而且,任務結束狀態可以是任務執行成功的狀態,也可以任務執行失敗的狀態。任務可表示為

其中S為任務狀態集合,Ttrans為狀態集內不同狀態之間的轉移集,s0為起初狀態(任務啟動后,以此狀態開始任務執行,用于完成任務準備),Sfinal為任務結束狀態集(當任務進行到該集合中任一狀態,則表示任務結束,而且可反映任務完成的水平)。另外,s0∈S,Sfinal?S。

一個任務狀態內,存在一條或多條行動規則,具體運行哪條規則取決于相應條件是否成立。任務狀態表示為

每個任務狀態由若干規則ri(ri∈R,R為規則集)有序組合而成。

在某任務狀態內,實體執行滿足條件的規則。規則表示為

其中c為規則條件,A為若干原子行動(a1,a2,…,an)的有序組合,strans為此規則執行成功后轉移到的任務狀態。轉移集Ttrans={<r,strans>|r∈R,strans∈S}與中Ttrans一致。如果規則條件成立,則按次序執行規則內的若干行動。若存在多條規則的條件成立,則優先運行排序靠前的規則。

以上涉及的規則條件和原子行動,是描述實體任務的基礎,與采用面向對象思想建立的實體模型緊密相關。

3 仿真引擎的設計

基于任務狀態圖控制任務流程,其核心思想是以狀態圖為藍本、以任務當前狀態為基礎,結合實體狀態、戰場態勢和環境等影響因素,選擇規則、執行相應行動,并根據其結果處理任務狀態跳轉。一方面,狀態圖中的狀態數量、狀態規則和規則到狀態的跳轉關系均可定制,使任務具有良好的擴展性和可配置性;另一方面,任務狀態圖千變萬化,但任務的基本模型相對穩定,對基于狀態圖控制任務流程無影響。

基于以上抽象,控制多個實體協調一致地仿真推演方案,其關鍵是控制單個實體正解地判斷規則和執行原子行動(圖2)。

圖2 實體行動控制

規則條件的判斷,是規則執行的前提條件,可區分為原子條件和復合條件。

原子條件,從應用需求可分類六類:一是基于時間的條件(T型規則條件)。以事件發生時間為實體行為發生的充要條件。如到指定時間內開通有線、無線通信網。二是基于命令的條件(C型規則條件)。以上級下達的命令為實體行為發生的充要條件。這是適應大多數實體的規則條件。如接到上級火力打擊命令時,才對目標進行火力打擊行動。三是基于地域的條件(S型規則條件)。以事件發生的地理特征為實體行為發生的充要條件[2]。如光學偵察需要滿足現地與目標地的通視。四是基于信息的條件(I型規則條件)。以事件發展變化的標志性事件作為實體行為發生的充要條件。如前方發現我方兵力受損。五是基于請求的條件(Q型規則條件)。以下級實體發出的請求為實體行為發生的充要條件[3]。如偵察分隊請求進行油料保障,炮兵連請求進行彈藥補充。六是基于兵力的條件(F型規則條件)。以事件處置實體的兵力損耗為實體行為發生的充要條件。如根據兵力的毀傷程度判斷出該兵力當前的狀態。

復合條件由原子條件組合而成。

4 仿真引擎的實現

4.1 條件判斷

分為值比較和邏輯判斷兩類,都由操作數和操作符組成,其中操作數可為常量、變量和運行時變量。原子條件的邏輯值為真或假,可通過與或非邏輯關系組合成為復合條件。

以裝甲兵沖擊任務為例,行動集由若干具有優先順序的行動排列組成,每一個行動對應于實體模型中可執行的仿真行動模型(如圖3)。

圖3 裝甲兵沖擊任務

4.2 任務隊列調度

實體任務隊列,采用“先來先服務”模型,按照任務開始時間升序執行。當仿真時間已推進到下一任務的開始時刻,則停止上一任務、開啟下一任務。其流程如圖4所示。

圖4 任務隊列調試示意圖

4.3 任務內部狀態調度

整個作戰過程,由若干斷續的任務組成。每個任務由狀態機驅動實體執行具體的行動完成,執行時間和順序由規則確定。加載一個任務,實際是相應的任務狀態機啟動;任務的狀態對應著狀態機內的某個狀態。狀態機,從唯一確定的起始狀態開始運行,經歷若干中間狀態,轉入結束狀態。在某一狀態內,狀態機自動按順序測試狀態中的所有規則條件,并優先執行排序靠前且條件成立的規則。若規則執行過程中條件發生變化(即當前規則條件不成立),則轉入執行排序靠前且條件成立的規則。當某規則執行完畢且觸發跳轉,則任務狀態發生變更、狀態機轉入相應狀態。

狀態機所執行的行動,即為實體的行動,因此,實體模型應包括狀態機可能執行的所有行動。同時,由于某些行動執行過程中可能被中斷,而且行動恢復還須從中斷前的行動狀態繼續執行,所以實體還應該維護行動的執行狀態。

5 仿真引擎關鍵實現

5.1 條件判斷

條件判斷是規則執行的前提,只有條件成立的規則才有被執行的可能。條件由基本操作符、操作數、邏輯組合操作符以及括號組成。基本操作符以比較操作為主,主要有“等于”、“小于”、“大于”、“不等于”、“不小于”、“不大于”、以及特殊的“點位于區域內”等。操作數是基本操作符比較的對象。只含有一個操作符的的條件,為原子條件。原子條件,通過“與”、“或”、“非”邏輯組合,形成復合條件。括號用于區分原子條例、改變邏輯組合優先級。原子條件和復合條件都可作為規則條件。

圖5 任務內部狀態調度示意圖

條件中的操作數有三類,第一類是普通常量,當條件形成時就不再變化;第二類是任務常量,根據任務不同而不同,需要在任務初始時進行初始化;第三是實體變量,與實體的某個屬性對應。在進行條件判斷時,需要三個步驟:一是把條件解析成條件樹,以便減小不必要的條件判斷;二是統一同一操作符下多個操作數類型;三是按照深度優先原則,判定條件樹的布爾值。具體到單個原子條件的判斷,先取得各操作數的當前值,再進行操作比較,即得出單原子條件的布爾值。

5.2 規則選擇

每一個任務狀態,由多個有順序的規則組成。規則越靠前,其執行優先級越高。一般情況下,當前任務狀態的最后一個規則是其主規則,其它規則都是執行此主規則過程中可能會出現的、需要處理的意外情況。每一個規則由一個規則條件和若干行動構成。規則選擇,即從任務狀態中選擇出第一個條件成立且未完成的規則。其中,判斷條件是否成立如前所述;判定規則是否完成,由規則內是否存在未完成的行動決定。

5.3 行動執行

基于某種程序語言,實現與任務相關的每個行動,并與特定行動相識對應。利用反射機制,按照指定標識即可執行相應行動。以微軟.Net平臺為例,其反射機制,包含在System.Reflection命名空間中。通過反射,可以在運行時獲得.Net中每一個類型(包括類、結構、委托、接口和枚舉等)的成員,包括方法、屬性、事件以及構造函數等[4]。還可以獲得每個成員的名稱、限定符和參數等。.Net中的程序集是自描述的,反射則提供了封裝、模塊和類的對象。使用反射動態地創建類的實例將類綁定到現有對象,或從現有對象中獲取類,然后可以調用類的方法或訪問其字段和屬性。反射有很多對象,如 Assembly、FieldInfe、Propertylnfo、ParameterInfo等[5]。在仿真控制引擎實現中只用到了Propertylnfo對象,通過該對象可用來獲取如下的類似信息,如屬性的名稱、數據類型、聲明類型、反射類型和只讀或可寫狀態等,并獲取或設置屬性值。本系統是利用Propertylnfo對象來獲取和設置相應對象的相關屬性的。

5.4 參數映射

任務參數影響任務執行過程和效果,可以反映任務的特殊性。因此,在執行每個任務圖之前,有必要把任務參數賦予相關實體。為了減少建模過程中的工作量,建立參數自動映射機制,其實施步驟有以下三節:一是編制任務圖時,確定參數序列;二是下達任務時,按次序設定參數序列;三是任務初始化時,利用反射機制將參數序列賦予對應實體屬性。

6 結語

推演仿真引擎,控制時間推進,管理實體成員,調用實體模型、規則模型和交互模型,是推演系統的核心部件。為了實現行動任務可定制、體現演練任務的特殊性,本文設計了基于行動規則的仿真推演引擎,根據判斷規則條件、調用規則,使各實體按照任務狀態圖執行相應行動模型,同時以事件的形式進行交互,可以為方案推演提供技術支撐。

猜你喜歡
規則
拼寫規則歌
撐竿跳規則的制定
數獨的規則和演變
依據規則的推理
法律方法(2019年3期)2019-09-11 06:26:16
善用首次銷售規則
中國外匯(2019年7期)2019-07-13 05:44:52
規則的正確打開方式
幸福(2018年33期)2018-12-05 05:22:42
顛覆傳統規則
環球飛行(2018年7期)2018-06-27 07:26:14
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規則對我國的啟示
啦啦操2010—2013版與2013—2016版規則的對比分析
運動(2016年6期)2016-12-01 06:33:42
主站蜘蛛池模板: 亚洲日韩国产精品综合在线观看| 天天躁夜夜躁狠狠躁图片| 亚洲精品无码成人片在线观看 | 欧美在线视频a| 色综合五月| 97se亚洲综合在线天天| 精品1区2区3区| 日韩AV手机在线观看蜜芽| 亚洲免费毛片| 一级高清毛片免费a级高清毛片| 免费人成在线观看成人片 | a级毛片网| 亚洲人视频在线观看| 国产哺乳奶水91在线播放| 久久精品国产精品一区二区| 人人艹人人爽| 激情成人综合网| 精品视频第一页| 国产亚洲成AⅤ人片在线观看| 亚洲成年人片| 亚洲V日韩V无码一区二区| 精品国产网站| 免费国产一级 片内射老| 全部无卡免费的毛片在线看| 园内精品自拍视频在线播放| 国产主播福利在线观看| 欧美精品亚洲二区| 视频二区中文无码| 亚洲精品欧美重口| 欧美亚洲香蕉| 中国一级毛片免费观看| 日韩国产综合精选| Jizz国产色系免费| 国产亚卅精品无码| 亚洲黄色成人| 亚洲第一成年网| 精品人妻无码中字系列| 日本伊人色综合网| 91外围女在线观看| 九九香蕉视频| 青青草国产一区二区三区| 久草热视频在线| 亚洲欧洲日产无码AV| 野花国产精品入口| 亚洲国产欧美目韩成人综合| 爆乳熟妇一区二区三区| 国产午夜福利亚洲第一| 少妇人妻无码首页| 国产在线日本| 亚洲性一区| 97色婷婷成人综合在线观看| 激情综合图区| 免费女人18毛片a级毛片视频| 精品亚洲欧美中文字幕在线看| a级毛片免费网站| 国产午夜小视频| 在线免费亚洲无码视频| 一级毛片免费不卡在线| h视频在线播放| 久久毛片免费基地| 国产成人精品一区二区不卡| 国产精品一区二区无码免费看片| 久久综合色视频| 国产二级毛片| 国产精品永久不卡免费视频| 欧美日韩成人在线观看| 国产免费怡红院视频| 国产精品夜夜嗨视频免费视频| 久久综合成人| 91视频国产高清| 免费毛片全部不收费的| 毛片视频网址| 国产精品国产主播在线观看| 亚洲色图欧美激情| 久久人人妻人人爽人人卡片av| 尤物国产在线| 视频二区国产精品职场同事| igao国产精品| 凹凸精品免费精品视频| 在线看免费无码av天堂的| 久久久久人妻精品一区三寸蜜桃| 久久成人18免费|