亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Voronoi圖的反k最近鄰查詢方法

文檔序號:6401261閱讀:247來源:國知局
專利名稱:一種基于Voronoi圖的反k最近鄰查詢方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種查詢方法,特別涉及一種基于VOTonoi圖的反k最近鄰查詢方法,屬于空間數(shù)據(jù)查詢技術(shù)領(lǐng)域。
背景技術(shù)
空間數(shù)據(jù)庫中移動對象查詢技術(shù)可以應用于城市交通、航空航天、通訊網(wǎng)絡等存在移動對象的網(wǎng)絡中,它可以根據(jù)大量的時空數(shù)據(jù)來挖掘信息從而提供給客戶相關(guān)咨詢。典型的空間查詢是最近鄰(nearest neighbors, NN)查詢和k最近鄰(k nearestneighbors, kNN)查詢。例如:旅客會問哪家酒店距離車站最近;司機會查詢最近的2個加油站在什么地方。反最近鄰(reverse nearest neighbors, RNN)查詢是NN查詢的變種,其回答誰把查詢對象看成最近鄰居,如某個城市的一系列連鎖店可能要給客戶發(fā)布一些廣告,每個連鎖店發(fā)廣告的客戶群是不同的,這些客戶的范圍可以定義成為受到某個連鎖店影響的客戶群,用RNN查詢就可以確定這些群體;還有在移動數(shù)據(jù)庫系統(tǒng)中各個移動對象傾向于在最近或者反向?qū)M的對象中共享一些信息等等。此外,在游戲領(lǐng)域,空間數(shù)據(jù)庫查詢技術(shù)也有一定的發(fā)展前景,比如由美國的Blizzard公司開發(fā)的大型網(wǎng)絡游戲中,游戲玩家在地圖偵測中發(fā)現(xiàn)敵人或?qū)ふ医ㄖ锏炔僮骶褪莐NN和RNN的體現(xiàn)。反k最近鄰(reverse k nearest neighbors, RkNN)查詢則是kNN查詢的補充和發(fā)展,按數(shù)據(jù)集的不同分為單色RkNN查詢和雙色RkNN (bichromatic reverse k nearestneighbors, BRkNN)查詢。F.korn 和 S.Muthukrishnan 提出 了 RNN 查詢的概念,并給出 了求解RNN的查詢方法。使用了兩個R樹來進行查詢、插入、刪除操作。Yang和Lin改進了以上的方法,使得用單一樹進行RNN查詢和NN查詢成為可能。Stanoi等人提出了一種在沒有預測的情況下進行計算的方法。該方法將查詢點的周邊范圍劃分成6個大小相同的扇區(qū),首先在各自的扇區(qū)內(nèi)找到RNN的候選對象;其次,對于每個候選對象完成了一個獨立的NN查詢來判斷這個候選對象是不是最后的結(jié)果。Maheshwari等人提出了主存數(shù)據(jù)結(jié)構(gòu)的RNN查詢,對于每個點其結(jié)構(gòu)維持著其到最近鄰的距離。Stanoi等人提出的方法在高維空間中,隨著維數(shù)的增加,RNN的候選值呈現(xiàn)指數(shù)增長。效率大幅降低。為了解決這個問題,Singh等人提出了通過執(zhí)行常規(guī)的kNN查詢找出RkNN候選值。但該方法的缺點在于不是總能找到所有的RkNN點。Tao等人提出的方法與Stanoi等人提出的相似,該方法分成篩選和精煉兩個階段,給定一個查詢點q,方法遞歸回到q點未劃分的空間,直到?jīng)]有候選對象剩下。在過濾的步驟時,去除了一些確定為錯誤結(jié)果的候選對象。在基于Voronoi圖的RNN查詢方面,李松、郝忠孝提出的在歐幾里德平面內(nèi)的Voronoi圖中使用Range-k驗證法來查找結(jié)果。即以點集中一點為中心,點到查詢點的距離為半徑生成一個判斷圓來以此找出RNN。該方法只適用于對單色RkNN的查詢,在雙色RkNN查詢時存在大量不必要的I/O操作。Maytham Safar則提出了網(wǎng)絡Voronoi圖的空間中進行RNN查詢。方法適用于交通網(wǎng)絡等方面,在查詢對象頻繁更換時效率很低。
Voronoi圖是同給定的客體離散集(如點集)的距離確定的空間分解,特別是點集p={pl, p2,…,pn}的Voronoi圖被定義為cell集。這里每個cell, V(pi)是一個空間區(qū)域,由距離Pi比距離P中其他點更近的全部空間數(shù)據(jù)點組成。Voronoi圖可以推廣到k階Voronoi圖(order k voronoi diagram,KVD),距離判斷法是一種現(xiàn)有的Voronoi圖的生成方法,圖1為利用該方法生成的3階Voronoi圖,圖2為利用該方法生成的2階3階混合Voronoi圖。在KVD中每個區(qū)域中的查詢對象依據(jù)BRkNN的定義可知,就是當前區(qū)域的生成元的RkNN值。如圖1所示,查找站點3的R3NN值:首先定位那些生成元所含站點3的Voronoi 區(qū)域,有 V(1,3,5)、V(1,3,4)、V(l,3, 6)、V(1,2,3)四個。因此,這四個 Voronoi區(qū)域內(nèi)所包含的查詢對象都是站點3的R3NN查詢結(jié)果。但是,現(xiàn)有的使用KVD執(zhí)行BRkNN查詢方法具有明顯的缺點:
(I)高代價的預計算。KVD需要預計算所有的KVD的cell和與cell相關(guān)的所有信息如生成元、Voronoi邊、Voronoi頂點等。(2)不支持動態(tài)改變的k值。KVD僅能適應帶有明確k值的RkNN查詢,KVD適應k值不大于圖的階數(shù)的RkNN查詢。因此,這個技術(shù)不適用于預先不知道k值或可能動態(tài)改變k值的情形。(3)效率低下的更新操作。對于每個插入或刪除操作,cell不得不重新計算。

