王 冠,郭 育
(中國船舶工業系統工程研究院,北京100094)
隨著海洋基礎設施建設的步伐向前邁進,海洋中的目標信息數據量與日俱增已成為現實趨勢,進行目標信息數據識別,將不同海洋目標信息按照重要和關鍵程度進行關系劃分,并賦予每條目標信息數據一種關系[1]。目前有學者采用經典的HBACA算法[2],對大數據的每條信息的重要性進行大致定義,但他們的研究成果,在區分信息目標數據的重要性問題上有待優化與完善。
本文首先利用HBACA算法查找或識別不同元素關系能力強的特性,提取目標信息數據的關系,主要是通過在搜索蟻的行為特性中混入偵察蟻的行為特性,即搜索蟻在搜索過程中,會找到偵查蟻已經標記的信息素進行重復標記,將重復標記的信息素鏈路作為信息數據的關系網,進而識別出大數據中信息數據的關系。然后,在信息數據關系中計算每個信息節點的點度中心度、緊致中心度和節點活躍度,根據信息數據在目標事件中的重要或關鍵程度,將信息數據劃分為關鍵目標信息、重要目標信息和一般目標信息,提出了信息數據的判定準則,形成了基于關系的信息數據識別方法。
水中目標分類在軍事防御及進攻上具有重要作用,目標特征與海洋信道之間的關聯十分緊密,水聲探測系統接收到的目標信號都是目標源激發信號與信道多途響應耦合后的信號,本文基于聲吶已探測目標信息內容,從水面目標和水下目標所激發的聲場波數譜差異特征入手,將目標分為3類。
一般目標(節點):浮漂、偵察船或漁船、郵輪、集裝箱船、貨輪、LNG船、海警船。
重要目標(節點):驅逐艦、護衛艦、常規潛艇、UUV、特種潛航器、蛙人。
關鍵目標(節點):航母、戰略潛艇、魚雷、水雷,戰略躉船。
HBACA算法,即混合螞蟻算法,可以識別出網絡數據中信息節點之間的關系,它是基于蟻群算法進行的改進,其主要思想是:通過引入具有多行為的混合螞蟻來擴大搜索解空間,避免局部最優解、早熟和停滯現象;另外在每次迭代過程中具有不同行為的螞蟻數目可以視具體情況而進行動態調整,這樣就可以在加速收斂和防止早熟、停滯顯現之間取得較好的平衡[3]。
混合螞蟻是一種具有多行為的螞蟻,它包括以下3種類型的螞蟻行為。
行為1:螞蟻具有信息感知能力,搜索前進策略在尚未走過的路徑上選擇信息量大的路徑前進,在走完全部路徑后對所走路徑進行一次全局信息更新,此螞蟻稱為智能螞蟻。
行為2:螞蟻不具有信息感知能力,將其隨機選擇一個本次遍歷中尚未走過的路徑前進,以保證算法搜索更大的解空間,此螞蟻稱為隨機螞蟻。
行為3:具有與智能螞蟻相反的搜索前進策略,即選取下一個節點的轉移概率與智能螞蟻正好相反,而其他特征與智能螞蟻完全相同,此螞蟻稱為逆反螞蟻。
混合蟻群算法在搜索路徑問題上,具有并行偵察和搜索的行為特性,并對信息量較大的路徑具有良好的正反饋性和較強的魯棒性,因此其在信息數據關系識別領域具有較好的研究和應用價值。
目標信息數據識別方法主要過程分為2個步驟,方法步驟如下。
步驟1:針對目標信息數據開展聚類,而后設置目標信息數據各種信息標簽的預設值,根據具體情況,對目標信息數據的類型、頻率、置信度、代價等信息進行綜合處理,通過聚類方法計算,分析信息數據為類型,對目標信息數據極其類似的信息數據開展聚類。
步驟2:完成目標信息數據聚類分析后,采用基于關系的目標信息數據識別方法對單位時間內目標事件進行分析。首先,利用HBACA算法提取目標信息數據的關系;然后,通過目標信息數據的判定準則,識別出目標事件中的關鍵目標信息、重要目標信息和一般目標信息。
本文提出的方法,通過調整混合螞蟻的投放方式,以及其偵察、搜索方式,從而延長信息素的有效時間,進而在全局范圍內提高識別準確率,并實現提取信息數據在其目標事件中的關系。
原有HBACA算法僅僅是對執行偵察任務的混合螞蟻數量,與執行搜索、偵察任務的混合螞蟻數量進行了調配,但并未考慮信息素的持久性與數據流通過的路徑之間的關系,以及信息素的持久性與時間的指數關系。
基于關系的目標信息數據識別方法,采用偵察混合螞蟻、搜索混合螞蟻開展研究分析。基于建立目標事件數據流向量表的前提,設置偵察混合螞蟻的行為偏向偵察蟻,搜索混合螞蟻的行為是偵察蟻與搜索蟻采用行為的融合,采用偵察混合螞蟻與搜索混合螞蟻的不同特征,針對源信息數據之間的數據流開展局部、全局分析,獲得節點上信息數據之間的關系。
HBACA算法基于螞蟻有不同的行為特性,設定不同行為螞蟻的比例參數,HBACA避免了ACO、ACS及AS顯現出的停滯現象,更重要的是HBACA中搜索蟻搜索最優解的性能較佳。實驗證明HBACA較AOC系列算法計算效能有很大的提升,相關計算性能表現良好。在利用HBACA提取目標事件中信息節點之間的關系時,設定偵察混合螞蟻對每一個節點作為開展局部查詢與搜索的基點。同時使用特殊的信息素標記獲得的數據,使用特殊的信息素標記獲得的數據目的是,使得搜索混合螞蟻抵達被標記的數據點后,搜索下一個被標記的數據點時,發揮有效的信息導引。搜索混合螞蟻憑借偵察混合螞蟻對每一個節點使用特殊的信息素的濃度及導引信息,針對局域數據節點開展搜索。
在HBACA算法中,可以采用偵察混合螞蟻進行信息素的標記。將m只偵察混合螞蟻與m個節點一一對應進行放置,每只偵察混合螞蟻以自身所在節點為基點,偵察與自身所在節點周圍相連的m-1個節點,并將偵察結果結合現有的信息標記信息素,記為Flow[i][j],標記i節點到j節點路徑。其中 Flow[i][j](i,j=0,1,2,3,…,,m-1;i≠j)公式見式(1)。
基于Flow[i][j]的值為基點,設置初始時刻每條路徑上的信息量如式(2)所示。
HBACA算法僅僅是對執行偵察任務的混合螞蟻數量,與執行搜索、偵察任務的混合螞蟻數量進行了調配,并未考慮信息素的持久性與數據流通過的路徑之間的關系,以及信息素的持久性與時間的指數關系。事實上信息素的持久性與數據流通過路徑上的偵察混合螞蟻標記次數存在求和關系,同時還與時間存在指數關系。信息素與數據流鏈路之間的關系如圖1和圖2所示。
如圖1所示,該圖描述了4個信息數據節點的信息流向圖,分別代表4個信息數據節點。圖2描述了偵查蟻偵查路徑與信息素關系,4只偵察蟻分別為a1,a2,a3,a4,a1經過偵察路徑為 A→B→C→D,a2經過偵察路徑為A→B→D→C,a3經過的偵察路徑為A→D→C,a4經過偵察經路徑為A→C→D。則在計算D與C兩個信息數據節點之間數據流路徑上信息素的持久性時,應該采用4倍的Flow[C][D]進行計算。在計算A與B信息數據節點之間數據流路徑上信息素的持久性時,采用2倍的Flow[A][B]進行計算;同樣在計算B與C、B與D信息數據節點之間數據流路徑上信息素的持久性時,分別采用2倍的Flow[B][C]、Flow[B][D]分別進行計算。因此,如果Flow[A][B]=Flow[B][C]=Flow[B][D],則由于D與 C兩個信息數據節點之間數據鏈路上信息素的持久性強于B與C節點、B與D節點數據鏈路之間信息素持久性。
在偵查混合螞蟻標記的信息素,會隨時間的流逝而慢慢變少,直到消失。為了能通過信息數據節點之間信息流關系的分析,識別信息數據關系,需要強化偵查混合螞蟻標記的信息素,可以采用主要具有搜索特性的搜索混合螞蟻來加強信息素。
搜索混合螞蟻,K(K=1,2,…,n)在時刻t時,由i節點至j節點的轉移概率PKij可以表示為公式(3)。
全部的偵察混合螞蟻、搜索混合螞蟻結束一次循環,每條路徑上信息量調整為公式(4)所示。
式中:△τij是此次循環內全部的偵察混合螞蟻、搜索混合螞蟻在路徑(i,j)上的全部信息量之和;由于信息素的持久性ρ與數據流通過的路徑有關,同時信息素的持久性ρ與時間間隔之間存在指數關系,所以ρ為公式(5)所示。
公式(5)中的ε如公式(6)所示。
式中:Tdijata(t)是需傳輸的數據包個數,Rdjata(t)是需重傳數據報個數的回饋信息。
公式(5)中φ如公式(7)所示。
式中:Sij(t)是數據流由i至j路徑上經過的次數,Fij(t)為數據流未在i至j路徑上的次數。
從公式(9)可知,每只搜索混合螞蟻僅僅在具備上下級關系節點處,由最優解組成的路徑上留下適量的信息素;根據公式(7),每只搜索混合螞蟻僅僅在可能是最優解組的路徑上追加信息量。
基于每只搜索混合螞蟻得到的最優解,也就是信息素最多的路線,結合數據流特征,能夠得到i節點的直接上游節點,進而能夠提取得到各信息數據在周期內對相應目標事件所起的作用,從而形成了基于目標事件的信息數據節點之間關系。
在大數據中,不僅僅需要識別出信息數據在目標事件的作用[4],以及信息數據節點之間通過該事件形成的關系[5],更需要分辨出這些網絡信息數據在該事件中關系的重要性[6]。信息數據節點的重要性或關鍵性的判定可以通過節點關系的點度中心度、緊致中心度和節點活躍度進行綜合判定。
1)點度中心度[7](Degree Centrality)。信息數據節點的點度中心度指與其相連的信息節點數。即:
點度中心度反映了信息數據節點在網絡中的活躍程度,刻畫了信息數據節點對目標事件關系的影響力。點度中心度越高,表示與該節點連接的節點數越多,說明該信息數據節點越有能力支配其它節點。
2)緊致中心度(Closeness Centrality)。網絡信息數據節點的緊致中心度是指它與網絡中所有其它節點的最短路徑長度和。
式中:pi,j為節點vi和vj間最短路徑的長度。
緊密中心度反映了信息數據節點到其它信息數據節點間的平均路徑長度。刻畫了該節點居于網絡中心位置的能力以及從該節點到達其它節點的速率。緊致中心度越小,表示該節點越處于網絡的中間位置,通過該節點向其它節點發送信息速率越快。
3)節點活躍度(Activity)。信息數據節點的活躍度等于與其連接的所有邊的信息素之和。即:
節點活躍度反應了與之直接關聯的節點集中的重要程度,在信息數據網絡中,選擇累積活躍度達到總活躍度一定比例(比例因子為r)的節點為重要目標節點集。其數學模型為:從包含n個節點V={v1,v2,…,vn}的網絡中,選出m個節點V′={v1,v2,…,vm},V′k∈V′,設節點V′i的活躍度為ai,使V′滿足:
式中:比例因子r可以根據具體情況設定,一般取r∈[0.5,1]。
在目標事件中,根據信息數據的重要性或關鍵性,將信息數據分為關鍵目標信息、重要目標信息和一般目標信息3類,則根據點度中心度、緊致中心度和目標節點活躍度的定義,可以定義網絡信息數據識別的準則。
判定準則1:在某個目標信息數據節點關系中,如果一個目標節點v屬于重要目標節點集,并且該目標節點的點度中心度最大或緊致中心度最短,則該目標信息數據節點是關鍵目標信息。
判定準則2:在某個目標信息數據節點關系中,如果一個目標信息數據節點v屬于重要目標節點集,但該目標節點的點度中心度不是最大,同時緊致中心度不是最短,則該目標信息數據節點是重要目標信息。
判定準則3:在某個目標信息數據節點關系中,如果一個目標信息數據節點v不屬于重要目標節點集,則該目標信息數據節點為一般目標。
本仿真試驗中的目標節點包括關鍵目標節點與一般目標節點:關鍵目標節點是包含1個及以上重要目標信息數據的節點,一般目標節點是只包含一般目標信息數據的節點。若干重要目標信息數據及若干一般目標信息數據構成了若干關鍵目標節點與若干一般目標節點,進而組成了若干網絡節點。
將280 000個由信息數據以FHACC[8]進行數據結構劃分,如圖3所示,所有的點都表示在信息網絡中的節點,點的大小表示了該網絡節點包含的信息數據量,不同的顏色表示不同的網絡位置,同顏色不同大小的點表示不同的網絡節點所在位置相同。
如圖4所示,同一網絡時間條件下,三角形表示數據中已知的目標事件一般目標節點,圓點表示數據中已知的目標事件關鍵目標節點,點的大小表示該節點所含信息量的多少。
對280 000個信息數據進行聚類后,采用HBACA對網絡信息數據關系進行識別,其計算結果可大致分辨出對每個信息數據的重要性,但無法找出其間的關聯,以及其在目標事件中的作用。HBACA搜索出的關鍵目標節點分布情況,如圖5所示。HBACA重要目標節點輸出數據以FHACC進行數據結構劃分結果,如圖6所示。
經過對HBACA算法進行優化后,本文設計的算法,根據計算輸出結果,能夠清楚地看到相關目標的關系非常明顯如圖7,很容易獲得所處事件中重要目標之間的關系如圖8所示。
圖8所示,不同顏色代表不同的目標分類。
由圖3-8對比可知,基于關系的目標信息數據識別方法在同一目標事件中識別出的關鍵目標節點,與已知的關鍵目標節點數量一致;基于關系的信息數據識別方法能夠識別出同一目標事件中的節點,而且識別出的網絡節點數量比HBACA算法識別出的關鍵目標節點要多;本文基于關系的信息數據識別方法比HBACA算法的優勢在于能夠識別出同一目標事件信息數據之間的關系。
本文的算法,根據計算數據輸出結合FHACC進行數據結構劃分結果,能夠明確地獲得關鍵目標的信息數據坐標,并與其所處事件的重要程度能夠匹配,同時相關信息數據的關系非常明顯,很容易提煉出所處目標事件中重要目標信息數據之間的關聯。