基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法
【專利摘要】本發(fā)明屬于復(fù)雜網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體公開了一種基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法。其主要實現(xiàn)步驟包括:首先,對于節(jié)點數(shù)為N的網(wǎng)絡(luò),隨機初始化A個0-1矩陣,初始化博弈策略;其次,已知節(jié)點實際收益值,計算A個矩陣的節(jié)點收益值,以及每個節(jié)點的總收益值;再次,根據(jù)遺傳算法更新種群,迭代T代得到A個新的矩陣;最后,根據(jù)對壓縮感知網(wǎng)絡(luò)重構(gòu)算法的改進,用它進行單個節(jié)點重構(gòu),直到所有節(jié)點收益值與實際收益相等,就得到了實際的網(wǎng)絡(luò)。本發(fā)明對節(jié)點較多,度較大的網(wǎng)絡(luò)重構(gòu)也能完全正確,而且時間也非???。
【專利說明】基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于復(fù)雜網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,涉及復(fù)雜網(wǎng)絡(luò)的重構(gòu)和數(shù)據(jù)挖掘技術(shù),具體是一 種基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法。
【背景技術(shù)】
[0002] 復(fù)雜網(wǎng)絡(luò)是現(xiàn)實世界中復(fù)雜系統(tǒng)抽象出來的一種表現(xiàn)形式,現(xiàn)實世界中存在很多 這種類型的復(fù)雜網(wǎng)絡(luò),比如,社會網(wǎng)絡(luò)中的朋友關(guān)系網(wǎng)絡(luò)、電力網(wǎng)、萬維網(wǎng)、生物網(wǎng)絡(luò)中的神 經(jīng)網(wǎng)絡(luò)以及新陳代謝網(wǎng)絡(luò)等等。在現(xiàn)實世界網(wǎng)絡(luò)中,我們把系統(tǒng)中的獨立個體抽象成網(wǎng)絡(luò) 中的節(jié)點,系統(tǒng)中個體之間按照某種規(guī)則而自然形成或人為構(gòu)造的一種關(guān)系抽象成節(jié)點之 間的邊。
[0003] 自從1998年、1999年在"Nature"和"Science"兩個刊物上發(fā)表了關(guān)于小世界網(wǎng) 絡(luò)和Scale-free網(wǎng)絡(luò)的兩篇文章以來,在世界范圍內(nèi)掀起了一股復(fù)雜網(wǎng)絡(luò)的研究熱潮。此 后幾年來,關(guān)于復(fù)雜網(wǎng)絡(luò)的研究取得了很多重要的研究成果,復(fù)雜網(wǎng)絡(luò)已經(jīng)成為科學研究 的一個重要領(lǐng)域。
[0004] 由于復(fù)雜網(wǎng)絡(luò)節(jié)點眾多,結(jié)構(gòu)復(fù)雜,使得其研究非常困難。在科學和工程的許多領(lǐng) 域,人們遇到的感興趣的系統(tǒng)是由網(wǎng)絡(luò)化的元素組成的,這些元素稱為節(jié)點,但該模式的節(jié) 點與節(jié)點的相互作用或網(wǎng)絡(luò)拓撲結(jié)構(gòu)是完全未知。其中未揭示的網(wǎng)絡(luò)拓撲結(jié)構(gòu)可以從實驗 或觀測結(jié)果中提取若干基于時間序列的數(shù)據(jù)來獲取。
[0005] 在過去幾年,網(wǎng)絡(luò)重構(gòu)問題受到了越來越多的關(guān)注,大多數(shù)存在的算法都是基于 壓縮感知算法,它利用網(wǎng)絡(luò)的稀疏性,用壓縮感知模型重構(gòu)網(wǎng)絡(luò),對于稀疏的網(wǎng)絡(luò)效果很 好,但與此同時存在的缺點就是稀疏性的約束,對于復(fù)雜不稀疏的網(wǎng)絡(luò)比如社區(qū)網(wǎng)絡(luò)等就 不能夠重構(gòu)正確,并且時間復(fù)雜度很高,對于大網(wǎng)絡(luò)重構(gòu)很費時,針對已有算法的缺點,本 算法解決的現(xiàn)有算法的不足,不受稀疏性約束,并且大大降低了時間復(fù)雜度。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于根據(jù)網(wǎng)絡(luò)節(jié)點的屬性信息,重構(gòu)出網(wǎng)絡(luò)的整個拓撲結(jié)構(gòu),提供 一種基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法。
[0007] 本發(fā)明的技術(shù)方案是:基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法,包括如下步驟:
[0008] (1)首先隨機初始化 A 個 N*N 的 0-1 矩陣 matrix[N] [N] [A],A = 100 ;
[0009] (2)在囚徒困境博弈下,初始化N個節(jié)點的的博弈策略state[N],然后計算出實 際網(wǎng)絡(luò)在博弈策略state[N]下的節(jié)點收益和總收益payoff_real [N+1],以及A個矩陣 matrix[N][N][A]的收益 payoff[N+l][A];
[0010] ⑶遺傳算法的計算過程:
[0011] (3. 1)每次從A個矩陣matrix [N] [N] [A]中隨機無重復(fù)抽取兩個矩陣matrix [N] [N] [a]和matrix [N] [N] [b],其中a尹b, a、b分別代表隨機抽取的矩陣;
[0012] (3. 2)第一個子代 txt[N] [N] [a]的得到:
[0013] 選取總收益與實際總收益差值最小的父代作為第一個子代,當|payoff[N] [a]-payoff_real[N] I < |payoff[N] [b]-payoff_real[N] I 時,txt[N] [N] [a] =matrix[N] [N] [a];否則 txt[N] [N] [a] = matrix[N] [N] [b];
[0014] (3. 3)第二個子代 txt[N] [N] [b]的得到:
[0015] 對于txt[i] [N] [b]第i行的選取,也就是第i個節(jié)點的鄰接向量的選?。?br>
[0016] 交叉:選取第i個節(jié)點收益較接近payoff_real [i]的父代的第i行,即
[0017] 當 |payoff[i] [a]-payoff_real [i] I < |payoff[i] [b]-payoff_real [i] I 時,
[0018] txt[i] [N] [b] = matrix[i] [N] [a]并且 payoff_txt[i] = payoff[i] [a],
[0019] 否則 txt [i] [N] [b] = matrix [i] [N] [b],payoff_txt [i] = payoff [i] [b],式中 N 表示將matrix [i] [N] [b]第i行的N個值全部賦給txt [i] [N] [b];
[0020] 變異:在第i行選取之后,當txt [i] [j] [b]尹txt [j] [i] [b]時,以概率prop選
【權(quán)利要求】
1. 基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法,其特征在于:包括如下步驟: (1) 首先隨機初始化A個N*N的0-1矩陣matrix[N] [N] [A],A = 100 ; (2) 在囚徒困境博弈下,初始化N個節(jié)點的博弈策略state[N],然后計算出實際網(wǎng)絡(luò) 在博弈策略state [N]下的節(jié)點收益和總收益payoff_real [N+1],以及A個矩陣matrix [N] [N] [A]的收益 payoff[N+l] [A]; (3) 遺傳算法的計算過程: (3. 1)每次從A個矩陣matrix [N] [N] [A]中隨機無重復(fù)抽取兩個矩陣matrix [N] [N] [a]和matrix [N] [N] [b],其中a尹b,a、b分別代表隨機抽取的矩陣; (3. 2)第一個子代txt[N] [N] [a]的得到: 選取總收益與實際總收益差值最小的父代作為第一個子代,當|payoff[N] [a]-payoff_real[N] I < |payoff[N] [b]-payoff_real[N] I 時,txt[N] [N] [a] =matrix[N] [N] [a];否則 txt[N] [N] [a] = matrix[N] [N] [b]; (3. 3)第二個子代txt[N] [N] [b]的得到: 對于txt[i] [N] [b]第i行的選取,也就是第i個節(jié)點的鄰接向量的選取: 交叉:選取第i個節(jié)點收益較接近payoff_real [i]的父代的第i行,即 當 payoff[i][a]-payoff_real[i] ^ payoff[i][b]-payoff_real[i]時, txt [i] [N] [b] = matrix [i] [N] [a]并且 payoff_txt[i] = payoff [i] [a], 否則 txt[i] [N] [b] = matrix[i] [N] [b],payoff_txt[i] = payoff[i] [b],式中 N 表 示將matrix [i] [N] [b]第i行的N個值全部賦給txt [i] [N] [b]; 變異:亦第1_行洗取夕后,3七又1:「1_"1「1_"1「1:)"1古七\1:「1_"1「1_"1「1:)"1時,以概率1^〇口選
當生成的隨機數(shù)random〈prop時,txt[i] [j] [b] = txt[j] [i] [b],更新節(jié)點i收益值 payoff_txt [i],否則 txt [ j] [i] [b] = txt [i] [ j] [b],更新節(jié)點收益值 payoff_txt [ j]; (3. 4)最后更新種群,matrix[N] [N] [a] = txt [N] [N] [a] ,matrix[N] [N] [b] = txt [N] [N] [b]; (3. 5)重復(fù)步驟(3) 50次; (4) 重復(fù)T次步驟⑵和(3),T = 100,即種群更新迭代100次,得到A個鄰接矩陣 matrix[N][N][A]; (5) 隨機抽取一個矩陣matriX[N][N][m],計算節(jié)點與實際收益的差值并按降序排列 (Lvalue [N] [2],第一列存儲節(jié)點,第二列存儲該節(jié)點的收益差值; (6) 用基于壓縮感知和博弈的重構(gòu)算法對節(jié)點X = d_value[l] [1]重構(gòu),得到X的鄰接 向量 avrage[x]: (7) 把節(jié)點d_value[l] [1]的鄰接向量avrage[x]按照對稱原則對應(yīng)賦值給步驟(4) 得到的100個矩陣matrix [N] [N] [A],得到100個新的初始種群,按照步驟(3)運行一次; (8) 重復(fù)步驟(5)、(6)、(7)直到節(jié)點收益值與實際相等,得到重構(gòu)的網(wǎng)絡(luò)。
2. 根據(jù)權(quán)利要求1所述的基于博弈和遺傳算法的網(wǎng)絡(luò)重構(gòu)算法,其特征在于:其中步 驟(2)所述的計算節(jié)點的收益是通過下面的公式計算的:
Fij表示節(jié)點i與節(jié)點j博弈后節(jié)點i獲得的收益值; Gi表示節(jié)點i和與i相連節(jié)點博弈的收益值之和; r i表示與節(jié)點i有連接的節(jié)點的集合; Sp 表示節(jié)點i和節(jié)點j的策略矩陣; 公式中的T表示矩陣的轉(zhuǎn)置符號; S(C)表示為合作的策略矩陣,S(D)表示為背叛的策略矩陣。
【文檔編號】G06N3/12GK104331738SQ201410562460
【公開日】2015年2月4日 申請日期:2014年10月21日 優(yōu)先權(quán)日:2014年10月21日
【發(fā)明者】吳建設(shè), 焦李成, 張曉博, 尚榮華, 馬文萍, 馬晶晶, 王爽, 戚玉濤 申請人:西安電子科技大學