本發(fā)明涉及智能算法和傳播動力學領域,尤其是一種基于生物智能的傳播源定位方法。
背景技術:
:隨著信息技術發(fā)展和因特網(wǎng)的普及,新型的社交網(wǎng)絡如微博、朋友圈、facebook等大量涌現(xiàn),使得信息傳播越來越便捷的同時網(wǎng)絡災害(如謠言、計算機病毒)也愈發(fā)嚴重。例如2001年CodeRed蠕蟲在24小時感染了至少359000臺主機并帶來了約26億美元的損失;2013年Tweet上一條“奧巴馬在白宮內(nèi)兩次爆炸中受傷”的謠言一經(jīng)發(fā)布,導致道瓊斯股票瞬間下降,在幾個小時內(nèi)造成了約100億美元的流失。因此,如何抑制網(wǎng)絡災害的傳播具有重要現(xiàn)實意義?,F(xiàn)有研究發(fā)現(xiàn),如果能夠在網(wǎng)絡災害爆發(fā)的第一時間找到傳播源,對抑制風險的擴散及挽救其所帶來的損害具有重要意義。目前傳播源定位方法根據(jù)可獲得信息的不同主要分為3類:基于完全觀測、基于子網(wǎng)絡傳播快照以及基于觀察點?;谕耆^測的定位方法是在掌握了某一時刻整個網(wǎng)絡中每個節(jié)點的準確狀態(tài)的情況下實施的,這種需求對于小規(guī)模網(wǎng)絡或許可行,但對于現(xiàn)實世界網(wǎng)絡或稍大范圍的網(wǎng)絡是幾乎不可行的?;趥鞑タ煺盏姆椒ㄐ枰@得某一時刻網(wǎng)絡部分節(jié)點的狀態(tài),相比較于完全觀測的定位方法具有更廣泛的應用范圍,但需要子網(wǎng)絡中每個節(jié)點間動態(tài)傳播的信息,這對于現(xiàn)實普遍存在的大規(guī)模社交網(wǎng)絡仍然很難實現(xiàn)?;谟^察點的定位方法通過在網(wǎng)絡中布置少量觀察點,利用觀察點反饋的被感染信息來定位傳播源。與基于完全觀測和基于傳播快照的方法相比,基于觀察點的定位方法更加靈活和實用,具有較好的應用前景。目前,基于觀察點進行傳播源定位研究的難點集中在如何根據(jù)觀察點反饋的感染信息正向或反向還原傳播路徑。正向還原方式以Pinto等提出的Gaussian方法為代表(PhysicalReviewLetters,109:068702,2012),執(zhí)行方式為:首先假設信息等從源點出發(fā)按照某種傳播方式進行擴散得到觀察點實際被感染時刻,然后在推演過程依次假設信息從各候選源點傳播得到觀察點理論被感染時刻,最后利用多元正態(tài)分布概率密度比較實際被感染時刻和理論被感染時刻之間的相似度確定傳播源位置。反向還原方式以Shen等2016年提出的定位方法為代表(PhysicalReviewE,93:032301,2016),執(zhí)行方式為:首先同樣假設信息等從源點出發(fā)按照某種傳播方式進行擴散得到觀察點實際被感染時刻,隨后利用觀察點反向傳播,求得各節(jié)點發(fā)起傳播的時間矩陣,通過對各節(jié)點時間矩陣方差的計算,選取最小值對應的點作為傳播源點。然而不管正向或反向還原,均存在如下2種缺點:(1)假設信息按最短路徑傳播,這種假設在大多數(shù)情況下是不合理的,實際傳播過程并非嚴格遵循最短路徑,它通常是以影響最大化為目標進行擴散;(2)預測準確性依賴于推導過程同樣使用了初始假設的傳播模型的參數(shù),而在真實環(huán)境中無法預知傳播模型,更無法獲知其傳播參數(shù)值,而一旦初始傳播模型改變,現(xiàn)有方法的定位準確率就會很低。技術實現(xiàn)要素:本發(fā)明提供了基于生物智能的傳播源定位方法,用以解決現(xiàn)有技術存在的問題。本發(fā)明的基于生物智能的傳播源定位方法,包括:S1、獲取觀察點被感染時刻并計算觀察點間的實際傳播延遲向量;S2、計算多頭絨泡菌網(wǎng)絡中各節(jié)點壓力;S3、判斷是否達到多頭絨泡菌最大迭代次數(shù),若是,則跳轉入步驟S6;否則轉入步驟S4;S4、計算所述多頭絨泡菌網(wǎng)絡中各管道內(nèi)的流量;S5、更新所述多頭絨泡菌網(wǎng)絡中各管道傳導性,并返回步驟S2重新計算多頭絨泡菌網(wǎng)絡中各節(jié)點壓力;S6、基于所述多頭絨泡菌網(wǎng)絡計算傳播路徑上的時延;S7、遍歷候選源點,基于所述多頭絨泡菌網(wǎng)絡計算各觀察點的理論被感染時刻和觀察點間的理論傳播延遲向量;S8、計算每個候選源點對應得到的理論傳播延遲向量與實際傳播延遲向量的相似度,并取相似度最大的候選源點為預測的傳播源。其中,步驟S1之前還包括:S0、初始化所述多頭絨泡菌網(wǎng)絡的各主要參數(shù)。將多頭絨泡菌網(wǎng)絡中的邊看作有流量的生物管道,節(jié)點看作食物源。其中,步驟S0中所述的主要參數(shù)包括:管道的傳導性D,管道的長度L,多頭絨泡菌網(wǎng)絡中的總流量I0,以及多頭絨泡菌最大迭代次數(shù)Tsteps。其中,步驟S1中令表示K個觀察點被感染的實際時刻集合;用實際傳播延遲向量d表示其它觀察點與第一個被感染的觀察點之間的實際時間差,即d={d1,d2,...,dK-1}T,向量d中元素的計算公式如下:dk=tk+1-t1(1)公式(1)中t1和tk+1分別表示第1個和第k+1個被感染的觀察點的實際時刻。其中,步驟S2中通過如下公式計算多頭絨泡菌網(wǎng)絡中各節(jié)點壓力:ΣiDijLij(pim-pjm)=-I0,forj=aI0,forj=b0,otherwise---(2)]]>公式(2)中代表當管道m(xù)連接的兩個節(jié)點a和b分別被選為整個網(wǎng)絡中流量的入口和出口時節(jié)點i的壓力,Dij代表管道(i,j)的傳導性,Lij代表管道(i,j)的長度,I0代表多頭絨泡菌網(wǎng)絡中的總流量且在網(wǎng)絡演化過程中始終保持不變;上述公式(2)被循環(huán)執(zhí)行直到每個管道連接的節(jié)點均被選為一次入口與出口組合為止;然后根據(jù)下述公式計算每個節(jié)點的平均壓力作為每個節(jié)點的最終壓力值:p‾i=1MΣm=1Mpim---(3)]]>公式(3)中表示節(jié)點i的平均壓力,M表示多頭絨泡菌網(wǎng)絡中管道總數(shù),表示當管道m(xù)連接的節(jié)點被選為入口與出口組合時節(jié)點i的壓力。其中,步驟S4中所述管道內(nèi)的流量Qij計算公式如下:Qij=DijLij(p‾i-p‾j)---(4)]]>公式(4)中Dij表示管道傳導性,Lij表示管道長度,表示節(jié)點平均壓力。其中,步驟S5中所述管道傳導性的更新公式如下:dDijdt=|Qij|1+|Qij|-Dij---(5)]]>公式(5)中Dij表示管道傳導性,Qij表示管道內(nèi)的流量。其中,步驟S6中所述的基于多頭絨泡菌網(wǎng)絡計算傳播路徑上的時延,具體是通過受力分析刻畫單位物質(zhì)在每條管道中運輸消耗的時間作為信息在傳播路徑上的時延。其中,所述的受力分析步驟具體為:將每條管道看做獨立的電場,單位物質(zhì)在電場力F作用下做勻加速運動,管道(i,j)內(nèi)的電場力Fij可表示為其中e表示單位物質(zhì)的質(zhì)量,表示節(jié)點的平均壓力,Lij表示管道長度;那么,管道(i,j)內(nèi)的加速度aij可表示為單位物質(zhì)在管道(i,j)內(nèi)消耗的時間,也即傳播路徑上的時延θij可用如下公式表示:θij=2Lijaij=Lij2|p‾i-p‾j|---(6).]]>其中,步驟S7中設節(jié)點si被選為候選源點,它從t*時刻開始傳播,|I(si,ok)|代表單位物質(zhì)從源點si運輸?shù)接^察點ok消耗的最短時間,它根據(jù)每條管道上消耗的時間θ計算;因此,基于多頭絨泡菌網(wǎng)絡,當源點為si時觀察點ok被感染的理論時刻可用如下公式表示:tksi=t*+|l(si,ok)|---(7)]]>根據(jù)公式(7),當源點為si時,觀察點間的理論傳播延遲向量也即其它觀察點與第一個被感染的觀察點之間的理論時間差可表示為:向量中元素的計算公式如下:pdksi=tk+1si-t1si=|l(si,ok+1)|-|l(si,o1)|---(8)]]>公式(8)中,和分別表示當源點為si時,第1個和第k+1個被感染的觀察點的理論時刻,|I(si,o1)|和|I(si,ok+1)|分別表示單位物質(zhì)從源點si運輸?shù)嚼碚撋系?個被感染的觀察點o1和第k+1個被感染的觀察點ok+1消耗的最短時間。其中,步驟S8中所述的相似度采用理論傳播延遲向量與實際傳播延遲向量d之間的距離計算,那么預測的源點s′可用如下公式表示:s′=argminsi∈SΣk=1K-1(pdksi-dk)2---(9)]]>公式(9)中S表示候選源點集合,表示當候選源點為si時第k+1個被感染的觀察點與第1個被感染的觀察點的理論時間差,dk表示第k+1個被感染的觀察點與第1個被感染的觀察點的實際時間差。本發(fā)明的基于生物智能的傳播源定位方法,與現(xiàn)有技術相比,現(xiàn)有基于觀察點的傳播源定位方法假設信息按最短路徑傳播,而實際情況傳播過程不是嚴格遵循最短路徑,影響了定位方法的準確率,本發(fā)明引入多頭絨泡菌模型對傳播網(wǎng)絡進行優(yōu)化,利用生物物質(zhì)在網(wǎng)絡中最經(jīng)濟運輸?shù)男袨榉绞絹砟M信息以影響力最大化為目標的擴散方式,具有更高的定位準確率?,F(xiàn)有技術的預測準確性依賴于推導過程中使用的初始假設的傳播模型參數(shù),而本發(fā)明推導過程與初始假設模型無關,具有更廣泛的應用價值?!靖綀D說明】圖1是本發(fā)明實施方式的流程圖;圖2(a)~(d)是本發(fā)明定位方法Physarum方法與經(jīng)典Gaussian方法、假設傳播模型為SI的GaussianSI方法在4種網(wǎng)絡下當觀察點比例為15%時,錯誤距離頻率的對比示圖。圖3(a)~(d)是本發(fā)明定位方法Physarum方法與經(jīng)典Gaussian方法、假設傳播模型為SI的GaussianSI方法在4種網(wǎng)絡下隨觀察點比例增加錯誤距離平均值對比示圖。實驗時選用4種經(jīng)典網(wǎng)絡,分別為karate網(wǎng)絡、dolphins網(wǎng)絡、football網(wǎng)絡和jazzmusicians網(wǎng)絡,進行信息傳播。4種網(wǎng)絡的拓撲結構如圖2(a)~(d)左邊圖形所示,其中三角形代表觀察點,圓形代表網(wǎng)絡中的其它節(jié)點,在推導過程,圓形節(jié)點均被視為候選源點。針對每個網(wǎng)絡分別隨機選擇傳播源點進行了10次實驗。評價指標為錯誤距離,定義為預測源點與實際源點之間的跳數(shù)。對比算法為Pinto等2012年發(fā)表在Phys.Rev.Lett.上的Gaussian方法,同時為展現(xiàn)現(xiàn)有技術預測準確性嚴格依賴于假設傳播模型這一缺點,設計了GaussianSI方法,該方法在Gaussian方法基礎上將原有假設傳播模型Gaussian改為經(jīng)典的Susceptible-Infected(SI)傳播模型,即Gaussian方法假設網(wǎng)絡中傳播路徑上的時延特征服從Gaussian分布并通過計算最短路徑來得到觀察點實際被感染時刻,GaussianSI方法假設傳播從源點出發(fā)根據(jù)SI模型得到觀察點實際被感染時刻。為公平起見,本發(fā)明Physarum方法中觀察點的實際感染時刻同樣根據(jù)SI傳播模型得到。圖2(a)~(d)比較了當觀察點比例為15%時,3種方法在4種網(wǎng)絡下錯誤距離的頻率。結果顯示,Gaussian方法預測的錯誤距離與實際源點最接近,錯誤距離大致在0-2,而當假設傳播模型改為SI時,GaussianSI方法的預測能力下降,錯誤距離大致在2-4,本發(fā)明設計的Physarum方法預測能力優(yōu)于GaussianSI方法,錯誤距離大致在2-3。進一步,圖3(a)~(d)比較了隨觀察點比例增加,3種方法在4種網(wǎng)絡下的錯誤距離平均值。結果顯示,GaussianSI方法的表現(xiàn)較Gaussian方法差距較大,這也進一步驗證了現(xiàn)有技術對假設模型的強依賴關系。而Physarum方法的錯誤距離平均值均比GaussianSI方法低,說明在不依賴假設模型的情況下,本發(fā)明方法優(yōu)于現(xiàn)有方法,有更廣泛的應用價值?!揪唧w實施方式】為解決上述現(xiàn)有技術的問題,本發(fā)明從一種智能生物多頭絨泡菌覓食過程獲得啟發(fā),多頭絨泡菌演化過程能夠形成一個高效網(wǎng)絡將離散分布的食物源進行連接,在網(wǎng)絡內(nèi)部營養(yǎng)物質(zhì)和代謝產(chǎn)物能夠以最經(jīng)濟的方式運輸。本發(fā)明設計的方法通過模擬多頭絨泡菌網(wǎng)絡內(nèi)部物質(zhì)的運輸過程,來刻畫信息在社交網(wǎng)絡上的傳播過程,優(yōu)勢在于推導過程不依賴于假設傳播模型。以下通過實施例詳細說明。參見圖1所示,本實施例的基于生物智能的傳播源定位方法具體步驟如下:S101初始化各主要參數(shù)。將多頭絨泡菌網(wǎng)絡中的邊看作有流量的生物管道,管道有傳導性D、長度L和流量Q三個屬性;管道連接的節(jié)點看作是食物源,有壓力p一個屬性;多頭絨泡菌網(wǎng)絡中的總流量I0在網(wǎng)絡演化過程中始終保持不變,初始化為10。傳導性與管道的粗細正相關,初始時各管道的粗細一致,因此在初始化過程,將每條管道傳導性D均設為常數(shù)1,管道的長度L在社交網(wǎng)絡中同樣可初始化為相同的值1或服從某種分布,在本實驗中為保持與對比方法(Gaussian方法與GaussianSI方法)的推導過程一致,初始化管道長度L服從Gaussian分布。根據(jù)大量重復實驗,多頭絨泡菌模型在迭代300步時可收斂為穩(wěn)定的網(wǎng)絡結構,因此將多頭絨泡菌最大迭代次數(shù)Tsteps優(yōu)選設為300。S102獲取觀察點被感染時刻并計算觀察點間的實際傳播延遲向量。令表示K個觀察點被感染的實際時刻集合,用實際傳播延遲向量d表示其它觀察點與第一個被感染的觀察點之間的實際時間差,d={d1,d2,...,dK-1}T,向量d中元素的計算方法見如下公式:dk=tk+1-t1(1)公式(1)中t1和tk+1分別表示第1個和第k+1個被感染的觀察點的實際時刻。S103計算多頭絨泡菌網(wǎng)絡中各節(jié)點壓力。應用多頭絨泡菌模型對傳播網(wǎng)絡進行優(yōu)化。在多頭絨泡菌模型的一個迭代過程中,每對有管道相連的節(jié)點均有一次機會被選為入口與出口組合。當被管道m(xù)連接的兩個節(jié)點a和b分別被選為整個網(wǎng)絡中流量的入口和出口時,可根據(jù)基爾霍夫定律計算每個節(jié)點的壓力p,計算方法見如下公式:ΣiDijLij(pim-pjm)=-I0,forj=aI0,forj=b0,otherwise---(2)]]>公式(2)中代表節(jié)點i的壓力,Dij代表管道(i,j)的傳導性,Lij代表管道(i,j)的長度,I0代表多頭絨泡菌網(wǎng)絡中的總流量且在網(wǎng)絡演化過程中始終保持不變。上述公式(2)被循環(huán)執(zhí)行直到每個管道連接的節(jié)點均被選為一次入口與出口組合為止。然后根據(jù)下述公式計算每個節(jié)點的平均壓力作為每個節(jié)點的最終壓力值。p‾i=1MΣm=1Mpim---(3)]]>公式(3)中表示節(jié)點i的平均壓力,M表示多頭絨泡菌網(wǎng)絡中管道總數(shù),表示當管道m(xù)連接的節(jié)點被選為入口與出口組合時節(jié)點i的壓力。S104判斷是否達到多頭絨泡菌最大迭代次數(shù)。如果沒有達到最大迭代次數(shù)300,則執(zhí)行步驟S105;否則,執(zhí)行步驟S107。S105計算多頭絨泡菌網(wǎng)絡中各管道內(nèi)的流量。根據(jù)泊肅葉定理,管道內(nèi)的流量Qij計算公式如下:Qij=DijLij(p‾i-p‾j)---(4)]]>公式(4)中Dij表示管道傳導性,Lij表示管道長度,表示節(jié)點平均壓力。S106更新多頭絨泡菌網(wǎng)絡中各管道傳導性。多頭絨泡菌網(wǎng)絡中管道傳導性和流量之間存在正反饋關系,這是模型模擬多頭絨泡菌演化形成高效網(wǎng)絡的核心。隨流量改變,管道傳導性更新公式如下,更新后的傳導性作為下次迭代計算各節(jié)點壓力的輸入。dDijdt=|Qij|1+|Qij|-Dij---(5)]]>公式(5)中Dij表示管道傳導性,Qij表示管道流量S107基于多頭絨泡菌網(wǎng)絡計算傳播路徑上的時延。通過受力分析刻畫單位物質(zhì)在每條管道中運輸消耗的時間作為信息在傳播路徑上的時延。受力分析步驟為:將每條管道看做獨立的電場,單位物質(zhì)在電場力F作用下做勻加速運動,管道(i,j)內(nèi)的電場力Fij可表示為其中e表示單位物質(zhì)的質(zhì)量,表示節(jié)點的平均壓力,Lij表示管道長度。那么,管道(i,j)內(nèi)的加速度aij可表示為因此,單位物質(zhì)在管道(i,j)內(nèi)消耗的時間,也即傳播路徑上的時延θij可用如下公式表示:θij=2Lijaij=Lij2|p‾i-p‾j|---(6)]]>S108遍歷所有候選源點,基于多頭絨泡菌網(wǎng)絡計算各觀察點的理論被感染時刻和觀察點間的理論傳播延遲向量。假設節(jié)點si被選為候選源點,它從t*時刻開始傳播,|I(si,ok)|代表單位物質(zhì)從源點si運輸?shù)接^察點ok消耗的最短時間,它根據(jù)S107得到的每條管道上消耗的時間θ計算。因此,基于多頭絨泡菌網(wǎng)絡,當源點為si時觀察點ok被感染的理論時刻可用如下公式表示:tksi=t*+|l(si,ok)|---(7)]]>根據(jù)公式(7),當源點為si時,觀察點間的理論傳播延遲向量也即其它觀察點與第一個被感染的觀察點之間的理論時間差可表示為:向量中元素的計算公式如下:pdksi=tk+1si-t1si=|l(si,ok+1)|-|l(si,o1)|---(8)]]>公式(8)中,和分別表示當源點為si時,第1個和第k+1個被感染的觀察點的理論時刻,|I(si,o1)|和|I(si,ok+1)|分別表示單位物質(zhì)從源點si運輸?shù)嚼碚撋系?個被感染的觀察點o1和第k+1個被感染的觀察點ok+1消耗的最短時間。S109計算每個候選源點對應得到的理論傳播延遲向量與實際傳播延遲向量的相似度,使得相似度最大的即為預測的傳播源。相似度采用理論傳播延遲向量與實際傳播延遲向量d之間的距離計算,那么預測的源點s′可用如下公式表示:s′=argminsi∈SΣk=1K-1(pdksi-dk)2---(9)]]>公式(9)中S表示候選源點集合,表示當候選源點為si時第k+1個被感染的觀察點與第1個被感染的觀察點的理論時間差,dk表示第k+1個被感染的觀察點與第1個被感染的觀察點的實際時間差。綜上,本實施例的基于生物智能的傳播源定位方法與現(xiàn)有技術相比,本發(fā)明有如下2方面有益效果:(1)現(xiàn)有基于觀察點的傳播源定位方法假設信息按最短路徑傳播,而實際情況傳播過程不是嚴格遵循最短路徑,影響了定位方法的準確率,本發(fā)明引入多頭絨泡菌模型對傳播網(wǎng)絡進行優(yōu)化,利用生物物質(zhì)在網(wǎng)絡中最經(jīng)濟運輸?shù)男袨榉绞絹砟M信息以影響力最大化為目標的擴散方式,具有更高的定位準確率。(2)現(xiàn)有技術的預測準確性依賴于推導過程中使用的初始假設的傳播模型參數(shù),而本發(fā)明推導過程與初始假設模型無關,具有更廣泛的應用價值。這里本發(fā)明的描述和應用都只是說明性和示意性的,并非是想要將本發(fā)明的范圍限制在上述實施例中。這里所披露的實施例的變形和改變是完全可能的,對于那些本領域的普通技術人員來說,實施例的替換和等效的各種部件均是公知的。本領域技術人員還應該清楚的是,在不脫離本發(fā)明的精神或本質(zhì)特征的情況下,本發(fā)明可以以其它形式、結構、布置、比例,以及用其它組件、材料和部件來實現(xiàn),以及在不脫離本發(fā)明范圍和精神的情況下,可以對這里所披露的實施例進行其它變形和改變。當前第1頁1 2 3