本發(fā)明屬于計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,涉及一種基于時(shí)間分層的復(fù)雜網(wǎng)絡(luò)傳播源點(diǎn)定位方法。
背景技術(shù):
現(xiàn)實(shí)世界中的很多復(fù)雜系統(tǒng)都可以抽象為復(fù)雜網(wǎng)絡(luò),例如社會(huì)網(wǎng)絡(luò)、Internet網(wǎng)絡(luò)、生物網(wǎng)絡(luò)等。傳播是網(wǎng)絡(luò)上普遍存在的動(dòng)態(tài)過程,例如疾病在人群網(wǎng)絡(luò)中的傳播、謠言在社交網(wǎng)絡(luò)中的傳播、數(shù)據(jù)包在Internet網(wǎng)絡(luò)上的傳播等。如何分析、理解及控制復(fù)雜網(wǎng)絡(luò)上信息傳播過程,已成為計(jì)算機(jī)科學(xué)、社會(huì)學(xué)、物理學(xué)等多個(gè)學(xué)科的熱點(diǎn)研究方向。定位復(fù)雜網(wǎng)絡(luò)中的傳播源點(diǎn),即找到首先發(fā)布傳播的源頭節(jié)點(diǎn),是網(wǎng)絡(luò)傳播分析的關(guān)鍵問題之一。只有找到傳播發(fā)生的源頭,才能夠準(zhǔn)確還原傳播過程,預(yù)測(cè)傳播范圍、控制傳播影響等。監(jiān)控復(fù)雜網(wǎng)絡(luò)上的傳播過程,找出傳播的源點(diǎn),對(duì)于許多實(shí)際問題具有重要的意義。
有效距離是由Dirk Brockmann等人在《The Hidden Geometry of Complex,Network-Driven Contagion》中提出的。現(xiàn)以航空網(wǎng)絡(luò)中的人口遷移來說明有效距離。例如,在一個(gè)航空網(wǎng)絡(luò)中,從n到m存在航線,每天將一定數(shù)量的人口從n到m,那么定義從n節(jié)點(diǎn)到其直接相連的m節(jié)點(diǎn)的有效距離dmn=(1-logPmn)≥1。
有效距離的概念反映了一種想法,即如果n到m的移動(dòng)率很小意味著兩點(diǎn)之間的距離大,反之距離越短。由于節(jié)點(diǎn)之間的移動(dòng)率Pmn≠Pnm。有效距離通常來說是不對(duì)稱的,即dmn≠dnm?;谟行Ь嚯x的概念,可以定義一條有向路徑Γ={n1,...,nL}的有效長度λ(Γ)為這條路徑上每條邊的有效距離之和。此外定義網(wǎng)絡(luò)中隨機(jī)的一個(gè)節(jié)點(diǎn)n到另外一個(gè)節(jié)點(diǎn)m的有效距離Dmn為n到m之間最短路徑的有效長度,這里的路徑的有效距離同樣不具有對(duì)稱性,即Dmn≠Dmn。即Dmn=minλ(Γ)。
流行病,謠言在全球傳播是一個(gè)復(fù)雜的、動(dòng)態(tài)的網(wǎng)絡(luò)驅(qū)動(dòng)過程。然而,由于網(wǎng)絡(luò)的規(guī)模巨大,無法監(jiān)測(cè)所有節(jié)點(diǎn)的狀態(tài);由于網(wǎng)絡(luò)的結(jié)構(gòu)復(fù)雜,很難還原信息的傳播過程.已有很多工作致力于建立網(wǎng)絡(luò)傳播模型及分析傳播動(dòng)力學(xué)過程,但是,對(duì)于如何定位大規(guī)模復(fù)雜網(wǎng)絡(luò)上的潛在傳播源點(diǎn)還知之甚少。因此,尋找大規(guī)模復(fù)雜網(wǎng)絡(luò)中傳播過程的源頭節(jié)點(diǎn),具有迫切的現(xiàn)實(shí)意義和應(yīng)用價(jià)值。
對(duì)于復(fù)雜網(wǎng)絡(luò)上的傳播源點(diǎn)定位問題,一類方法是獲取網(wǎng)絡(luò)的傳播子網(wǎng),即網(wǎng)絡(luò)中所有收到消息的節(jié)點(diǎn)構(gòu)成的子圖,通過基于拓?fù)渲行男曰騻鞑ヂ窂降姆治?找到最有可能的傳播源點(diǎn).例如,一種方法基于有效距離的概念,將復(fù)雜的傳播拓?fù)溥€原為環(huán)狀擴(kuò)散,而擴(kuò)散圓心即為潛在的傳播源點(diǎn)。由于源點(diǎn)一定包含在傳播子圖中,并且所有節(jié)點(diǎn)的感染狀態(tài)已知,所以這類方法的定位準(zhǔn)確率較高。但是,對(duì)于超大規(guī)模網(wǎng)絡(luò),例如在線社交網(wǎng)絡(luò)來說,獲取全部的傳播子圖的規(guī)模極大,很難應(yīng)用于實(shí)際傳播。另一類方法根據(jù)網(wǎng)絡(luò)中部分節(jié)點(diǎn)的傳播狀態(tài),推斷潛在的傳播源點(diǎn).預(yù)先選擇的部分觀察點(diǎn)記錄收到消息的時(shí)間和方向,采用最大似然估計(jì)方法估計(jì)消息源點(diǎn)。這種方法能夠有效地降低傳播數(shù)據(jù)的需求,因此具有很大的應(yīng)用潛力。然而,由于觀察點(diǎn)數(shù)量一般較少,觀測(cè)數(shù)據(jù)并不完整,這種方法的定位準(zhǔn)確率較低,很難應(yīng)用于真實(shí)網(wǎng)絡(luò)中復(fù)雜傳播過程。
本發(fā)明提出的方法結(jié)合了兩種方法的優(yōu)勢(shì),基于部分觀察方法,利用節(jié)點(diǎn)間的有效距離進(jìn)行定位,能夠在監(jiān)測(cè)少量觀察點(diǎn)的前提下哦,以較小的監(jiān)測(cè)代價(jià),有效地提高源點(diǎn)定位的準(zhǔn)確率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種基于時(shí)間分層的源點(diǎn)定位方法,該方法能夠基于少量觀察節(jié)點(diǎn)的監(jiān)測(cè)數(shù)據(jù),利用時(shí)間分層方法,將觀察節(jié)點(diǎn)分組,并利用集成學(xué)習(xí)機(jī)制,提高源點(diǎn)定位準(zhǔn)確率。
本發(fā)明的一種基于時(shí)間分層的源點(diǎn)定位方法,采用的技術(shù)方案如下:
步驟1,部署網(wǎng)絡(luò)觀察節(jié)點(diǎn)
在網(wǎng)絡(luò)G(V,E)中預(yù)先選擇若干節(jié)點(diǎn)作為觀察點(diǎn),記為O={o1,o2,..ok},其中V為節(jié)點(diǎn)集合,E為邊集合。當(dāng)觀察點(diǎn)o在首次收到消息m時(shí),記錄了收到消息的時(shí)間t和方向v,表示觀察節(jié)點(diǎn)o從節(jié)點(diǎn)v在時(shí)間t收到消息m,如圖1a、圖1b所示。
步驟2,建立分層觀察節(jié)點(diǎn)
首先找出網(wǎng)絡(luò)中所有被感染的觀察節(jié)點(diǎn),根據(jù)其感染時(shí)間找出最先被感染的節(jié)點(diǎn)o1及感染時(shí)間t1,最后被感染的觀察節(jié)點(diǎn)ok及其感染時(shí)間tk,計(jì)算感染事件窗口長度t=tk-t1。
設(shè)定分層閾值θ,從t=t1開始,統(tǒng)計(jì)該時(shí)刻中的觀察點(diǎn)數(shù)目,如果小于θ,則將該時(shí)刻中的觀察點(diǎn)與下一時(shí)刻中的觀察點(diǎn)合并構(gòu)成一個(gè)新的分層,然后繼續(xù)統(tǒng)計(jì)該新分層中觀察點(diǎn)的數(shù)目,如果大于等于θ,則第一層確定;如果新分層中觀察點(diǎn)的數(shù)目如果依然小于θ,則繼續(xù)合并下一個(gè)時(shí)刻的觀察點(diǎn),直至新分層中的觀察點(diǎn)數(shù)目大于等于θ,第一分層確定。之后按照上述方法構(gòu)建接下來的分層,直到將所有被感染的觀察點(diǎn)均分層完畢,最終產(chǎn)生m個(gè)分層。具體分層流程如圖2所示。
步驟3,基于分層的源點(diǎn)定位
對(duì)m個(gè)分層分別進(jìn)行源點(diǎn)定位。每一層的定位方法如下:
Step1:令候選源點(diǎn)集Λ為除觀察點(diǎn)外所有節(jié)點(diǎn),計(jì)算候選源點(diǎn)集Λ中的每個(gè)候選源點(diǎn)到當(dāng)前分層中所有觀察點(diǎn)的有效距離Deff;
Step2:計(jì)算每個(gè)候選源點(diǎn)的有效距離的均值avg_eff和方差var_eff,并取均值和方差的和作為該候選源點(diǎn)的定位比較值L=avg_eff+var_eff
Step3:比較所有候選源點(diǎn)的定位比較值,按照定位比較值從小到大的順序選出前k個(gè)節(jié)點(diǎn),得到該層的定位結(jié)果序列。
步驟4,分層定位結(jié)果集成
令分層i得到的結(jié)果序列為Li={n1,n2..,nk},為Li中的節(jié)點(diǎn)分配權(quán)值{k-1,k-2,…,0},即權(quán)值Li(n1)=k-1,Li(n2)=k-2,以此類推。計(jì)算所有分層結(jié)果序列中節(jié)點(diǎn)的得分其中i={1,…,m}為分層數(shù),pi為第i層觀察點(diǎn)占總觀察點(diǎn)的比例。得分最高的節(jié)點(diǎn)即為傳播源頭節(jié)點(diǎn)。
本發(fā)明能夠克服大規(guī)模復(fù)雜網(wǎng)絡(luò)中觀察節(jié)點(diǎn)較少引起的定位準(zhǔn)確率低下的問題,能夠以較少的觀察節(jié)點(diǎn)數(shù)量,達(dá)到較高的觀察準(zhǔn)確率,從而以較小的代價(jià)更有效的定位傳播源點(diǎn)。本發(fā)明在僅監(jiān)測(cè)網(wǎng)絡(luò)中少量節(jié)點(diǎn)傳播狀態(tài)的前提下,能夠準(zhǔn)確的定位傳播的源頭節(jié)點(diǎn)。與類似方法相比,在全球航空網(wǎng)絡(luò)與BA、ER模型網(wǎng)絡(luò)的實(shí)驗(yàn)測(cè)試中,本發(fā)明在相同比例的觀察點(diǎn)前提下具有更高的定位準(zhǔn)確率。
附圖說明
圖1a為網(wǎng)絡(luò)傳播與觀察點(diǎn)的開始時(shí)刻部署示意圖。
圖1b為網(wǎng)絡(luò)傳播與觀察點(diǎn)的結(jié)束時(shí)刻部署示意圖。
圖2為ER網(wǎng)絡(luò)上的方法定位準(zhǔn)確率比較。
圖3為BA網(wǎng)絡(luò)上的方法定位準(zhǔn)確率比較。
圖4為全球航空網(wǎng)絡(luò)上的方法定位準(zhǔn)確率比較。
圖中:
源點(diǎn)節(jié)點(diǎn)首次感染經(jīng)過的邊
觀察點(diǎn)節(jié)點(diǎn)首次感染未經(jīng)過的邊
分層算法-高度策略
分層算法-隨機(jī)策略
K-Center算法-高度策略
K-Center算法-隨機(jī)策略
—EF算法—
具體實(shí)施方式
以下結(jié)合技術(shù)方案和附圖詳細(xì)敘述本發(fā)明的具體實(shí)施例。
在網(wǎng)絡(luò)中隨機(jī)選取一個(gè)非觀察點(diǎn)作為傳播源點(diǎn)進(jìn)行隨機(jī)傳播,觀察點(diǎn)同時(shí)記錄傳播信息。使用分層定位方法法進(jìn)行定位估計(jì),如果估計(jì)源點(diǎn)與實(shí)際源點(diǎn)一致,則記為定位成功。定位準(zhǔn)確率為多次隨機(jī)試驗(yàn)下的定位成功的比例。
我們選用有效距離(EF)方法(Dirk Brockmann等提出的方法)和K-Center方法與分層方法進(jìn)行比較。采用高度優(yōu)先和隨機(jī)部署兩種觀察點(diǎn)部署策略,分別做500次隨機(jī)傳播試驗(yàn)。實(shí)驗(yàn)結(jié)果如圖2-4所示??梢钥闯觯?dāng)觀察點(diǎn)比例大于15%后,分層方法在兩種觀察點(diǎn)部署策略下均好于EF方法和k-center方法。隨著觀察點(diǎn)比例逐漸增大,分層方法的準(zhǔn)確率均有較大的提高。