本發(fā)明涉及子圖查詢,具體涉及一種基于時(shí)序波神經(jīng)網(wǎng)絡(luò)的最優(yōu)認(rèn)知子圖查詢方法。
背景技術(shù):
1、子圖查詢是圖論領(lǐng)域中的一個(gè)問題,它被廣泛的運(yùn)用到社交網(wǎng)絡(luò)、蛋白質(zhì)網(wǎng)絡(luò)、知識(shí)圖譜構(gòu)建和推薦系統(tǒng)等領(lǐng)域。最優(yōu)認(rèn)知子圖查詢問題是在一個(gè)靜態(tài)社交網(wǎng)絡(luò)中,針對(duì)給定的時(shí)間段,尋找信息傳播過程中從起點(diǎn)到終點(diǎn)的多條傳播路徑合并,形成整體認(rèn)知度最優(yōu)的子圖。它的目標(biāo)是在限定時(shí)間內(nèi),找到從起點(diǎn)到終點(diǎn)的所有路徑,并將其合并成一個(gè)網(wǎng)絡(luò),最大化終點(diǎn)的認(rèn)知度。ullmann算法是目前應(yīng)用最為廣泛的子圖查詢算法之一,采用深度優(yōu)先搜索策略,可在數(shù)據(jù)圖g中枚舉出和查詢圖q匹配的子圖。研究者們提出vf2算法,針對(duì)已有的算法進(jìn)行了改進(jìn),基于回溯的搜索方法引入新的啟發(fā)式剪枝策略,大大提升了對(duì)圖的處理性能。之后有很多的改進(jìn)算法通過頂點(diǎn)周圍的路徑和結(jié)構(gòu)信息來進(jìn)行剪枝,從而增強(qiáng)了約束條件,減少了子圖匹配過程中的回溯次數(shù)。但是這些方法在靜態(tài)網(wǎng)絡(luò)中應(yīng)用較為廣泛,但在現(xiàn)實(shí)網(wǎng)絡(luò)中,社交網(wǎng)絡(luò)中數(shù)據(jù)動(dòng)態(tài)變化和用戶行為演變使得以往的算法在處理最優(yōu)認(rèn)知子圖查詢問題時(shí)面臨挑戰(zhàn)。最優(yōu)認(rèn)知子圖查詢與傳統(tǒng)的子圖查詢存在顯著差異,傳統(tǒng)的子圖查詢旨在在靜態(tài)網(wǎng)絡(luò)中尋找給定查詢圖的同構(gòu)子圖,而最優(yōu)認(rèn)知子圖查詢不僅關(guān)注子圖的拓?fù)浣Y(jié)構(gòu),還關(guān)注節(jié)點(diǎn)之間信息的傳播路徑和節(jié)點(diǎn)對(duì)信息的認(rèn)知度。但由于目前的子圖查詢算法專注于在靜態(tài)網(wǎng)絡(luò)中找到與給定查詢圖同構(gòu)的子圖,未能考慮節(jié)點(diǎn)之間信息的傳播路徑和節(jié)點(diǎn)對(duì)信息的認(rèn)知度,在實(shí)際應(yīng)用中仍存在一定的缺陷。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種創(chuàng)新性的時(shí)序波神經(jīng)網(wǎng)絡(luò)最優(yōu)認(rèn)知子圖查詢方法,解決傳統(tǒng)子圖查詢方法在時(shí)序波傳遞消息方面的不足,基于神經(jīng)網(wǎng)絡(luò)的原理和現(xiàn)有研究成果,本發(fā)明對(duì)時(shí)序波傳播機(jī)制、神經(jīng)元活動(dòng)模式以及神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的深入研究,成功構(gòu)建了一個(gè)復(fù)雜的時(shí)序波神經(jīng)網(wǎng)絡(luò)模型,能夠準(zhǔn)確模擬神經(jīng)元之間時(shí)序波的傳播和交互。本發(fā)明設(shè)計(jì)了一套高效的子圖查詢算法,結(jié)合時(shí)序波特征提取和優(yōu)化策略應(yīng)用,實(shí)現(xiàn)了對(duì)神經(jīng)網(wǎng)絡(luò)中最優(yōu)認(rèn)知子圖的快速、精準(zhǔn)查詢。具體來說,該方法的實(shí)現(xiàn)可分為以下關(guān)鍵步驟:
2、第1步、基于對(duì)節(jié)點(diǎn)的狀態(tài)和行為建模,運(yùn)用數(shù)學(xué)建模技術(shù)構(gòu)建時(shí)序波神經(jīng)元模型,描述神經(jīng)元之間信息傳遞的動(dòng)態(tài)過程,為時(shí)序波神經(jīng)網(wǎng)絡(luò)建模提供基礎(chǔ);
3、第2步、基于神經(jīng)網(wǎng)絡(luò)理論,對(duì)時(shí)序波神經(jīng)網(wǎng)絡(luò)(temporal?sequential?waveneural?network,簡(jiǎn)稱tswnn)模型進(jìn)行構(gòu)建,描述時(shí)序波在網(wǎng)絡(luò)中的傳播和交互過程,初始化tswnn各項(xiàng)參數(shù),設(shè)定網(wǎng)絡(luò)的運(yùn)行限定時(shí)間t,確保模型在規(guī)定時(shí)間內(nèi)能夠充分展現(xiàn)其動(dòng)態(tài)行為;
4、第3步、基于節(jié)點(diǎn)初始狀態(tài)對(duì)時(shí)序波神經(jīng)網(wǎng)絡(luò)中的所有神經(jīng)元進(jìn)行初始化,激活初始神經(jīng)元,設(shè)置初始時(shí)間t=0,為網(wǎng)絡(luò)運(yùn)行提供一個(gè)統(tǒng)一的起點(diǎn),保證信息傳遞過程的順利進(jìn)行;
5、第4步、根據(jù)神經(jīng)網(wǎng)絡(luò)理論和數(shù)學(xué)模型,結(jié)合神經(jīng)元之間動(dòng)態(tài)變化,更新tswnn中每個(gè)神經(jīng)元的信息,對(duì)網(wǎng)絡(luò)中神經(jīng)元的活動(dòng)狀態(tài)進(jìn)行細(xì)致調(diào)節(jié),有效激活神經(jīng)元并促使時(shí)序波的產(chǎn)生和傳遞,確保網(wǎng)絡(luò)中時(shí)序波的正常生成和傳遞,實(shí)現(xiàn)信息的高效流動(dòng)和處理;
6、第5步、結(jié)合網(wǎng)絡(luò)中時(shí)序波的傳播規(guī)律和信息交互特性,對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行深度挖掘和分析,輸出最優(yōu)認(rèn)知子圖。
7、第1步:基于對(duì)節(jié)點(diǎn)的狀態(tài)和行為建模,構(gòu)建時(shí)序波神經(jīng)元模型,具體步驟如下:
8、第1.1步、設(shè)計(jì)輸入器,輸入器的作用是用來接收來自其前驅(qū)神經(jīng)元的時(shí)序波;
9、第1.2步、設(shè)計(jì)波接收器,波接收器的作用是用于接收波的信息并進(jìn)行解碼,包括:ci,wij,yij和tj;
10、第1.3步、神經(jīng)元狀態(tài)存儲(chǔ)器,判斷神經(jīng)元是否激活,存儲(chǔ)神經(jīng)元的狀態(tài),根據(jù)接收到的波的信息存儲(chǔ)神經(jīng)元認(rèn)知度,由yj和cj表示;
11、第1.4步、設(shè)計(jì)波產(chǎn)生器,當(dāng)神經(jīng)元被激活,該神經(jīng)元產(chǎn)生時(shí)序波。產(chǎn)生波傳遞給未被激活的后繼神經(jīng)元,包含兩部分wjk,yjk;
12、第1.5步、設(shè)計(jì)波發(fā)送器,發(fā)送器向未被激活的后繼神經(jīng)元發(fā)送波,將波進(jìn)行編碼處理。當(dāng)后繼神經(jīng)元未被激活,則發(fā)送波;若后繼結(jié)點(diǎn)已被激活,則不發(fā)送波??梢钥醋魇遣òl(fā)送器的反過程。包含兩部分wjk,yjk;
13、第1.6步、設(shè)計(jì)波輸出器,波輸出器主要用于將新波發(fā)送至其對(duì)應(yīng)的后繼神經(jīng)元。
14、第2步:構(gòu)造時(shí)序波神經(jīng)網(wǎng)絡(luò)(temporal?sequential?wave?neural?network,簡(jiǎn)稱tswnn),初始化tswnn各項(xiàng)參數(shù),具體步驟如下:
15、第2.1步、依據(jù)問題的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)構(gòu)造時(shí)序波神經(jīng)網(wǎng)絡(luò)模型,其中每個(gè)節(jié)點(diǎn)對(duì)應(yīng)tswnn中一個(gè)神經(jīng)元,每條弧對(duì)應(yīng)tswnn中一個(gè)活動(dòng),并為每一條弧(連接兩個(gè)神經(jīng)元的邊)生成隨機(jī)的傳輸時(shí)間和認(rèn)知度;
16、第2.2步、設(shè)置初始神經(jīng)元s、終點(diǎn)神經(jīng)元d;
17、第2.3步、設(shè)置初始神經(jīng)元的出發(fā)時(shí)間為t,t為從初始神經(jīng)元最早的出發(fā)時(shí)間;
18、第2.4步、設(shè)置神經(jīng)網(wǎng)絡(luò)限定時(shí)間t;
19、第2.5步、設(shè)置神經(jīng)網(wǎng)絡(luò)迭代的時(shí)間步長(zhǎng)δt。
20、第3步:初始化時(shí)序波神經(jīng)網(wǎng)絡(luò)中的所有神經(jīng)元,激活初始神經(jīng)元,具體步驟如下:
21、第3.1步、對(duì)于初始神經(jīng)元s,令
22、第3.2步、對(duì)于非初始神經(jīng)元,令
23、第3.3步、設(shè)置初始時(shí)間t=0。
24、第4步:更新tswnn上的每個(gè)神經(jīng)元的狀態(tài)信息,激活神經(jīng)元并產(chǎn)生波,具體步驟如下:
25、第4.1步、判斷t是否小于t,如果t<t則執(zhí)行以下操作,否則執(zhí)行第5步;
26、第4.2步、對(duì)于tswnn上的每個(gè)未激活神經(jīng)元i∈v,接收到第一個(gè)波wni,修改神經(jīng)元狀態(tài)yi,神經(jīng)元傳輸時(shí)間ti和認(rèn)知度ci,節(jié)點(diǎn)路徑pi,產(chǎn)生波wij并發(fā)送波;
27、wni=lni,yni=cni.
28、
29、tj=ti+lij
30、cj=ci*yij+cj
31、pj=<pi,vj>
32、第4.3步、對(duì)于tswnn上的激活神經(jīng)元j∈v,產(chǎn)生波wjk,判斷后繼節(jié)點(diǎn)是否激活,若未被激活,發(fā)送波,更改激活時(shí)間ym;若節(jié)點(diǎn)接收到波,修改節(jié)點(diǎn)認(rèn)知度cj,傳輸時(shí)間tj,節(jié)點(diǎn)路徑pj;
33、ym=ljm
34、wjk=ljk
35、
36、cj=ci*yij+cj
37、pij=<pi,vj>
38、第4.4步、對(duì)計(jì)時(shí)器t進(jìn)行迭加,t=t+δt;
39、第4.5步、再次判斷t是否小于t,如果t<t,執(zhí)行第4.2-4.4步,否則執(zhí)行第5步,搜索結(jié)束。
40、第5步:計(jì)算終點(diǎn)認(rèn)知度,合并終點(diǎn)路徑為一個(gè)網(wǎng)絡(luò),具體步驟如下:
41、第5.1步、在t=t時(shí)(神經(jīng)網(wǎng)絡(luò)更新停止),輸出終點(diǎn)路徑網(wǎng)絡(luò),該網(wǎng)絡(luò)為終點(diǎn)路徑神經(jīng)元對(duì)集合;
42、第5.2步、輸出該路徑的認(rèn)知度cd。
43、本發(fā)明的優(yōu)點(diǎn)和有益效果
44、本發(fā)明提出了時(shí)序波神經(jīng)網(wǎng)絡(luò)這一創(chuàng)新型方法,該方法是一種新型神經(jīng)網(wǎng)絡(luò),具有時(shí)序神經(jīng)元,采用并行計(jì)算,提高了計(jì)算速率,可以高效完成復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)的分析和查詢。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同,不需要任何訓(xùn)練,直接應(yīng)用于實(shí)際場(chǎng)景。將社交網(wǎng)絡(luò)看作時(shí)序波神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),每個(gè)節(jié)點(diǎn)被視為一個(gè)時(shí)序波神經(jīng)元,能夠準(zhǔn)確捕捉節(jié)點(diǎn)之間的信息傳播路徑和節(jié)點(diǎn)對(duì)信息的認(rèn)知度,提高最小認(rèn)知子圖查詢的準(zhǔn)確性和可靠性。本發(fā)明在求解最優(yōu)認(rèn)知子圖查詢問題時(shí)有顯著優(yōu)勢(shì),相較于已存在的方法,該方法能夠快速地求解問題的最優(yōu)解,在社交網(wǎng)絡(luò)、蛋白質(zhì)網(wǎng)絡(luò)等領(lǐng)域具有重要的應(yīng)用意義。