發(fā)明內(nèi)容
本發(fā)明針對上述問題及缺點,為了能夠?qū)崿F(xiàn)在單張k階Voronoi圖上查詢多個k值的BRkNN結(jié)果,提供了一種基于Voronoi圖的反k最近鄰查詢方法(BRKVD),來實現(xiàn)變化頻繁的數(shù)據(jù)集下的雙色RkNN查詢,即在某一 k階Voronoi圖上可以查詢出R(k— I)NN,RkNN、R(k + I) NN 的結(jié)果。本發(fā)明的目的 是通過以下技術(shù)方案實現(xiàn)的:一種基于VOTonoi圖的反k最近鄰查詢方法,是采用過濾-提煉的框架模型。在過濾階段,按k值調(diào)用所需要的Voronoi圖,并以查詢站點為依據(jù)在該Voronoi圖上確定由哪些Voronoi多邊形組成查詢范圍,然后將查詢范圍內(nèi)的所有查詢對象定為候選集。在提煉階段,以k值為標準,如果k值與調(diào)用的Voronoi圖的階數(shù)相同,那么候選集中所有的查詢對象即為結(jié)果;如果不同,那么先將所有候選集中相同的查詢對象篩選出來確定為結(jié)果,然后使用Range-k驗證方法驗證余下的候選對象,從而得到最終的查詢結(jié)果,具體包括下述步驟:
步驟1:根據(jù)查詢站點集,生成相應的Voronoi圖,方法為:現(xiàn)有的Voronoi圖生成方
法;
步驟2:導入查詢對象數(shù)據(jù)集,方法為:對數(shù)據(jù)文件進行讀取,并顯示數(shù)據(jù);
步驟3:輸入k值和查詢點q的坐標,按k值采用步驟I所生成階數(shù)為m的Voronoi圖,得到RkNN查詢結(jié)果,其中:
當k = m時,所有包含站點q的多邊形內(nèi)的查詢對象即為結(jié)果,
當k < m時,查檢所有包含站點q的多邊形內(nèi)的查詢對象,當查詢對象的位置在包含站點q的k 一 3階Voronoi多邊形內(nèi),即為結(jié)果;當不在時,以Range-k驗證法確定結(jié)果,即以查詢對象為圓心,到站點q的距離為半徑做圓,當圓內(nèi)及圓上所包含的站點數(shù)彡k,即為結(jié)果,反之則不是, 當k > m時,所有包含站點q的Voronoi多邊形內(nèi)的查詢對象即為結(jié)果;并且分別檢查這些多邊形的鄰接多邊形內(nèi)的查詢對象,以查詢對象為圓心,到站點q的距離為半徑做圓,當圓內(nèi)及圓上所包含的站點數(shù)< k + 1,即為結(jié)果,反之則不是;
步驟4:結(jié)束。步驟I所述的根據(jù)查詢站點集,生成相應的Voronoi圖,能夠查詢出R(k — I) NN,RkNN、R(k + I) NN 的結(jié)果。本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點效果:實現(xiàn)了在單張k階VOTonoi圖上查詢多個k值的BRkNN結(jié)果。根據(jù)Voronoi圖的性質(zhì)可知R(k — 1)NN是RkNN的一個子集,那么同理可以推出R(k - 2)NN, R(k - 3)NN也是RkNN的子集,而RkNN同樣是R(k + I)NN,R(k +2)NN的子集。那么性質(zhì)也同樣可以延伸開來,在一張k階Voronoi圖上查詢出R(k +2)NN或者R(k — 3)NN的結(jié)果。但要指出的是,只有當k值與Voixmoi的階數(shù)相同時,才能直接得到結(jié)果。當兩個值不同時,實際上得到的只是一個縮小的查詢范圍或者說是一個結(jié)果候選集,而正確的結(jié)果還要經(jīng)過再次的計算才能得到。如果在k階VOTonoi圖上得到的查詢范圍很大,如R(k + 2)NN、R(k - 3)NN。那么這就意味著得到的候選集也很大,即候選集中查詢對象的個數(shù)會增多。這樣就會給接下來的工作帶來很大的計算量。因此并不是說在一張k階VOTonoi圖上能查詢的k值越多越好。本發(fā)明為了兼顧查詢速度和磁盤存儲量,所提出的方法只實現(xiàn)了在一張k階Voronoi圖上查詢R(k— 1)NN、RkNN、R(k + 1)NN三個結(jié)果。目前較好的RkNN查詢方法是Finch方法,將本發(fā)明所設(shè)計的BRKVD方法與Finch方法進行了比較,測試兩種方法查詢過程中訪問索引結(jié)點次數(shù)(I/O次數(shù))。主要比較在相同站點不同k值和不同站點相同k值兩種情況下方法訪問索引結(jié)點的次數(shù)。測試結(jié)果表明本發(fā)明減少了預計算量,并且查詢效率與現(xiàn)有方法相比有較大提高,而且隨著查詢對象集數(shù)量的增大,這種優(yōu)勢也越明顯,增強了 VOTonoi圖的應用性。


