亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于增量信息索引的子圖查詢算法

        2016-11-08 08:41:42王超琿黃一夫
        計算機應用與軟件 2016年10期
        關鍵詞:紡錘形標識符子圖

        王超琿 黃一夫

        (復旦大學計算機科學技術學院智能信息處理重點實驗室 上海 200433)

        ?

        基于增量信息索引的子圖查詢算法

        王超琿黃一夫

        (復旦大學計算機科學技術學院智能信息處理重點實驗室上海 200433)

        當前圖數(shù)據(jù)庫中的子圖同構查詢算法主要是依賴倒排索引,然而處理那些具有龐大數(shù)據(jù)的數(shù)據(jù)庫和復雜的查詢愈發(fā)成為挑戰(zhàn)。研究目的是設計一個算法,使用新的索引作為查詢處理的核心,記錄查詢圖的每一個細小改變,并使用一種特殊的數(shù)據(jù)結構來維護。先是引出一個索引算法,然后逐漸分析整個索引、查詢過程,并利用該算法實現(xiàn)一個系統(tǒng),最后在不同數(shù)據(jù)集和查詢上進行實驗。實驗證明了該算法具有良好的時間、空間效率和擴展性。新的索引算法能夠支持更大的查詢圖和更加靈活的查詢。通過實現(xiàn)的系統(tǒng)和其他系統(tǒng)的對比實驗,驗證了算法的有效性。

        圖數(shù)據(jù)庫子圖同構片段子圖查詢索引查詢算法

        0 引 言

        隨著互聯(lián)網(wǎng)步入2.0時代,圖數(shù)據(jù)庫越來越多地出現(xiàn)在我們的生活中,例如社交網(wǎng)絡、蛋白質網(wǎng)絡、化學結構等,對于它的檢索需求也與日俱增。你可以在Facebook查看你好友或者好友的好友發(fā)出的消息;你可以在生物信息數(shù)據(jù)庫中研究某種DNA、某種氨基酸、某種蛋白質;你可以在化學數(shù)據(jù)庫中查詢某種化學結構。支撐這些應用的底層存儲數(shù)據(jù)庫不是普通的數(shù)據(jù)庫,而是圖數(shù)據(jù)庫。當你使用這些應用時會有圖數(shù)據(jù)庫查詢,即使你沒有意識到,這一切都在不知不覺中進行著。

        有的圖數(shù)據(jù)庫本身就是一張大圖[1],有的圖數(shù)據(jù)庫中存儲了千千萬萬的小圖。傳統(tǒng)的數(shù)據(jù)庫只能將一個圖存為一個整體,不能利用其中的結構信息。隨著技術的進步和發(fā)展,圖數(shù)據(jù)庫的實用價值不斷增大,所以使用的比例也不斷加大。

        圖數(shù)據(jù)庫需要檢索技術,本文研究的檢索是子圖同構檢索。進行這樣的檢索有幾個要求:檢索結果需要完全正確,不能漏掉數(shù)據(jù)庫中應該檢索到的圖,或者檢索出不正確的圖;檢索處理的速度需要足夠快,同時使用的內存要合理。

        順序枚舉數(shù)據(jù)庫里的每個圖,并且查看查詢是不是它的子圖是效率比較低的做法。因為子圖同構查詢是NP完全問題[2],在整個圖數(shù)據(jù)庫上進行,花費很大。因此,現(xiàn)在通行的做法是建立索引,之后在查詢時進行兩階段的處理:過濾和驗證。過濾是在圖數(shù)據(jù)庫中選出部分圖組成候選集集合,過濾掉一些不符合的圖,縮小需要運行子圖同構檢測的數(shù)據(jù)范圍大小。這時,候選集已經(jīng)大大減小了,需要運行子圖同構檢測的次數(shù)變少了,可以加快查詢的速度。驗證部分運行子圖同構檢測,確定正確的結果。如果過濾步驟能夠顯著地降低候選集的大小,那么這個基于索引的兩階段算法就是有效并且實用的。候選集的大小可以作為不同算法性能直接比較的一個重要指標。

        GraphGrep[3]提出了子圖查詢問題,Tree+Δ[4]使用了樹作為索引,gIndex[5]使用了圖作為索引,F(xiàn)G-Index[6]提出了避免過濾階段的方法。傳統(tǒng)的索引是建立頻繁子圖的倒排索引,沒有利用其中的結構信息。本文在構建索引時在子圖之間增加信息,構建的索引是由子圖構成的圖。

        本文研究的主要目的是設計一個符合以上要求的支持子圖查詢的算法。

        1 基本概念

        1.1相關定義

        定義2圖G1子圖同構于圖G2(表示為G1?G2),若存在一個單射函數(shù)f:V1→V2,使得?u∈V1都有φ1(u)=φ2(f(u));?(u,v)∈E1都有(f(u),f(v))∈E2。

        定義3一個圖G的正規(guī)表示Canon(G)是一個帶標簽的圖,同構于G,且任意同構于G的圖都和G有相同的正規(guī)表示,正規(guī)表示是唯一的。找尋圖的正規(guī)表示的問題叫作圖的正規(guī)化。因此,如果有一個圖的正規(guī)化的算法,這個算法同樣能夠解決圖的同構問題。對于兩個圖G和H,計算它們的正規(guī)表示Canon(G)和Canon(H),然后檢測兩個正規(guī)表示是否相同。如果相同必定同構,如果不同必定不同構[7]。

        定義5術語片段用于稱呼圖數(shù)據(jù)庫或者查詢圖中的一個小的子圖。

        1.2問題描述

        本文研究的圖數(shù)據(jù)庫,是由許多的小圖組成的。每個小圖的規(guī)模都不大(點數(shù)、邊數(shù)<200),但是小圖的數(shù)目非常多(10×103~200×103)。給定圖數(shù)據(jù)庫D={G1,G2,…,Gn},查詢圖Q。子圖查詢問題是找出所有的Gi,使得Q?Gi。

        2 算 法

        傳統(tǒng)的索引是建立頻繁子圖的倒排索引,沒有利用其中的結構信息。并且傳統(tǒng)的索引沒有考慮到索引本身和查詢之間的聯(lián)系。本文在構建索引時在子圖之間增加信息,構建的索引是由子圖構成的圖。這是為了查詢時使用的特性而特別優(yōu)化的。

        圖1是整體系統(tǒng)的結構,包含有索引構建器、查詢處理機和驗證器。索引構建器能夠輸入圖數(shù)據(jù)庫并且為其構建索引。查詢處理器用于處理查詢,輸入查詢后對查詢進行分析,在讀取索引的同時維護一個數(shù)據(jù)結構保存圖的特征信息。這些信息是同時和查詢圖和索引相關聯(lián)的,從這個數(shù)據(jù)結構中可以提取候選集,傳遞給驗證器。驗證器用于驗證候選集,輸出查詢結果。

        圖1 系統(tǒng)結構圖

        2.1增量信息索引

        本文提出的增量信息索引結構本身是一個分層的有向無環(huán)圖,圖2是從本文使用的索引所進行的可視化展示中截取的。

        圖2 增量信息索引結構圖

        定義9若有圖數(shù)據(jù)庫D和其上的頻繁片段集合F,可以構建增量信息索引I={I1,I2,…,In}。索引中的每一項Ii都對應一個片段,由標識符、正規(guī)編碼、類型、大小、轉移信息、父親和支持圖集合組成。

        這里我們只將頻繁片段和顯著非頻繁片段放入增量信息索引中,這樣做的原因是所有片段的種類是非常多的,不可能全部放入索引中。已知使用頻繁片段是一種能大幅度降低片段數(shù)量的方法,可以通過調節(jié)最小支持度閾值α來控制數(shù)量,并且過濾效果很好。本文使用一種已有的圖數(shù)據(jù)庫挖掘算法gSpan生成頻繁片段[9]。

        片段的轉移信息是一個數(shù)組,表示片段上所有可以進行的操作和操作的結果。操作就是給片段增加一條邊,因為增加完邊后片段仍舊是連通的,所以操作有兩種:

        (1) 增加邊的同時增加一個新的結點,新的邊將新的結點連接到片段中一個已有的結點上,我們記這種操作為Nx(y)。其中x為已有結點的編號,y為新結點的標簽。如N0(C)表示將一個標簽為C的新結點連接到已有的0號結點上。

        (2) 在已有的兩個沒有邊連接的結點之間連接一條邊,我們記這種操作為Cx-y。其中x、y分別為已有兩個結點的編號,且x

        定義10操作的結果叫作轉移(trans),形如 (id,newIds)。若這個操作是對片段a做的,得到片段a′,a′的正規(guī)表示為b,那么id為b的標識符,newIds表示的是a′到b的同構映射函數(shù)f。

        2.2增量信息索引的構建

        首先,將所有頻繁片段連同它們的信息(包括它們的支持圖集合)放入增量信息索引中。然后依次枚舉所有的頻繁片段,并對其嘗試前文所提到的兩種操作:增加邊的同時增加一個新的結點,在已有的兩個沒有邊連接的結點之間連接一條邊。若操作的結果從片段f得到新圖newGraph和轉移newIds,片段f在索引中對應的項為If。根據(jù)newGraph的性質進行以下操作:

        1) 若newGraph是頻繁片段,對應索引中的項InewGraph,我們記錄三元組(op,InewGraph.id,newIds)到索引中If項的信息中。

        3) 若newGraph是顯著非頻繁片段,對應索引中的項InewGraph,我們記錄三元組(op,InewGraph.id,newIds)到索引中If項的信息中。

        4) 若newGraph是非顯著非頻繁片段,我們不做任何事。

        最后檢查所有的DIF,若其支持圖集合為空,則其支持圖集合的候選集C可由它所有父節(jié)點支持圖集合的交集得到。在C上運行驗證器可以得到其支持圖集合。

        2.3簡單紡錘形圖

        在文獻[10]中,作者提出了紡錘形圖的概念。本文在此基礎上提出了簡單紡錘形圖,作為查詢圖的特性信息。簡單紡錘形圖改變了圖中每個結點所代表的意義和包含的信息,不過還是繼承了其紡錘形的特征和思想。文獻[10]中使用多個紡錘形圖,本文只使用一個簡單紡錘形圖;原有紡錘形圖每個結點都是原有查詢中的一個片段,本文只是索引項的標識符;原有紡錘形圖中結點的總個數(shù)一定是查詢圖所有連通子圖的個數(shù),本文簡單紡錘形圖中結點數(shù)量的增長較為平緩。因此本文縮減了操作簡單紡錘形圖的時間,使得添加邊、刪除邊的操作更加高效。

        定義11簡單紡錘形圖(SimpleSPIG)是一個圖,結點i帶有數(shù)據(jù){id,edgeSets}。i.id是增量信息索引中索引項的標識符。若兩個簡單紡錘形圖中的結點各自對應的索引項在增量信息索引中有邊連接,那么在簡單紡錘形圖中這兩個結點也有邊連接。i.edgeSets是邊集的集合且不為空。

        圖3展示了簡單紡錘形圖的結構。當用戶插入了一條邊后,簡單紡錘形圖只會增加結點和結點中的邊集。當用戶刪除邊后,簡單紡錘形圖中的結點和結點中的邊集只會減少。我們需要實現(xiàn)增加邊和刪除邊的算法。

        圖3 簡單紡錘形圖

        2.4增加查詢邊算法

        每次加入新的邊時,會更新簡單紡錘形圖。用廣度優(yōu)先搜索從小到大找出所有包含種子邊的查詢圖的連通子圖。廣度優(yōu)先搜索所使用的隊列里存儲的是用于表示片段的三元組(查詢結點標識符數(shù)組,邊集,索引項的標識符)。其中查詢結點標識符數(shù)組和邊集可以定位片段在查詢圖中的位置,索引項的標識符可以定位片段在索引中的位置。

        每次從隊列中取出一個三元組后,我們嘗試所有給它加邊的方法,加上新的邊得到新的邊集。若還沒有被處理過,使用加邊操作在索引信息中查找。若能找到對應的轉移,利用查詢結點標識符數(shù)組和轉移中的newIds構建新的查詢結點標識符數(shù)組,并且將新的三元組加入到隊列中去。并且,同時將標識符添加到簡單紡錘形圖中,這里添加時需要使用父親信息。這是因為若有父親已經(jīng)存在在簡單紡錘形圖中,我們需要連一條到父親的邊。然后將邊集加入到簡單紡錘形圖結點的邊集中。

        等到隊列全部處理完成的時候,算法也就終止了,此時更新也完成了。

        2.5刪除查詢邊算法

        刪除一條邊的算法只需要對簡單紡錘形圖進行更新就可以了,不需要使用到索引的信息。其主要的思想是移除所有簡單紡錘形圖中包含有需要刪除邊的邊集,若移除后簡單紡錘形圖中結點的邊集集合為空,說明此結點的限制不必再應用于這個查詢,可以移除這個結點了。更新完成后就可以得到所需的新的簡單紡錘形圖。

        2.6得到查詢結果

        這里需要根據(jù)簡單紡錘形圖的層數(shù)分兩種情況:

        1) 若層數(shù)存在和查詢大小相同的這一層,簡單紡錘形圖形成一個完整的紡錘形,那么說明查詢本身就在索引中出現(xiàn)過。可以直接使用索引的支持圖集合作為查詢的結果,不需要再做驗證。

        2) 否則,還需要再次通過驗證器驗證才能作為查詢的結果。先從簡單紡錘形圖中所有葉子結點中取出它們的支持圖集合,并把這些集合的交集作為查詢結果的候選集,驗證完后作為查詢結果。只取所有的葉子結點是因為,若一個結點不是葉子結點,那么它一定有一個后代并且這個后代的支持圖集合是它的支持圖集合的子集,所以沒有必要再和非葉子結點的支持圖集合做交集操作。

        3 實驗結果與分析

        本文所實現(xiàn)的程序稱為Inc-Info,將與之前的算法Prague進行比較,并進行性能測試。實驗是在一臺IntelCorei7-4700MQ處理器、12GB內存、運行Windows8.1x64操作系統(tǒng)的計算機上進行的。實驗環(huán)境上安裝有Java1.8和Graphviz2.38。

        實驗的數(shù)據(jù)集是AIDS抗病毒數(shù)據(jù)集,是一個真實的數(shù)據(jù)集,總共包含有43 000個化學結構。取頻率閾值α為0.1,并運行gSpan生成頻繁片段。

        圖4顯示了在AIDS數(shù)據(jù)集上建立索引,得到片段數(shù)與索引大小、片段大小的關系。頻繁片段的總數(shù)為2847,構建時間為70分鐘,總索引大小為139.3MB,其中支持圖集合占138.5MB,數(shù)據(jù)庫文件占用磁盤總空間237MB。實驗表明,片段個數(shù)會隨著片段大小的增長而增多,但是達到一個最大值后反而會下降,最后歸零,說明此算法片段數(shù)是可控的。在最后得到的增量信息索引中,支持圖集合占據(jù)了絕大部分空間,說明本算法表示索引結構部分的信息是十分高效的。

        圖4 索引大小分布圖

        本文手工構建了18個查詢圖,作為測試樣例。在Inc-Info和Prague上輸入測試Q1-Q18,得到查詢用時,見圖5、圖6所示。其中Q7-Q12、Q15-Q18的圖比較大,Prague無法處理,因此沒有結果。可以發(fā)現(xiàn)Inc-Info的查詢用時較小。

        圖5 Q1-Q9測試用時

        圖6 Q10-Q18測試用時

        表1是在Inc-Info和Prague上輸入Q1后,刪除一條邊所獲得的操作用時。Prague不支持刪除邊5-邊7的操作,因為Prague不能留下不連通的查詢圖,這點上Inc-Info較為靈活。而且可以看到Inc-Info較Prague在時間效率上有優(yōu)勢。

        表1 刪除邊測試結果

        4 結 語

        本文提出了能夠快速轉移的新索引結構、一種新的查詢時數(shù)據(jù)結構簡單紡錘形圖,組成一種新的相似度查詢過濾算法。這種新算法可以支持更大的查詢圖,并有更高的查詢性能。通過實驗,將本文系統(tǒng)和現(xiàn)有系統(tǒng)進行比較,證明了本文提供的算法在實踐上也具有良好的表現(xiàn)。未來可能的研究方向將關注如何縮小增量信息索引的大小,加快索引構建速度。

        [1]SunZ,WangHZ,WangHX,etal.Efficientsubgraphmatchingonbillionnodegraphs[J].ProceedingsoftheVLDBEndowment,2012,5(9):788-799.

        [2]GareyMR,JohnsonDS.Computersandintractability:aguidetothetheoryofNP-completeness[M].USA:W.H.FreemanandCompany,1979.

        [3]GiugnoR,ShashaD.GraphGrep:afastanduniversalmethodforqueryinggraphs[C]//Proceedingsofthe16thInternationalConferenceonPatternRecognition,Quebec,Canada,2002,2:112-115.

        [4]ZhaoPX,YuJX,YuPS.Graphindexing:tree+delta>=graph[C]//Proceedingsofthe33rdInternationalConferenceonVeryLargeDataBases,2007:938-949.

        [5]YanXF,YuPS,HanJW.Graphindexing:afrequentstructure-basedapproach[C]//Proceedingsofthe2004ACMSIGMODInternationalConferenceonManagementofData,2004:335-346.

        [6]ChengJ,KeYP,NgW,etal.FG-Index:towardsverification-freequeryprocessingongraphdatabases[C]//Proceedingsofthe2007ACMSIGMODInternationalConferenceonManagementofData,2007:857-872.

        [7]Canonicalform[EB/OL].Wikipedia[2015-03-20].http://en.wikipedia.org/wiki/Canonical_form.

        [8]JinC,BhowmickSS,XiaoXK,etal.GBLENDER:towardsblendingvisualqueryformulationandqueryprocessingingraphdatabases[C]//Proceedingsofthe2010ACMSIGMODInternationalConferenceonManagementofData,2010:111-122.

        [9]YanXF,HanJW.gSpan:graph-basedsubstructurepatternmining[C]//Proceedingsofthe2002IEEEInternationalConferenceonDataMining,2002:721-724.

        [10]JinCJ,BhowmickSS,ChoiB,etal.Prague:towardsblendingpracticalvisualsubgraphqueryformulationandqueryprocessing[C]//Proceedingsofthe2012IEEE28thInternationalConferenceonDataEngineering,2012:222-233.

        ASUBGRAPHQUERYALGORITHMBASEDONINCREMENTALINFORMATIONINDEX

        WangChaohuiHuangYifu

        (KeyLabofIntelligentInformationProcessing,SchoolofComputerScience,FudanUniversity,Shanghai200433,China)

        Currentlysubgraphisomorphicqueryalgorithmsingraphdatabasemainlydependoninvertedindex.However,theprocessingofthosegraphdatabaseswithhugedataandthecomplicatedqueriesincreasinglybecomesachallenge.Thepurposeofourresearchistodesignanalgorithm,weusedanewindexasthecoreofqueryprocessing,recordedeverytinychangeinquerygraph,andmaintaineditwithaspecialdatastructure.Firstweintroducedanindexalgorithm,andthengraduallyanalysedthewholeprocessofindexandquery,andusedthealgorithmtohaveimplementedasystem,finallywecarriedouttheexperimentsondifferentdatasetsandqueries.Thisalgorithmhasbeenprovedwithgoodtimeandspaceproductivityandscalability.Thenewindexalgorithmisabletosupportgreaterquerygraphandmoreflexiblequery.Throughtheimplementedcomparativeexperimentsbetweenthissystemandothersystems,weverifiedtheefficiencyofthisalgorithm.

        GraphdatabaseSubgraphisomorphismFragmentSubgraphqueryIndexQueryalgorithm

        2015-05-18。王超琿,碩士生,主研領域:數(shù)據(jù)庫。黃一夫,碩士生。

        TP

        ADOI:10.3969/j.issn.1000-386x.2016.10.009

        猜你喜歡
        紡錘形標識符子圖
        淺析5G V2X 通信應用現(xiàn)狀及其側鏈路標識符更新技術
        基于底層虛擬機的標識符混淆方法
        計算機應用(2022年8期)2022-08-24 06:30:36
        基于區(qū)塊鏈的持久標識符系統(tǒng)①
        臨界完全圖Ramsey數(shù)
        蘋果矮砧集約化栽培技術在濟南的示范與推廣
        黃金梨3種不同樹形栽培對比試驗
        數(shù)字美術館“數(shù)字對象唯一標識符系統(tǒng)”建設需求淺議
        中國美術館(2016年6期)2017-01-19 08:44:24
        基于頻繁子圖挖掘的數(shù)據(jù)服務Mashup推薦
        高紡錘形蘋果樹的修剪培養(yǎng)
        中國果菜(2016年9期)2016-03-01 01:28:46
        黃金梨不同栽植密度對比試驗
        山西果樹(2015年6期)2015-12-11 06:02:30
        亚洲色中文字幕无码av| 国产日本精品一二三四区| 极品一区二区在线视频| 精品含羞草免费视频观看| 波多野结衣中文字幕一区二区三区 | 亚洲av乱码国产精品观| 视频在线观看国产自拍| 一本大道av伊人久久综合| 久久午夜无码鲁丝片午夜精品| 五级黄高潮片90分钟视频| 国产96在线 | 亚洲| AV无码一区二区三区国产| 曰本无码人妻丰满熟妇5g影院| 国产免费一级高清淫日本片| 久久99亚洲综合精品首页| 黑人一区二区三区啪啪网站| 亚洲国产一区二区av | 亚洲av无码乱码精品国产| 欧美精品亚洲精品日韩专区 | 少妇愉情理伦片| 怡春院欧美一区二区三区免费| 色爱无码A V 综合区| 精品国产日韩无 影视| 国产精品自拍网站在线| 24小时免费在线观看av| 中文字幕日韩人妻不卡一区| 中文字幕乱码免费视频| 午夜三级网| 日本激情视频一区在线观看| 亚洲97成人精品久久久| 亚洲午夜狼人综合影院| 在线观看成人无码中文av天堂| 国产精品免费大片| 91在线在线啪永久地址| 无码伊人久久大杳蕉中文无码| 人妻露脸国语对白字幕| 少妇高潮在线精品观看| 国产免费艾彩sm调教视频| 国产毛片网| 中文字幕高清无码不卡在线| 久久综合伊人有码一区中文字幕|