本發(fā)明公開了一種基于強化學習的指揮控制網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點預測方法,屬于通信偵察和人工智能領(lǐng)域。
背景技術(shù):
1、指揮控制網(wǎng)絡是現(xiàn)代信息化領(lǐng)域中至關(guān)重要的組成部分,其結(jié)構(gòu)和關(guān)鍵節(jié)點的預測對于網(wǎng)絡的穩(wěn)定性、可靠性以及抗干擾能力具有重要意義。然而,由于指揮控制網(wǎng)絡結(jié)構(gòu)復雜且隨時間動態(tài)變化,如何有效地基于通信偵察數(shù)據(jù)預測網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點成為一個亟待解決的問題。在由中國電子科技集團公司第五十四所申請,授權(quán)公告號為cn11478474b的《一種基于深度學習的指揮控制網(wǎng)絡關(guān)鍵節(jié)點識別方法》的專利中,基于網(wǎng)絡節(jié)點之間的鏈接關(guān)系,智能識別關(guān)鍵節(jié)點。但是,該方法不分析網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點變化的規(guī)律。在張鍇等發(fā)表在《大學數(shù)學》上的《基于時空圖卷積的動態(tài)網(wǎng)絡節(jié)點重要性研究》一文中,著重分析的是提取動態(tài)變化過程中網(wǎng)絡節(jié)點的重要性。在李懿凡等發(fā)表在《系統(tǒng)工程與電子技術(shù)》上的《基于廣義連續(xù)時間貝葉斯網(wǎng)絡的指揮控制網(wǎng)絡系統(tǒng)可靠性分析》一文中,能夠利用貝葉斯網(wǎng)絡提取指揮控制網(wǎng)絡的關(guān)鍵節(jié)點,但是其研究目標是從可靠性的角度展開分析,并非分析其網(wǎng)絡的動態(tài)變化規(guī)律。目前的研究方法主要集中在網(wǎng)絡拓撲分析和數(shù)據(jù)驅(qū)動的關(guān)鍵節(jié)點識別上,然而這些方法在面對動態(tài)變化的指揮控制網(wǎng)絡時,往往缺乏足夠的預測能力。隨著強化學習技術(shù)的發(fā)展,利用其自適應和學習能力解決對于指揮控制網(wǎng)絡預測問題成為可能。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于強化學習的指揮控制網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點預測方法,通過利用強化學習算法,逐步增加通信偵察數(shù)據(jù)的積累時長,挖掘通信偵察獲得的指揮控制網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點序列中的變化規(guī)律,并在識別最佳積累時間的同時,預測下一個時間點的網(wǎng)絡結(jié)構(gòu)序號和關(guān)鍵節(jié)點序號,實現(xiàn)對于網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點的準確和穩(wěn)定的預測。
2、本發(fā)明采用的技術(shù)方案為:
3、一種基于強化學習的指揮控制網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點預測方法,包括以下步驟:
4、步驟1:獲取指揮控制網(wǎng)絡的結(jié)構(gòu)類型數(shù)和關(guān)鍵節(jié)點個數(shù),并進行編號,將設(shè)定時間段內(nèi)獲取的結(jié)構(gòu)類型序號和關(guān)鍵節(jié)點序號組成偵察數(shù)據(jù)集合;
5、步驟2:遍歷所有的結(jié)構(gòu)類型序號和關(guān)鍵節(jié)點序號,構(gòu)建狀態(tài)空間和動作空間;
6、步驟3:設(shè)定積累時間p,并以狀態(tài)為行和以動作為列初始化q表;關(guān)聯(lián)累積時間的狀態(tài)數(shù)據(jù)得到當前時刻關(guān)聯(lián)狀態(tài),并將下一累積時間的關(guān)聯(lián)狀態(tài)作為真實數(shù)據(jù),然后從動作空間中選擇當前時刻關(guān)聯(lián)狀態(tài)對應的動作,如果真實數(shù)據(jù)與所選動作相同,則獎勵值設(shè)為0,否則獎勵值設(shè)為-1,并累計獎賞值;最后根據(jù)關(guān)聯(lián)狀態(tài)和所選動作更新q表,并改變積累時間,重復本步驟設(shè)定次數(shù);
7、步驟4:利用肘部法獲取累計獎賞值的拐點對應的積累時間,并獲取對應的q表,然后關(guān)聯(lián)累積時間的狀態(tài)數(shù)據(jù)得到關(guān)聯(lián)狀態(tài),在對應的q表中選擇關(guān)聯(lián)狀態(tài)所在行中最大值所對應的動作元素,作為預測值。
8、進一步的,步驟1具體過程為:
9、通過通信偵察設(shè)備獲得指揮控制網(wǎng)絡的結(jié)構(gòu)類型數(shù)n和關(guān)鍵節(jié)點個數(shù)m,按照偵察到的先后順序?qū)χ笓]控制網(wǎng)絡的結(jié)構(gòu)類型和關(guān)鍵節(jié)點進行編號,并按照[結(jié)構(gòu)類型序號,關(guān)鍵節(jié)點序號]的格式獲取t個連續(xù)時間的偵察數(shù)據(jù)集合;其中t為設(shè)定值。
10、進一步的,步驟2具體過程為:
11、狀態(tài)和動作的格式均為[結(jié)構(gòu)類型序號,關(guān)鍵節(jié)點序號];遍歷所有的結(jié)構(gòu)類型序號和關(guān)鍵節(jié)點序號,并將結(jié)構(gòu)類型序號和關(guān)鍵節(jié)點序號轉(zhuǎn)換為字符串形式,構(gòu)建狀態(tài)空間和動作空間,維度均為。
12、進一步的,步驟3具體過程為:
13、步驟3-1:初始化空間;
14、步驟3-2:初始化積累時間p=1;
15、步驟3-3:初始化q表,以狀態(tài)為行,初始化為所有狀態(tài)空間中元素,以動作為列,初始化為所有動作空間中元素,表中數(shù)值均為0;并初始化累計獎賞值為0;
16、步驟3-4:初始化幕變量e=0;
17、步驟3-5:初始化時間變量t=0;
18、步驟3-6:根據(jù)積累時間p,關(guān)聯(lián)當前時刻t到時刻t+p-1的狀態(tài)數(shù)據(jù),共p個狀態(tài),t時刻關(guān)聯(lián)狀態(tài)為,并關(guān)聯(lián)時刻t+1到時刻t+p的狀態(tài)數(shù)據(jù),共p個狀態(tài),t+1時刻關(guān)聯(lián)狀態(tài)為;t時刻的真實數(shù)據(jù)為t+p時刻的狀態(tài)數(shù)據(jù);
19、步驟3-7:對于t時刻關(guān)聯(lián)狀態(tài),首次執(zhí)行時從動作空間中隨機選擇動作;首次之后生成隨機數(shù),如果,則從動作空間中隨機選擇動作,如果,則選擇行中最大值所對應的動作元素;其中為設(shè)定值;
20、步驟3-8:如果真實數(shù)據(jù)與動作相同,則獎賞值r設(shè)置為0;如果真實數(shù)據(jù)與動作不相同,則獎賞值r設(shè)置為-1,將獲得的獎賞值r加到累計獎賞值;
21、步驟3-9:對q表進行更新,更新公式為:
22、<mstyle displaystyle="true" mathcolor="#000000"><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mi>t</mi></msub><mi>,</mi><msub><mi>a</mi><mi>t</mi></msub></mrow><mo>)</mo></mrow><mi>←</mi><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mi>t</mi></msub><mi>,</mi><msub><mi>a</mi><mi>t</mi></msub></mrow><mo>)</mo></mrow><mo>+</mo><mi>α</mi><mrow><mo>[</mo><mrow><mi>r</mi><mo>+</mo><mi>γ</mi><munder><mi>max</mi><mi>a</mi></munder><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mi>,</mi><mi>a</mi></mrow><mo>)</mo></mrow><mi>?</mi><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mi>t</mi></msub><mi>,</mi><msub><mi>a</mi><mi>t</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mstyle>
23、將的值更新為<mstyle displaystyle="true" mathcolor="#000000"><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mi>t</mi></msub><mi>,</mi><msub><mi>a</mi><mi>t</mi></msub></mrow><mo>)</mo></mrow><mo>+</mo><mi>α</mi><mrow><mo>[</mo><mrow><mi>r</mi><mo>+</mo><mi>γ</mi><munder><mi>max</mi><mi>a</mi></munder><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mi>,</mi><mi>a</mi></mrow><mo>)</mo></mrow><mi>?</mi><mi>q</mi><mrow><mo>(</mo><mrow><msub><mi>s</mi><mi>t</mi></msub><mi>,</mi><msub><mi>a</mi><mi>t</mi></msub></mrow><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mstyle>,其中為q表中行列所對應元素的值,為學習效率,為折扣因子,表示在q表所對應的行中找到最大值所對應的列;
24、步驟3-10:如果t小于t-p-1,則,并返回步驟3-6;如果t等于t-p-1,則執(zhí)行步驟3-11;
25、步驟3-11:如果e小于e,則,并返回步驟3-5;如果e等于e,則執(zhí)行步驟3-12;其中,e表示最大幕,為設(shè)定值;
26、步驟3-12:將獎賞值存入空間,并將q表保存,文件名為對應的積累時間p;
27、步驟3-13:如果p小于p,則,并返回步驟3-3,否則結(jié)束本流程;其中,p表示積累時間最大值,為設(shè)定值。
28、進一步的,步驟4具體過程為:
29、步驟4-1:利用肘部法獲取累計獎賞值的拐點對應的積累時間;
30、步驟4-2:根據(jù)加載對應名稱的q表,即為;
31、步驟4-3:根據(jù)積累時間,關(guān)聯(lián)當前時刻到時刻的狀態(tài)數(shù)據(jù),共個狀態(tài),?時刻關(guān)聯(lián)狀態(tài)為;
32、步驟4-4:在中選擇行中最大值所對應的動作元素,作為預測值。
33、本發(fā)明相比現(xiàn)有技術(shù)具有以下有益效果:
34、1.自適應學習能力強:通過強化學習算法自動學習指揮控制網(wǎng)絡的動態(tài)變化規(guī)律,能夠適應復雜、多變的網(wǎng)絡環(huán)境。
35、2.變化規(guī)律的有效捕捉與預測:逐步增加狀態(tài)積累時長的方法不僅能夠有效識別網(wǎng)絡結(jié)構(gòu)和關(guān)鍵節(jié)點序列中的規(guī)律,還能夠在此基礎(chǔ)上準確預測下一個時間點的網(wǎng)絡結(jié)構(gòu)序號和關(guān)鍵節(jié)點序號,提高預測的準確性。
36、3.魯棒性強:簡單明了的獎賞函數(shù)(0和-1)設(shè)計,使得模型能夠在預測錯誤時及時進行顯著懲罰,避免模型陷入局部最優(yōu)。