圖1為一種距離判斷法生成的3階Voronoi圖形示意 圖2為一種距離判斷法生成的2階3階混合VOTonoi圖形示意 圖3為本發(fā)明一種基于VOTonoi圖的反k最近鄰查詢方法人文景觀站點數(shù)據(jù)集;
圖4為本發(fā)明一種基于Voronoi圖的反k最近鄰查詢方法生成Voronoi圖數(shù)據(jù)文檔; 圖5為本發(fā)明一種基于Voronoi圖的反k最近鄰查詢方法導入的查詢對象;
圖6為本發(fā)明一種基于Voronoi圖的反k最近鄰查詢方法輸入信息界面;
圖7為本發(fā)明一種基于Voronoi圖的反k最近鄰查詢方法查詢結(jié)果;
圖8為本發(fā)明一種基于VOTonoi圖的反k最近鄰查詢方法固定查詢站點不同k值測
試;
圖9為本發(fā)明一種基于Vorono i圖的反k最近鄰查詢方法固定k值不同查詢站點測試。圖10為本發(fā)明一種基于Voronoi圖的反k最近鄰查詢方法總流程圖。
具體實施例方式下面結(jié)合具體實施例對本發(fā)明進行進一步詳細說明,但本發(fā)明的保護范圍不受具體的實施例所限制,以權(quán)利要求書為準。另外,以不違背本發(fā)明技術(shù)方案的前提下,對本發(fā)明所作的本領(lǐng)域普通技術(shù)人員容易實現(xiàn)的任何改動或改變都將落入本發(fā)明的權(quán)利要求范圍之內(nèi)。實施例1
一種基于Voronoi圖的反k最近鄰查詢方法,包括下述步驟:
步驟1:根據(jù)查詢站點集,生成相應的Voronoi圖,方法為:現(xiàn)有的Voronoi圖生成方法;因本發(fā)明中每張k階Voronoi圖能夠查詢R(k— 1)NN、RkNN和R(k + 1)NN的結(jié)果,所以根據(jù)查詢的需要生成1、3、6、9…階Voronoi 步驟2:導入查詢對象數(shù)據(jù)集,方法為:對數(shù)據(jù)文件進行讀取,并顯示數(shù)據(jù);
步驟3:輸入k值和查詢點q的坐標,按k值調(diào)用步驟I所生成階數(shù)為m的Voronoi圖,得到RkNN查詢結(jié)果,其中:
當k = m時,所有包含站點q的多邊形內(nèi)的查詢對象即為結(jié)果,
當k < m時,查檢所有包含站點q的多邊形內(nèi)的查詢對象,當查詢對象的位置在包含站點q的k 一 3階Voronoi多邊形內(nèi),即為結(jié)果;當不在時,以Range-k驗證法確定結(jié)果。即以查詢對象為圓心,到站點q的距離為半徑做圓,當圓內(nèi)及圓上所包含的站點數(shù)彡k,即為結(jié)果,反之則不是,
當k > m時,所有包含站點q的Voronoi多邊形內(nèi)的查詢對象即為結(jié)果;并且分別檢查這些多邊形的鄰接多邊形內(nèi)的查詢對象,以查詢對象為圓心,到站點q的距離為半徑做圓,當圓內(nèi)及圓上所包含的站點數(shù)< k + 1,即為結(jié)果,反之則不是;` 步驟4:結(jié)束。實施例2
如圖3所示以一個真實的人文景觀地標數(shù)據(jù)集CD,來進一步說明本發(fā)明提出的基于Voronoi圖的反k最近鄰查詢方法。包括以下步驟:
步驟1:根據(jù)⑶人文景觀站點集,生成VOTonoi圖形數(shù)據(jù),并保存文檔。生成圖形模塊保存的文檔如圖4所示,圖中數(shù)據(jù)為3階Voronoi圖的數(shù)據(jù)。每一行數(shù)據(jù)可能描述一個VOTonoi多邊形。每行中的數(shù)據(jù)分為三部分,分別是生成元,Voronoi多邊形的頂點和最小邊界矩形MBR。每部分數(shù)據(jù)之間用“:”隔開。我們來看第一行數(shù)據(jù),第一個“:”之前的6組數(shù)字為多邊形的生成元。每二組數(shù)字表示一對坐標,因為是3階多邊形,3對坐標正好表示3個生成元。第二個“:”之前的數(shù)據(jù)表示多邊形的頂點,同樣也是每二組數(shù)字表示一對坐標。剩下的4組數(shù)據(jù)表示多邊形的MBR,前兩組表示MBR的左上角坐標,后兩組表示MBR的右下角坐標。步驟2:導入查詢對象。圖5中小實心點為查詢對象集,大實心點為站點集。步驟3:輸入信息進行查詢,得到查詢結(jié)果。如圖6所示,分別輸入要查詢的k值,及查詢站點的x,y坐標即可。圖7中給出了為點(8770438,2050064)的R6NN結(jié)果。步驟4:結(jié)束
本實施例采用VC++實現(xiàn),實驗在處理器為P4 2.4GHz,主存為1GB,操作系統(tǒng)為WindowsXP的微機上進行,本實施例數(shù)據(jù)集采用了真實的文化地標及居民點聚點的部分數(shù)據(jù)。CD數(shù)據(jù)集的站點數(shù)為2099,查詢對象數(shù)為4994,其特點是站點集均勻分在國內(nèi)全境,其中北部相對聚中,而查詢對象集相對集中在北部。本實例將本發(fā)明與Finch方法進行了比較,測試兩種方法查詢過程中訪問索引結(jié)點次數(shù)(I/O次數(shù)),實驗結(jié)果如圖8-9所示。
在圖8中,點1、點2、點3是查詢對象分布與站點分布相對集中的情形,可以看出兩種方法在這種情況下所需要的I/o次數(shù)不相上下,都維持在較低的數(shù)據(jù)上。點4、點5、點
7、點8是查詢對象分布與站點分布相對均勻的情形,在這種情況下兩種方法所需的I/O次數(shù)也相差不多,都維持在較高的數(shù)值上。點6和點9則是查詢對象分布相對集中站點分布均勻的情況,這時Finch方法所需的I/O次數(shù)較高,而BRKVD方法所需的I/O次數(shù)相對較低。因此,在處理站點平均分布查詢對象相對集中分布的數(shù)據(jù)集時,BRKVD方法在整體上要優(yōu)于Finch方法。在圖9中,點1、點3、點7位于站點和查詢對象都集中的地方。點2、點6位于站點分布均勻查詢對象分布集中的地方。點4、點5位于站點分布集中查詢對象分布均勻的地方。從圖9中可以看出點1、點3、點7的情形時,BRKVD方法由于站點和查詢對象分布的影響I/O次數(shù)有了明顯的起伏。但數(shù)值維持在較低的位置且與Finch方法的I/O次數(shù)相差不大,且稍優(yōu)于后者。在點2、點6的情形時,看出Finch方法由于受到查詢對象分布的影響I/O次數(shù)快速增加。而BRKVD方法則I/O次數(shù)較低好于前者。在點4、點5的情形時,BRKVD方法受站點和查詢對象分布的影響不大,I/O次數(shù)較低。Finch方法受查詢對象分布的影響較大,I/O次數(shù)較BRKVD方法有了明顯的增漲。從整體上看,圖9顯示BRKVD方法要好于Finch方法。
權(quán)利要求
1.一種基于VOTonoi圖的反k最近鄰查詢方法,其特征在于:包括下述步驟: 步驟1:根據(jù)查詢站點集,生成相應的Voronoi圖,方法為:現(xiàn)有的Voronoi圖生成方法; 步驟2:導入查詢對象數(shù)據(jù)集,方法為:對數(shù)據(jù)文件進行讀取,并顯示數(shù)據(jù); 步驟3:輸入k值和查詢點q的坐標,按k值采用步驟I所生成階數(shù)為m的Voronoi圖,得到RkNN查詢結(jié)果,其中: 當k = m時,所有包含站點q的多邊形內(nèi)的查詢對象即為結(jié)果, 當k < m時,查檢所有包含站點q的多邊形內(nèi)的查詢對象,當查詢對象的位置在包含站點q的k 一 3階Voronoi多邊形內(nèi),即為結(jié)果;當不在時,以Range_k驗證法確定結(jié)果,即以查詢對象為圓心,到站點q的距離為半徑做圓,當圓內(nèi)及圓上所包含的站點數(shù)彡k,即為結(jié)果,反之則不是, 當k > m時,所有包含站點q的Voronoi多邊形內(nèi)的查詢對象即為結(jié)果;并且分別檢查這些多邊形的鄰接多邊形內(nèi)的查詢對象,以查詢對象為圓心,到站點q的距離為半徑做圓,當圓內(nèi)及圓上所包含的站點數(shù)< k + 1,即為結(jié)果,反之則不是; 步驟4:結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種基于VOTonoi圖的反k最近鄰查詢方法,其特征在于:步驟I所述的根據(jù)查詢站點 集,生成相應的Voronoi圖,能夠查詢出R(k — l)NN、RkNN、R(k +I) NN的結(jié)果。
全文摘要
本發(fā)明公開一種基于Voronoi圖的反k最近鄰查詢方法,屬于空間數(shù)據(jù)查詢技術(shù)領(lǐng)域。包括下述步驟步驟1根據(jù)查詢站點集,生成相應的Voronoi圖;步驟2導入查詢對象數(shù)據(jù)集;步驟3輸入k值和查詢點q的坐標,按k值調(diào)用步驟1所生成Voronoi圖,得到RkNN查詢結(jié)果;步驟4結(jié)束。本發(fā)明實現(xiàn)變化頻繁的數(shù)據(jù)集下的雙色RkNN查詢,即在某一k階Voronoi圖上可以查詢出R(k-1)NN、RkNN、R(k+1)NN的結(jié)果。本發(fā)明減少了預計算量,并且查詢效率與現(xiàn)有方法相比有較大提高,而且隨著查詢對象集數(shù)量的增大,這種優(yōu)勢也越明顯,增強了Voronoi圖的應用性。
文檔編號G06F17/30GK103164529SQ201310109130
公開日2013年6月19日 申請日期2013年3月29日 優(yōu)先權(quán)日2012年11月1日
發(fā)明者宋曉宇, 孫煥良, 許景科, 王永會, 趙明 申請人:沈陽建筑大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1