欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法

文檔序號(hào):10513018閱讀:252來(lái)源:國(guó)知局
基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法,實(shí)現(xiàn)步驟包括:(1)網(wǎng)絡(luò)聚類(lèi);(2)候選節(jié)點(diǎn)選擇;(3)利用在候選節(jié)點(diǎn)中找出能使社交網(wǎng)絡(luò)中的影響達(dá)到最大化的重要節(jié)點(diǎn)集合。步驟(3)包括:1)確定目標(biāo)函數(shù);2)構(gòu)造初始解種群,采用基于相似度的度中心性方法對(duì)解種群中的個(gè)體進(jìn)行初始化;3)依次對(duì)解種群中個(gè)體進(jìn)行選擇、交叉變異操作得到子代個(gè)體;4)利用子代個(gè)體更新解種群;5)局部搜索更新解種群;6)判斷是否終止:如果迭代次數(shù)滿(mǎn)足預(yù)定次數(shù),則執(zhí)行7),否則轉(zhuǎn)步驟3)。本發(fā)明能有效地找出在大規(guī)模社交網(wǎng)絡(luò)中使影響范圍達(dá)到最大的初始重要節(jié)點(diǎn)集合,有效地解決了社交網(wǎng)絡(luò)影響最大化問(wèn)題。
【專(zhuān)利說(shuō)明】
基于兩階段memet i c的社交網(wǎng)絡(luò)影響最大化方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于復(fù)雜網(wǎng)絡(luò)領(lǐng)域,涉及社交網(wǎng)絡(luò)影響最大化方法,具體是一種基于兩階 段memetic的社交網(wǎng)絡(luò)影響最大化方法,可用于發(fā)現(xiàn)社交網(wǎng)絡(luò)中的重要節(jié)點(diǎn)集合。
【背景技術(shù)】
[0002] 隨著Web2.0技術(shù)的迅速發(fā)展,在線社交網(wǎng)絡(luò)迅速普及,如Facebook和Twitter等在 線社交網(wǎng)絡(luò)平臺(tái)得到越來(lái)越多的關(guān)注。隨著這些在線社交網(wǎng)絡(luò)平臺(tái)用戶(hù)規(guī)模的增長(zhǎng),它們 已經(jīng)成為很多新生公司所選擇的產(chǎn)品推廣和信息傳播平臺(tái)。在這些平臺(tái)上,用戶(hù)允許建立 自己的社交圈子并與他們的朋友互相分享信息。這使得影響力的傳播變得更加容易。
[0003] 口碑營(yíng)銷(xiāo)是在線社交網(wǎng)絡(luò)營(yíng)銷(xiāo)的一種很有效的策略,它的目的是以有限的一小部 分用戶(hù)作為基礎(chǔ)通過(guò)級(jí)聯(lián)傳播效應(yīng)在網(wǎng)絡(luò)中產(chǎn)生最大化的影響力。具體來(lái)說(shuō),一個(gè)公司試 圖在社交網(wǎng)絡(luò)上推廣產(chǎn)品,它們有一小部分已經(jīng)接受了產(chǎn)品的初始用戶(hù),這些用戶(hù)會(huì)向他 們的朋友推薦,他們的朋友會(huì)向他們朋友的朋友推薦,這樣產(chǎn)生的級(jí)聯(lián)效應(yīng)使產(chǎn)品得到了 最大的推廣。影響最大化問(wèn)題就是挖掘社交網(wǎng)絡(luò)中具有最大影響力的初始成員集合,就是 上面這個(gè)例子中的初始用戶(hù)集合。
[0004] Kempe和Kleinberg等人在"Maximizing the spread of influence through a social network"(〈〈In Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining》,2003,pages 137-146)中將影 響最大化問(wèn)題形式化,總結(jié)出獨(dú)立級(jí)聯(lián)模型(Independent Cascade Model),線性閾值模型 (Linear ThreshoId Mode 1)和它們的泛化模型。并將該問(wèn)題建模為離散優(yōu)化問(wèn)題,提出了 爬山策略的貪婪算法解決該問(wèn)題。
[0005] 獨(dú)立級(jí)聯(lián)模型。在社交網(wǎng)絡(luò)G= (V,E)中,用戶(hù)v對(duì)其鄰居u的影響概率為p(u,v)。每 個(gè)用戶(hù)的狀態(tài)只有兩種:激活狀態(tài)和非激活狀態(tài)。非激活節(jié)點(diǎn)可以被其激活狀態(tài)的鄰居節(jié) 點(diǎn)激活,變?yōu)榧せ顮顟B(tài);反之,不可以。獨(dú)立級(jí)聯(lián)模型的過(guò)程如下:在t = 0時(shí)刻,含有k個(gè)初始 激活節(jié)點(diǎn)的用戶(hù)Vo。在t時(shí)刻,Vh的每一個(gè)激活節(jié)點(diǎn)v只有一次機(jī)會(huì)以激活概率激活它的非 激活狀態(tài)的鄰居節(jié)點(diǎn)u。如果成功,這個(gè)被激活的鄰居節(jié)點(diǎn)u在t+Ι時(shí)刻處于激活狀態(tài);但不 管成功與否,激活節(jié)點(diǎn)v不能再試圖激活節(jié)點(diǎn)u。這個(gè)過(guò)程一直進(jìn)行,直到?jīng)]有新的節(jié)點(diǎn)可以 被激活為止。
[0006] 線性閾值模型。在社交網(wǎng)絡(luò)G=(V,E)中,用戶(hù)v對(duì)其鄰居u的影響力權(quán)重為w(v,u) 且v的所有鄰居的影響力權(quán)重之和不超過(guò)1。用戶(hù)隨機(jī)選定自己的介于〇,1之間的閾值,只有 當(dāng)節(jié)點(diǎn)V的鄰居節(jié)點(diǎn)對(duì)V的影響力權(quán)重超過(guò)它設(shè)定的閾值時(shí),V才會(huì)被激活。線性閾值模型的 過(guò)程如下:初始時(shí)刻激活狀態(tài)的節(jié)點(diǎn)集合為Vo,對(duì)于處于未激活狀態(tài)的節(jié)點(diǎn),如果它的激活 狀態(tài)的鄰居對(duì)它的影響力權(quán)重之和超過(guò)了它的閾值,則該節(jié)點(diǎn)在下一時(shí)刻處于激活狀態(tài)。 這個(gè)過(guò)程一直進(jìn)行,直到?jīng)]有新的節(jié)點(diǎn)可以被激活為止。
[0007] 在Kempe等人提出的貪婪算法和傳播模型的基礎(chǔ)上,學(xué)者們提出了很多對(duì)于貪婪 算法的改進(jìn)算法,提升了貪婪算法的效率。如Leskovec等人在(《In Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining》,2007,pages 420-429)中提出一種改進(jìn)算法,在速率上比貪婪算法快700倍。他們 在選擇新的有影響力節(jié)點(diǎn)的時(shí)候,提出了一種1 azy-f orward方法,這種方法利用傳播函數(shù) 的submodu 1 ari ty特性,可以減少函數(shù)估計(jì)的數(shù)目,從而提高算法的效率。但實(shí)驗(yàn)證明該算 法仍不適用于大規(guī)模社交網(wǎng)絡(luò)。之后,有學(xué)者利用社交網(wǎng)絡(luò)的社區(qū)特性,提出了基于社區(qū)的 影響最大化算法框架。如Chen等人在"CIM:Community_based influence maximization in social networks"(《ACM Transactions on Intelligent Systems and Technology》, 2014)中提出了基于社區(qū)的算法。他們先將社交網(wǎng)絡(luò)進(jìn)行社區(qū)劃分,并從中找出重要社區(qū)。 然后在每個(gè)重要社區(qū)中找到一定數(shù)目的候選節(jié)點(diǎn)組成候選節(jié)點(diǎn)集合。最后在候選節(jié)點(diǎn)集合 中找到最具影響力的節(jié)點(diǎn)集合。

