本發(fā)明屬于圖數(shù)據(jù)挖掘領(lǐng)域,具體涉及的是一種基于特征圖的非精確子圖匹配方法。
背景技術(shù):
:圖是由有限的節(jié)點(diǎn)和邊的集合構(gòu)成的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),比起以往傳統(tǒng)的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),圖有著許多的優(yōu)越性,如復(fù)雜的語(yǔ)義能夠通過(guò)圖結(jié)構(gòu)直觀地體現(xiàn)等。由于圖的結(jié)構(gòu)特點(diǎn),它被廣泛應(yīng)用于生物蛋白質(zhì)網(wǎng)絡(luò)、社交網(wǎng)絡(luò)等許多方面。對(duì)圖數(shù)據(jù)進(jìn)行分析可以從中挖掘出許多有價(jià)值的信息,如用戶的興趣、行為偏好等。而這些信息能夠應(yīng)用在電子商務(wù)、輿情管理等許多領(lǐng)域(《基于社交網(wǎng)絡(luò)好友關(guān)系的圖查詢算法研究與應(yīng)用》,作者史嶺峰,南京理工大學(xué),2012)。子圖匹配分為精確圖匹配方法和非精確圖匹配方法,典型的精確圖匹配算法有l(wèi)uigip.cordella等人提出的vf2算法(a(sub)graphisomorphismalgorithmformatchinglargegraphsluigip.cordella,etal.),它是基于圖同構(gòu)的。由于現(xiàn)實(shí)世界的圖具有非常大的噪音,在精確圖匹配的基礎(chǔ)上又提出了非精確圖匹配方法,該類(lèi)方法能夠很好地適應(yīng)現(xiàn)實(shí)世界如社交網(wǎng)絡(luò)圖的噪聲,使得匹配得到較好的結(jié)果。典型的算法有wolvertonm等人提出的的law算法(law:aworkbenchforapproximatepatternmatchinginrelationaldata)等。但這些非精確圖匹配算法大多都只考慮點(diǎn)周?chē)?-2步鄰居的情況,當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜時(shí)得到的結(jié)果誤差很大。本發(fā)明通過(guò)建立特征圖,大大強(qiáng)化了圖的結(jié)構(gòu)信息,采用迭代方法能夠使得匹配結(jié)果收斂,具有更好的匹配效果,同時(shí)算法運(yùn)行效率高。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的所要解決的技術(shù)問(wèn)題是大型網(wǎng)絡(luò)圖下的非精確子圖匹配問(wèn)題,針對(duì)現(xiàn)有的非精確圖匹配算法存在的當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜時(shí)得到的結(jié)果誤差很大的問(wèn)題,提出一種基于特征圖的非精確子圖匹配方法。本方法利用點(diǎn)的標(biāo)簽確立匹配候選點(diǎn)集,然后根據(jù)特征圖對(duì)其建立索引。通過(guò)索引可以求得兩點(diǎn)之間的差異向量從而求得他們之間的匹配開(kāi)銷(xiāo),選擇匹配開(kāi)銷(xiāo)最小的匹配點(diǎn)對(duì)作為初始匹配集,然后通過(guò)迭代使結(jié)果更加精確。本發(fā)明大大強(qiáng)化了結(jié)構(gòu)特征對(duì)匹配的影響,使得匹配結(jié)果更加準(zhǔn)確。一種基于特征圖的非精確子圖匹配方法,包括以下步驟:步驟1),根據(jù)結(jié)點(diǎn)標(biāo)簽得到查詢圖中每個(gè)點(diǎn)關(guān)于數(shù)據(jù)圖的候選點(diǎn)集。步驟2),根據(jù)步驟1)對(duì)查詢圖中的每個(gè)點(diǎn)及其匹配候選集建立關(guān)于特征圖的索引;步驟3),根據(jù)步驟2)計(jì)算每個(gè)點(diǎn)的特征圖向量r步驟4),根據(jù)步驟3),計(jì)算每個(gè)點(diǎn)與它的候選點(diǎn)集中的點(diǎn)兩兩之間的匹配開(kāi)銷(xiāo),通過(guò)迭代求得匹配映射,迭代的結(jié)束條件是兩次匹配之間的差異小于規(guī)定的閾值。進(jìn)一步的,本發(fā)明的基于特征圖的非精確子圖匹配方法,步驟1)查找查詢圖q中每個(gè)點(diǎn)v關(guān)于數(shù)據(jù)圖g的候選匹配點(diǎn)集c,其中v的候選匹配點(diǎn)集c是數(shù)據(jù)圖g中與v標(biāo)簽相同的點(diǎn)組成的集合;進(jìn)一步的,本發(fā)明的基于特征圖的非精確子圖匹配方法,步驟2)將2-4個(gè)點(diǎn)組成的完全連接圖作為特征圖,每個(gè)點(diǎn)在這些完全連接圖中可能有15種不同的位置,計(jì)算查詢圖q中的每個(gè)點(diǎn)v以及它在數(shù)據(jù)圖g上的匹配候選集中的每一個(gè)點(diǎn)u在這15個(gè)位置出現(xiàn)的次數(shù)作為索引保存;進(jìn)一步的,本發(fā)明的基于特征圖的非精確子圖匹配方法,步驟3)建立特征圖向量,根據(jù)公式計(jì)算查詢圖q中的點(diǎn)v與它的匹配候選集中的某一點(diǎn)u在每個(gè)位置i處的差異值,其中qfi表示查詢圖q中的點(diǎn)v在i位置出現(xiàn)的次數(shù),gfi表示v的匹配候選集中的一點(diǎn)u在i位置出現(xiàn)的次數(shù)。進(jìn)一步的,本發(fā)明的非精確圖匹配方法,步驟4)根據(jù)公式計(jì)算q中的點(diǎn)v與它的匹配候選集中的某一點(diǎn)u的匹配開(kāi)銷(xiāo),選擇候選集中差異值最小的點(diǎn)作為初始匹配映射,公式中αi表示第i個(gè)位置在所有的位置中所占重要程度的權(quán)重,是一個(gè)常量,ri表示查詢圖q中的點(diǎn)v與它的匹配候選集中的某一點(diǎn)u在每個(gè)位置i處的差異值,n表示每個(gè)點(diǎn)在完全連接圖中所有的位置的個(gè)數(shù);根據(jù)公式計(jì)算第i+1次迭代中q中的點(diǎn)v與它的匹配候選集中的某一點(diǎn)u的匹配開(kāi)銷(xiāo),其中cost(v,u)i表示第i次迭代的匹配開(kāi)銷(xiāo),cost(v',φ(v'))i表示v的鄰居結(jié)點(diǎn)v’第i次迭代時(shí)最小的匹配開(kāi)銷(xiāo),n(v)表示v的鄰居結(jié)點(diǎn)的集合。選擇候選集中差異值最小的點(diǎn)作為該次迭代的匹配映射,直到兩次匹配之間的差異小于規(guī)定的閾值停止迭代,得到最終的匹配結(jié)果。有益效果本發(fā)明針對(duì)大型社交網(wǎng)絡(luò)的子圖匹配問(wèn)題,通過(guò)點(diǎn)的標(biāo)簽尋找候選集,能夠有效地降低計(jì)算規(guī)模。與以往其他方法只考慮鄰居結(jié)點(diǎn)的相似性不同的是,本方法通過(guò)建立特征圖,大大強(qiáng)化了結(jié)構(gòu)特征對(duì)匹配的影響,使得匹配結(jié)果更加準(zhǔn)確。在匹配階段,由于采用迭代方法,能夠得到穩(wěn)定的匹配結(jié)果。本方法在計(jì)算效率與匹配的準(zhǔn)確性上取得了一個(gè)平衡。附圖說(shuō)明圖1是一種基于特征圖的非精確子圖匹配方法的流程圖。圖2是查詢圖q及數(shù)據(jù)圖g的例子。圖3是本基于特征圖的非精確子圖匹配方法利用的特征圖。具體實(shí)施方式下面結(jié)合附圖對(duì)技術(shù)方案的實(shí)施作進(jìn)一步的詳細(xì)描述:結(jié)合流程圖及實(shí)施案例對(duì)本發(fā)明所述的一種基于特征圖的非精確子圖匹配方法作進(jìn)一步的詳細(xì)描述。如圖1所示,本方法包含如下步驟:步驟1),若數(shù)據(jù)圖g中的一個(gè)結(jié)點(diǎn)u與查詢圖q中的一個(gè)結(jié)點(diǎn)v的標(biāo)簽相同,那么u則是v的匹配候選結(jié)點(diǎn),按照上述規(guī)則求得查詢圖q中所有結(jié)點(diǎn)v的候選匹配結(jié)點(diǎn)集合c。例如圖2,c(v1)={u1},c(v2)={u2},c(v3)={u3},c(v4)={u4,u5};步驟2),根據(jù)上一步得到的匹配候選集,對(duì)查詢圖中的每個(gè)點(diǎn)及其匹配候選集建立關(guān)于特征圖的索引;步驟201),建立2-4個(gè)點(diǎn)的完全連接圖作為特征圖,如圖3所示步驟202),根據(jù)建立的2-4個(gè)點(diǎn)的特征圖,結(jié)點(diǎn)在特征圖中可能有15種情況,由此將查詢圖q中的每個(gè)點(diǎn)v及其匹配候選集c(v)中的點(diǎn)在各種情況下出現(xiàn)的次數(shù)作為索引表,圖2中的u2的索引表如表1所示。表1特征圖位置123456789101112131415出現(xiàn)次數(shù)352222211002010步驟3),根據(jù)上一步建立的索引表計(jì)算查詢圖q中的任意一點(diǎn)v分別與它的匹配候選集c(v)中的所有點(diǎn)的特征圖向量r,即根據(jù)公式計(jì)算查詢圖q中的點(diǎn)v與它的匹配候選集c(v)中的某一點(diǎn)u在每個(gè)位置i處的差異值。步驟4)計(jì)算查詢圖q中每個(gè)點(diǎn)v與它的候選匹配點(diǎn)集c(v)中的每個(gè)點(diǎn)兩兩之間的匹配開(kāi)銷(xiāo),通過(guò)迭代求得匹配映射,迭代的結(jié)束條件是兩次匹配之間的差異小于規(guī)定的閾值。步驟401),根據(jù)上一步計(jì)算的結(jié)果,通過(guò)公式求得查詢圖q中每個(gè)點(diǎn)v與它的候選匹配點(diǎn)集c(v)中的每個(gè)點(diǎn)兩兩之間的匹配開(kāi)銷(xiāo),公式中αi表示第i個(gè)位置所在的特征圖在所有特征圖中出現(xiàn)的次數(shù)與總次數(shù)的比值,其值如表2所示。表2αiα1α2α3α4α5α6α7α8α9α10α12α13α14α15value0.210.210.210.110.130.130.110.110.080.080.080.080.050.050.03步驟402),根據(jù)步驟401)計(jì)算的結(jié)果,得到初始匹配映射,匹配規(guī)則為:查詢圖中的一點(diǎn)v與其候選匹配集c(v)中的u點(diǎn)匹配,當(dāng)且僅當(dāng)u與v的匹配開(kāi)銷(xiāo)小于v與c(v)中其他所有結(jié)點(diǎn)的匹配開(kāi)銷(xiāo);步驟403),根據(jù)步驟402)計(jì)算的結(jié)果,根據(jù)公式計(jì)算第i+1次迭代的匹配結(jié)果;步驟404),根據(jù)步驟403)計(jì)算的結(jié)果,計(jì)算兩次迭代匹配結(jié)果的差異值,例如在圖2中,若第一次迭代時(shí)v4與u4是匹配的而第二次迭代時(shí)v4與u5匹配,那么差異值就加1;步驟405),根據(jù)步驟404)計(jì)算的結(jié)果,當(dāng)兩次匹配結(jié)果的差異值小于預(yù)先定義的閾值時(shí)結(jié)束迭代,否則執(zhí)行步驟403)。當(dāng)前第1頁(yè)12