【發(fā)明內(nèi)容】

[0008] 本發(fā)明的目的在于針對(duì)上述已有技術(shù)的不足,提出一種基于兩階段memetic的社 交網(wǎng)絡(luò)影響最大化方法,在保證節(jié)點(diǎn)集合影響力的情況下,提高算法在大規(guī)模社交網(wǎng)絡(luò)上 的效率。
[0009] 本發(fā)明的技術(shù)方案是:將影響最大化問(wèn)題看做單目標(biāo)優(yōu)化問(wèn)題,把節(jié)點(diǎn)集合的影 響力作為目標(biāo)函數(shù),利用memetic算法優(yōu)化目標(biāo)函數(shù),并引入鄰域局部搜索策略,搜索更有 影響力的節(jié)點(diǎn)集合,其實(shí)現(xiàn)步驟包括如下:
[0010] (1)輸入目標(biāo)網(wǎng)絡(luò):G=(V,E),其中G代表輸入的社交網(wǎng)絡(luò),V代表網(wǎng)絡(luò)的節(jié)點(diǎn)集合, E代表網(wǎng)絡(luò)的邊集合;
[0011] (2)網(wǎng)絡(luò)聚類(lèi):采用BGLL算法對(duì)輸入的目標(biāo)網(wǎng)絡(luò)G進(jìn)行聚類(lèi),得到網(wǎng)絡(luò)G的社區(qū)劃 分;
[0012] (3)候選節(jié)點(diǎn)選擇:從步驟(2)得到的網(wǎng)絡(luò)劃分的社區(qū)中按照所劃分的社區(qū)的大小 選擇前η個(gè)較大的社區(qū)作為重要社區(qū),這里η視不同網(wǎng)絡(luò)的大小而定;在每個(gè)重要社區(qū)中按
個(gè)度較大的節(jié)點(diǎn)作為候選節(jié)點(diǎn),這些候選節(jié)點(diǎn)構(gòu)成 了候選節(jié)點(diǎn)集合Candidate;
[0013] (4)利用memetic算法在步驟(3)中得到的候選節(jié)點(diǎn)集合Candidate中生成在網(wǎng)絡(luò) 中使影響達(dá)到最大化的初始重要節(jié)點(diǎn)集合S:
[0014] (4a)設(shè)初始重要節(jié)點(diǎn)數(shù)目為k,則S為包含k個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)集合。根據(jù)獨(dú)立級(jí)聯(lián)傳播 模型構(gòu)建二級(jí)鄰居傳播期望值函攸沉S),并將其作為待優(yōu)化的目標(biāo)函數(shù):
[0016] 其中,(^表示節(jié)點(diǎn)s的一級(jí)鄰居集合,p表示傳播概率,<4 = l+EceCsP(s,c), X = Eses IcecsnS EdeCcnS\{s} P(s, c)p(c, d);
[0017] (4b)種群初始化:
[0018] (4bl)令種群大小為pop,每個(gè)個(gè)體Xi(l < i < pop)表示一個(gè)具有k個(gè)節(jié)點(diǎn)的集合, 表示為X_i = |χ〖,χ(,...,χ3,個(gè)體的每個(gè)基因 x! (l.sj sk)表示從Candidate中所選定的節(jié) 點(diǎn)的編號(hào)。根據(jù)基于相似度的度中心性方法選擇k個(gè)節(jié)點(diǎn),并將其賦給前pop/2個(gè)個(gè)體 XI......Χρορ/2 ;
[0019] (4b2)對(duì)XI到χ_/2的每個(gè)個(gè)體,對(duì)個(gè)體的每一個(gè)基因 je[l,k]生成一個(gè)隨機(jī)值re
[0,1],如果r>0.5,就將該j位的基因替換為從Candidate中隨機(jī)選擇的與該個(gè)體中節(jié)點(diǎn)編 號(hào)不重復(fù)的節(jié)點(diǎn)編號(hào);否則,不改變;
[0020] (4b3)利用隨機(jī)方法分別對(duì)剩余pop/2個(gè)個(gè)體進(jìn)行初始化,即分別從Candidate中 隨機(jī)選擇k個(gè)不重復(fù)的節(jié)點(diǎn)集合賦給X(2f2+i^ljx_的每個(gè)個(gè)體;
[0021] (4b4)利用步驟(4a)中的目標(biāo)函數(shù)3(S)汁算每個(gè)個(gè)體的適應(yīng)度值,并將具有最大 適應(yīng)度值的個(gè)體作為最優(yōu)個(gè)體;
[0022] (4c)通過(guò)進(jìn)化操作優(yōu)化目標(biāo)函數(shù):
[0023] (4c 1)設(shè)種群進(jìn)化最大迭代次數(shù)為maxgen,交叉概率為pc和變異概率為pm,并令當(dāng) 前迭代次數(shù)gen = 0;
[0024] (4c2)選擇父代個(gè)體:利用二進(jìn)制錦標(biāo)賽選擇算法對(duì)父代個(gè)體進(jìn)行選擇,每次從種 群中隨機(jī)選擇兩個(gè)個(gè)體,并對(duì)兩個(gè)個(gè)體的適應(yīng)度值進(jìn)行比較,選擇適應(yīng)度值大的個(gè)體作為 父代個(gè)體,重復(fù)上述操作,直到選出 P〇P/2個(gè)父代個(gè)體;
[0025] (4c3)交叉:隨機(jī)選擇兩個(gè)父代個(gè)體,生成一個(gè)介于[0,1]的隨機(jī)數(shù),如果該數(shù)小于 交叉概率,則對(duì)兩個(gè)父代個(gè)體進(jìn)行單點(diǎn)交叉;否則,不進(jìn)行交叉。在兩個(gè)父代個(gè)體中隨機(jī)選 擇一個(gè)交叉位置,交換兩個(gè)個(gè)體在該位置以及之后的個(gè)體。為了保證生成的子代個(gè)體的有 效性,如果一個(gè)父代個(gè)體中待交換的節(jié)點(diǎn)不相似于另一個(gè)父代個(gè)體中的節(jié)點(diǎn)以及它們的相 似節(jié)點(diǎn),則進(jìn)行交換;否則,不交換。重復(fù)N/2次,生成N個(gè)子代個(gè)體。
[0026] (4c3)變異:對(duì)交叉后生成的每個(gè)子代個(gè)體,對(duì)其每個(gè)節(jié)點(diǎn),生成一個(gè)介于[0,1]隨 機(jī)數(shù),如果該數(shù)小于變異概率,則進(jìn)行變異,在Candidate中選擇一個(gè)與該個(gè)體不相似的個(gè) 體代替該位置上的節(jié)點(diǎn);如果該數(shù)大于變異概率,且該位置上的節(jié)點(diǎn)與該個(gè)體中影響力大 的點(diǎn)相似,我們同樣進(jìn)行變異,在Candidate中選擇一個(gè)與該個(gè)體中影響力大的節(jié)點(diǎn)以及這 些節(jié)點(diǎn)的鄰居不相似的節(jié)點(diǎn)代替該位置上的節(jié)點(diǎn)。
[0027] (4c4)局部搜索:對(duì)以上步驟得到的個(gè)體中選擇具有最大適應(yīng)度值的個(gè)體進(jìn)行局 部搜索,產(chǎn)生新的最優(yōu)個(gè)體。
[0028] (4c5)更新種群:從父代種群和子代種群中選擇前N個(gè)具有最大適應(yīng)度值的個(gè)體作 為新一代種群,進(jìn)行下一次迭代;并更新最優(yōu)個(gè)體。
[0029] (5)終止條件:如果迭代次數(shù)達(dá)到預(yù)設(shè)的最大迭代次數(shù),則終止,并輸出最優(yōu)個(gè)體 所包含的節(jié)點(diǎn)集合;否則,轉(zhuǎn)到(4c)繼續(xù)執(zhí)行。
[0030] 本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
[0031]第一,本發(fā)明對(duì)節(jié)點(diǎn)集合的影響力進(jìn)行函數(shù)估計(jì),并將其作為目標(biāo)函數(shù),克服了計(jì) 算節(jié)點(diǎn)集合影響力的耗時(shí)問(wèn)題。
[0032]第二,本發(fā)明利用memetic算法對(duì)目標(biāo)函數(shù)進(jìn)行優(yōu)化,提出了針對(duì)社交網(wǎng)絡(luò)影響最 大化這個(gè)特定問(wèn)題的初始化方法和局部搜索策略,提高了搜索優(yōu)化解的概率并加速了算法 的收斂。
[0033]第三,由于本發(fā)明采用了基于社區(qū)的框架,縮小了候選解的搜索范圍,使該算法適 用于大規(guī)模社交網(wǎng)絡(luò)。
【附圖說(shuō)明】
[0034]圖1為本發(fā)明的實(shí)現(xiàn)流程圖;
[0035]圖2為本發(fā)明與現(xiàn)有方法在Dolphin社交網(wǎng)絡(luò)的影響力比較圖;
[0036]圖3為本發(fā)明與現(xiàn)有方法在NetGRQC社交網(wǎng)絡(luò)的影響力比較圖;
[0037]圖4為本發(fā)明與現(xiàn)有方法在NetHEPT社交網(wǎng)絡(luò)的影響力比較圖;
[0038]圖5為本發(fā)明與現(xiàn)有方法在三個(gè)社交網(wǎng)絡(luò)上挖掘有影響力節(jié)點(diǎn)的時(shí)間比較圖。
【具體實(shí)施方式】
[0039]參照?qǐng)D1本發(fā)明的實(shí)現(xiàn)步驟如下:
[0040] 步驟1,輸入目標(biāo)網(wǎng)絡(luò):G=(V,E)
[0041] 其中G代表輸入的社交網(wǎng)絡(luò),V代表網(wǎng)絡(luò)的節(jié)點(diǎn)集合,E代表網(wǎng)絡(luò)的邊集合。
[0042] 步驟2,網(wǎng)絡(luò)聚類(lèi)。
[0043] 利用Blondel等人在"Fast unfolding of communities in large networks" (《Journal of Statistical Mechanics:Theory and Experiment》,2008)中提出的BGLL算 法對(duì)輸入的社交網(wǎng)絡(luò)進(jìn)行社區(qū)劃分,實(shí)現(xiàn)步驟如下:
[0044] (21)將網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)看作一個(gè)社區(qū),然后將每個(gè)節(jié)點(diǎn)從它們?cè)瓉?lái)所在的社 區(qū)移動(dòng)到能使模塊度增益最大的鄰居節(jié)點(diǎn)所在的社區(qū)內(nèi)。這個(gè)過(guò)程一直進(jìn)行,直到移動(dòng)任 何一個(gè)點(diǎn)都不能使模塊度增益增大為止。
[0045] (22)將上一步驟得到的每個(gè)社區(qū)看做一個(gè)節(jié)點(diǎn),這樣得到一個(gè)新網(wǎng)絡(luò)。
[0046] (23)重復(fù)以上兩個(gè)步驟知道模塊度增益不變。
[0047]步驟3,候選節(jié)點(diǎn)選擇。
[0048]從步驟2得到的網(wǎng)絡(luò)劃分的社區(qū)中按照所劃分的社區(qū)的大小選擇前η個(gè)較大的社 區(qū)作為重要社區(qū),這里η視不同網(wǎng)絡(luò)的大小而定;在每個(gè)重要社區(qū)中按度中心性選擇前
1個(gè)度較大的節(jié)點(diǎn)作為候選節(jié)點(diǎn),這些候選節(jié)點(diǎn)構(gòu)成了候選節(jié)點(diǎn)集合 Candidate;
[0049 ]步驟4,利用meme t i c算法生成最有影響力節(jié)點(diǎn)集合。
[0050] (4a)構(gòu)建目標(biāo)函數(shù)。
[0051]設(shè)初始重要節(jié)點(diǎn)數(shù)目為k,則S為包含k個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)集合。根據(jù)獨(dú)立級(jí)聯(lián)傳播模型 構(gòu)建二級(jí)鄰居傳播期望值函數(shù)5(S):
[0053]其中,(^表示節(jié)點(diǎn)s的一級(jí)鄰居集合,p表示傳播概率,4 = 1+ScecsP〇,c), X = SSEsSCecsnsEdect.ns、、i s}P(s,c)p(c,d),目標(biāo)函數(shù)值越大,說(shuō)明該節(jié)點(diǎn)集合的影響力越 大。
[0054] (4b)種群初始化。
[0055] 令種群大小為pop,每個(gè)個(gè)體xi(l < i < pop)表示一個(gè)具有k個(gè)節(jié)點(diǎn)的集合,表示為 x:i = ,個(gè)體的每個(gè)基因(1 S j S k)表示從Candidate中所選定的節(jié)點(diǎn)的編 號(hào)。
[0056] (4bl)根據(jù)基于相似度的度中心性方法選擇k個(gè)節(jié)點(diǎn),并將其賦給前pop/2個(gè)個(gè)體 XI......Χρ〇ρ/2。其中相似度的定義如下:
[0058] 其中,NB(v) = {v | v U N(v)} N(v) = {3.U .E V, iw G L·}
[0059] (4bll)令Xi: = 0;
[0060] (4bl2)令TempCandidate = Candidate;
[0061 ] (4bl3)從TempCandiate中選擇具有最大度的節(jié)點(diǎn)Vi放入Xi中;
[0062] (4bl4)從Vi的鄰居中找到與Vi的相似度大于sim的鄰居節(jié)點(diǎn)集合;
[0063] (4bl5)更新TempCandidate為從其中中去掉Vi的鄰居節(jié)點(diǎn)集合的結(jié)合;
[0064] (4bl6)如果個(gè)體^中已有k個(gè)節(jié)點(diǎn),則結(jié)束;否則,跳到步驟(4bl3)繼續(xù)執(zhí)行。
[0065] (4b2)對(duì)xi到Χ_/2的每個(gè)個(gè)體,對(duì)個(gè)體的每一個(gè)基因 je[l,k]生成一個(gè)隨機(jī)值re
[0,1],如果r>0.5,就將該j位的基因替換為從Candidate中隨機(jī)選擇的與該個(gè)體中節(jié)點(diǎn)編 號(hào)不重復(fù)的節(jié)點(diǎn)編號(hào);否則,不改變。
[0066] (4b3)利用隨機(jī)方法分別對(duì)剩余pop/2個(gè)個(gè)體進(jìn)行初始化,即分別從Candidate中 隨機(jī)選擇k個(gè)不重復(fù)的節(jié)點(diǎn)集合賦
[0067] (4b4)利用步驟(4a)中的目標(biāo)函數(shù)8(S)計(jì)算每個(gè)個(gè)體的適應(yīng)度值,并將具有最大 適應(yīng)度值的個(gè)體作為最優(yōu)個(gè)體。
[0068] (4c)選擇父代個(gè)體。
[0069] 利用二進(jìn)制錦標(biāo)賽選擇算法對(duì)父代個(gè)體進(jìn)行選擇,每次從種群中隨機(jī)選擇兩個(gè)個(gè) 體,并對(duì)兩個(gè)個(gè)體的適應(yīng)度值進(jìn)行比較,選擇適應(yīng)度值大的個(gè)體作為父代個(gè)體,重復(fù)上述操 作,直到選出P〇p/2個(gè)父代個(gè)體。
[0070] (4d)交叉。
[0071]隨機(jī)選擇兩個(gè)父代個(gè)體,生成一個(gè)介于[0,1]的隨機(jī)數(shù),如果該數(shù)小于交叉概率, 則對(duì)兩個(gè)父代個(gè)體進(jìn)行單點(diǎn)交叉;否則,不進(jìn)行交叉。在兩個(gè)父代個(gè)體中隨機(jī)選擇一個(gè)交叉 位置,交換兩個(gè)個(gè)體在該位置以及之后的個(gè)體。為了保證生成的子代個(gè)體的有效性,如果一 個(gè)父代個(gè)體中待交換的節(jié)點(diǎn)不相似于另一個(gè)父代個(gè)體中的節(jié)點(diǎn)以及它們的相似節(jié)點(diǎn),則進(jìn) 行交換;否則,不交換。重復(fù)N/2次,生成N個(gè)子代個(gè)體。
[0072] (4d)變異。
[0073] 對(duì)交叉后生成的每個(gè)子代個(gè)體,對(duì)其每個(gè)節(jié)點(diǎn),生成一個(gè)介于[0,1]隨機(jī)數(shù),如果 該數(shù)小于變異概率,則進(jìn)行變異,在Candidate中選擇一個(gè)與該個(gè)體不相似的個(gè)體代替該位 置上的節(jié)點(diǎn);如果該數(shù)大于變異概率,且該位置上的節(jié)點(diǎn)與該個(gè)體中影響力大的點(diǎn)相似,我 們同樣進(jìn)行變異,在Candidate中選擇一個(gè)與該個(gè)體中影響力大的節(jié)點(diǎn)以及這些節(jié)點(diǎn)的鄰 居不相似的節(jié)點(diǎn)代替該位置上的節(jié)點(diǎn)。
[0074] (4d)局部搜索。
[0075] (4dl)從輸入的子代個(gè)體中選擇具有最大適應(yīng)度值的個(gè)體作為當(dāng)前最優(yōu)個(gè)體;
[0076] (4d2)從當(dāng)前最優(yōu)個(gè)體的鄰居個(gè)體中找到具有最大適應(yīng)度值的最優(yōu)鄰居個(gè)體;
[0077] (4d3)如果最優(yōu)鄰居個(gè)體的適應(yīng)度值大于當(dāng)前最優(yōu)個(gè)體的適應(yīng)度值,則更新當(dāng)前 最優(yōu)個(gè)體為此最優(yōu)鄰居個(gè)體;否則,搜索結(jié)束,返回當(dāng)前最優(yōu)個(gè)體。
[0078] (4e)從父代種群和子代種群中選擇前N個(gè)具有最大適應(yīng)度值的個(gè)體作為新一代種 群,進(jìn)行下一次迭代;并更新最優(yōu)個(gè)體。
[0079] (4f)判斷是否終止。
[0080]如果當(dāng)前迭代次數(shù)gen達(dá)到預(yù)設(shè)的最大迭代次數(shù)maxgen,則終止,并輸出最優(yōu)個(gè)體 所包含的節(jié)點(diǎn)集合;否則,轉(zhuǎn)到(4c)繼續(xù)執(zhí)行。
[0081 ]本發(fā)明的效果可以通過(guò)以下仿真進(jìn)一步說(shuō)明:
[0082] 1.仿真條件
[0083]本實(shí)例在Intel(R)Core(i5)CPU 1.70GHZ Windows 7系統(tǒng)下,Matlab 2008a運(yùn)行 平臺(tái)上,完成本發(fā)明與現(xiàn)有CELF,Degree,PageRank和Random方法的仿真實(shí)驗(yàn)。
[0084] 2.仿真實(shí)驗(yàn)內(nèi)容
[0085] 1、選取現(xiàn)實(shí)世界網(wǎng)絡(luò)作為實(shí)驗(yàn)對(duì)象。參數(shù)設(shè)置如下,種群大小為200,種群迭代次 數(shù)為50,交叉概率為0.8,變異概率為0.2,步驟3中α值為4,β值為10。以下CMA-頂表示本發(fā)明 的基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法,CELF表示現(xiàn)有的對(duì)貪婪算法的改進(jìn)算 法,Degree表示現(xiàn)有的最大度方法,PageRank表示現(xiàn)有的網(wǎng)頁(yè)排序算法和Random表示現(xiàn)有 的隨機(jī)化方法。
[0086] 現(xiàn)實(shí)世界網(wǎng)絡(luò)仿真:本仿真中使用Dolphin社交網(wǎng)絡(luò),NetGRQC網(wǎng)絡(luò)和NetHEPT網(wǎng)絡(luò) 作為實(shí)驗(yàn)對(duì)象。Dolphin網(wǎng)絡(luò)包含62個(gè)節(jié)點(diǎn),159條邊;NerGRQC網(wǎng)絡(luò)包含5242個(gè)節(jié)點(diǎn),14496 條邊;NetHEPT網(wǎng)絡(luò)包含15233個(gè)節(jié)點(diǎn)和58891條邊。
[0087] 圖2表不本發(fā)明CMA-IM方法與現(xiàn)有的CELF,Degree,PageRank和Random方法在 Dolphin網(wǎng)絡(luò)上所選出的有影響力節(jié)點(diǎn)集合的影響力比較圖。從圖1可以看出,本發(fā)明得到 的結(jié)果與CELF的結(jié)果近似,并且高于Degree,PageRank和Random方法。
[0088] 圖3表不本發(fā)明CMA-IM方法與現(xiàn)有的CELF,Degree,PageRank和Random方法在 NetGRQC網(wǎng)絡(luò)上所選出的有影響力節(jié)點(diǎn)集合的影響力比較圖。從圖2可以看出,本發(fā)明得到 的結(jié)果與CELF的結(jié)果近似,并且高于Degree,PageRank和Random方法。
[0089] 圖4表不本發(fā)明CMA-IM方法與現(xiàn)有的CELF,Degree,PageRank和Random方法在 NetHEPT網(wǎng)絡(luò)上所選出的有影響力節(jié)點(diǎn)集合的影響力比較圖。從圖3可以看出,本發(fā)明得到 的結(jié)果與CELF的結(jié)果近似,并且高于Degree,PageRank和Random方法。
[0090] 圖5表不本發(fā)明CMA-IM方法與現(xiàn)有的CELF,Degree,PageRank和Random方法在 Dolphin網(wǎng)絡(luò),NetGRQC網(wǎng)絡(luò)和NetHEPT網(wǎng)絡(luò)上選取10,30和30個(gè)有影響力節(jié)點(diǎn)集合的時(shí)間比 較圖。從圖4可以看出,本發(fā)明所用的時(shí)間比CELF少兩個(gè)數(shù)量級(jí),雖然時(shí)間比Degree, PageRank和Random方法長(zhǎng),但節(jié)點(diǎn)集合的影響力高于這些方法的結(jié)果。
[0091] 總之,本發(fā)明采用基于社區(qū)結(jié)構(gòu)的影響最大化框架,第一階段先將網(wǎng)絡(luò)進(jìn)行社區(qū) 劃分,選出重要社區(qū),并從重要社區(qū)中選取一定數(shù)目的節(jié)點(diǎn)構(gòu)成候選節(jié)點(diǎn)集合,從而縮小了 候選解的搜索范圍。本發(fā)明采用節(jié)點(diǎn)集合二階鄰居內(nèi)的影響力作為目標(biāo)函數(shù),在第二階段 采用memetic算法進(jìn)行優(yōu)化,并引入基于這個(gè)特定問(wèn)題的初始化方法和局部搜索策略,能夠 自動(dòng)選擇最具影響力的節(jié)點(diǎn)集合并加速了算法的收斂,并較現(xiàn)有的方法得到較高的影響力 節(jié)點(diǎn)集合。
【主權(quán)項(xiàng)】
1. 一種基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法,其特征在于所述方法包括下 列步驟: (1) 輸入目標(biāo)網(wǎng)絡(luò):G=(V,E),其中G代表輸入的社交網(wǎng)絡(luò),V代表網(wǎng)絡(luò)的節(jié)點(diǎn)集合,E代 表網(wǎng)絡(luò)的邊集合; (2) 網(wǎng)絡(luò)聚類(lèi):采用BGLL算法對(duì)輸入的目標(biāo)網(wǎng)絡(luò)G進(jìn)行聚類(lèi),得到網(wǎng)絡(luò)G的社區(qū)劃分; (3) 候選節(jié)點(diǎn)選擇:從步驟(2)得到的網(wǎng)絡(luò)劃分的社區(qū)中按照所劃分的社區(qū)的大小選擇 前η個(gè)較大的社區(qū)作為重要社區(qū),這里η視不同網(wǎng)絡(luò)的大小而定;在每個(gè)重要社區(qū)中按度中 心性選擇前個(gè)度較大的節(jié)點(diǎn)作為候選節(jié)點(diǎn),這些候選節(jié)點(diǎn)構(gòu)成了候 選節(jié)點(diǎn)集合Candidate;(4) 利用文化基因算法在步驟(3)中得到的候選節(jié)點(diǎn)集合Candidate中生成在網(wǎng)絡(luò)中使 影響達(dá)到最大化的初始重要節(jié)點(diǎn)集合S: (4a)設(shè)初始重要節(jié)點(diǎn)數(shù)目為k,則S為包含k個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)集合;根據(jù)獨(dú)立級(jí)聯(lián)傳播模型 構(gòu)建二級(jí)鄰居傳播期望值函數(shù)S(S),并將其作為待優(yōu)化的目標(biāo)函數(shù):其中,Cs表示節(jié)點(diǎn)s的一級(jí)鄰居集合,p表示傳播概率,=1 + SC€cs P(s,c),(4b)種群初始化: (4bl)令種群大小為pop,每個(gè)個(gè)體xi(l < i《pop)表示一個(gè)具有k個(gè)節(jié)點(diǎn)的集合,表示為 X.i = jx^xf,…,xf),個(gè)體的每個(gè)基因 X丨(1 S k)表示從Candidate中所選定的節(jié)點(diǎn)的編 號(hào);根據(jù)基于相似度的度中心性方法選擇k個(gè)節(jié)點(diǎn),并將其賦給前pop/2個(gè)個(gè)體XI......x_/2; (4b2)對(duì)XI到χΡ〇Ρ/2的每個(gè)個(gè)體,對(duì)個(gè)體的每一個(gè)基因 je[l,k]生成一個(gè)隨機(jī)值re[〇, 1 ],如果r > 0.5,就將該j位的基因替換為從Candidate中隨機(jī)選擇的與該個(gè)體中節(jié)點(diǎn)編號(hào) 不重復(fù)的節(jié)點(diǎn)編號(hào);否則,不改變; (4b3)利用隨機(jī)方法分別對(duì)剩余pop/2個(gè)個(gè)體進(jìn)行初始化,即分別從Candidate中隨機(jī) 選擇k個(gè)不重復(fù)的節(jié)點(diǎn)集合賦給X(^+1)到的每個(gè)個(gè)體; (4b4)利用步驟(4a)中的目標(biāo)函數(shù)β⑶計(jì)算每個(gè)個(gè)體的適應(yīng)度值,并將具有最大適應(yīng) 度值的個(gè)體作為最優(yōu)個(gè)體; (4c)通過(guò)進(jìn)化操作優(yōu)化目標(biāo)函數(shù): (4c 1)設(shè)種群進(jìn)化最大迭代次數(shù)為maxgen,交叉概率為pc和變異概率為pm,并令當(dāng)前迭 代次數(shù)gen = 0; (4c2)選擇父代個(gè)體:利用二進(jìn)制錦標(biāo)賽選擇算法對(duì)父代個(gè)體進(jìn)行選擇,每次從種群中 隨機(jī)選擇兩個(gè)個(gè)體,并對(duì)兩個(gè)個(gè)體的適應(yīng)度值進(jìn)行比較,選擇適應(yīng)度值大的個(gè)體作為父代 個(gè)體,重復(fù)上述操作,直到選出pop/2個(gè)父代個(gè)體; (4c3)交叉:隨機(jī)選擇兩個(gè)父代個(gè)體,生成一個(gè)介于[0,1]的隨機(jī)數(shù),如果該數(shù)小于交叉 概率,則對(duì)兩個(gè)父代個(gè)體進(jìn)行單點(diǎn)交叉;否則,不進(jìn)行交叉;在兩個(gè)父代個(gè)體中隨機(jī)選擇一 個(gè)交叉位置,交換兩個(gè)個(gè)體在該位置以及之后的個(gè)體;如果一個(gè)父代個(gè)體中待交換的節(jié)點(diǎn) 不相似于另一個(gè)父代個(gè)體中的節(jié)點(diǎn)以及它們的相似節(jié)點(diǎn),則進(jìn)行交換;否則,不交換;重復(fù) N/2次,生成N個(gè)子代個(gè)體; (4c3)變異:對(duì)交叉后生成的每個(gè)子代個(gè)體,對(duì)其每個(gè)節(jié)點(diǎn),生成一個(gè)介于[0,1]隨機(jī) 數(shù),如果該數(shù)小于變異概率,則進(jìn)行變異,在Candidate中選擇一個(gè)與該個(gè)體不相似的個(gè)體 代替該位置上的節(jié)點(diǎn);如果該數(shù)大于變異概率,且該位置上的節(jié)點(diǎn)與該個(gè)體中影響力大的 點(diǎn)相似,我們同樣進(jìn)行變異,在Candidate中選擇一個(gè)與該個(gè)體中影響力大的節(jié)點(diǎn)以及這些 節(jié)點(diǎn)的鄰居不相似的節(jié)點(diǎn)代替該位置上的節(jié)點(diǎn); (4c4)局部搜索:對(duì)以上步驟得到的個(gè)體中選擇具有最大適應(yīng)度值的個(gè)體進(jìn)行局部搜 索,產(chǎn)生新的最優(yōu)個(gè)體; (4c5)更新:從父代種群和子代種群中選擇前N個(gè)具有最大適應(yīng)度值的個(gè)體作為新一代 種群,進(jìn)行下一次迭代;并更新最優(yōu)個(gè)體; (5)終止條件:如果迭代次數(shù)達(dá)到預(yù)設(shè)的最大迭代次數(shù),則終止,并輸出最優(yōu)個(gè)體所包 含的節(jié)點(diǎn)集合;否則,轉(zhuǎn)到(4c)繼續(xù)執(zhí)行。2. 根據(jù)權(quán)利要求1所述的基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法,其中步驟 (2)所述的BGLL聚類(lèi)算法的步驟如下: (21) 將網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)看作一個(gè)社區(qū),然后將每個(gè)節(jié)點(diǎn)從它們?cè)瓉?lái)所在的社區(qū)移 動(dòng)到能使模塊度增益最大的鄰居節(jié)點(diǎn)所在的社區(qū)內(nèi);這個(gè)過(guò)程一直進(jìn)行,直到移動(dòng)任何一 個(gè)點(diǎn)都不能使模塊度增益增大為止; (22) 將上一步驟得到的每個(gè)社區(qū)看做一個(gè)節(jié)點(diǎn),這樣得到一個(gè)新網(wǎng)絡(luò); (23) 重復(fù)以上兩個(gè)步驟知道模塊度增益不變。3. 根據(jù)權(quán)利要求1所述的基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法,其中步驟 (4b 1)所述的基于相似度的度中心性初始化方法的步驟如下: (4bll)令Xj =. 0;. (4bl2)令 TempCandidate = Candidate; (4bl3)從TempCandiate中選擇具有最大度的節(jié)點(diǎn)Vi放入Xi中; (4bl4)從Vi的鄰居中找到與Vi的相似度大于sim的鄰居節(jié)點(diǎn)集合; (4bl5)更新TempCandidate為從其中中去掉Vi的鄰居節(jié)點(diǎn)集合的結(jié)合; (4bl6)如果個(gè)體^中已有k個(gè)節(jié)點(diǎn),則結(jié)束;否則,跳到步驟(4bl3)繼續(xù)執(zhí)行。4. 根據(jù)權(quán)利要求1所述的基于兩階段memetic的社交網(wǎng)絡(luò)影響最大化方法,其中步驟 (4b 1)所述的基于相似度的度中心性初始化方法中相似度的定義如下:其中,_NB(.v) = {v|v U N(v)},N(v) = (Ξ V, uv (Ξ E}·。5. 根據(jù)權(quán)利要求1所述的基于兩階段memet i c的社交網(wǎng)絡(luò)影響最大化方法, 其中步驟(4c4)所述的局部搜索策略的步驟如下: (4c41)從輸入的子代個(gè)體中選擇具有最大適應(yīng)度值的個(gè)體作為當(dāng)前最優(yōu)個(gè)體; (4c42)從當(dāng)前最優(yōu)個(gè)體的鄰居個(gè)體中找到具有最大適應(yīng)度值的最優(yōu)鄰居個(gè)體; (4c43)如果最優(yōu)鄰居個(gè)體的適應(yīng)度值大于當(dāng)前最優(yōu)個(gè)體的適應(yīng)度值,則更新當(dāng)前最優(yōu) 個(gè)體為此最優(yōu)鄰居個(gè)體;否則,搜索結(jié)束,返回當(dāng)前最優(yōu)個(gè)體。
【文檔編號(hào)】G06N3/12GK105869053SQ201610167955
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年3月23日
【發(fā)明人】公茂果, 宋超, 馬晶晶, 段超, 馬文萍, 王善峰, 馬里佳, 沈波
【申請(qǐng)人】西安電子科技大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黑河市| 珠海市| 桐柏县| 聂拉木县| 大埔县| 南部县| 延庆县| 新绛县| 金沙县| 漠河县| 龙门县| 兴安县| 渭源县| 德惠市| 德保县| 英山县| 峡江县| 凤城市| 新河县| 朝阳区| 金平| 巴东县| 来安县| 特克斯县| 玉溪市| 芜湖县| 板桥市| 日照市| 安岳县| 长治市| 阳江市| 德江县| 德安县| 南通市| 封开县| 新丰县| 东城区| 松原市| 余姚市| 曲靖市| 益阳市|