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

一種基于距離的求解二維空間中代表性節(jié)點集的算法

文檔序號:8258907閱讀:738來源:國知局
一種基于距離的求解二維空間中代表性節(jié)點集的算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種新的基于距離的求解二維空間中代表性節(jié)點集的算法(New Distance-based Representative Skyline,簡稱 NDRS) 〇
【背景技術(shù)】
[0002] Skyline查詢問題是由Borzsonyi在2001提出來的。近年來,Skyline的查詢 處理吸引了大批數(shù)據(jù)庫研究者的注意力,迅速成為了數(shù)據(jù)庫領(lǐng)域的一個研究熱點,大量的 Skyline查詢處理算法孕育而生。已有的成果主要覆蓋三個方面:
[0003](1)集中式數(shù)據(jù)庫上的Skyline查詢處理:包括BNL算法(Block Nested Loop)、 SFS 算法(Sort Filter Skyline)、分治算法(Divide and Conquer)、位圖算法(Bitmap)、 索引算法(Index) [5]、NN 算法(Nearest Neighbor)、BBS(Branch and Bound Skyline) [3] 等。
[0004] (2)分布式數(shù)據(jù)庫上的Skyline查詢處理:包括針對普通分布式環(huán)境下的Skyline 計算、特殊分布式環(huán)境下的Skyline計算、對等網(wǎng)絡(luò)上的Skyline計算等。
[0005] (3)其它計算模型下的Skyline查詢處理:包括Skyline結(jié)果集大小及計算開銷 估算、在任意子空間上的Skyline查詢處理、在所有子空間上的Skyline查詢處理以及在數(shù) 據(jù)流上的Skyline查詢處理等。
[0006] 雖然傳統(tǒng)定義下的Skyline算法已經(jīng)相對成熟,但依然有很多方面需要仍需改 進(jìn)。最為突出的一點是在很多應(yīng)用場景下經(jīng)由Skyline查詢反饋回來的Skyline點的數(shù)目 過大,以至于其無法很好地服務(wù)于多目標(biāo)決策。
[0007] 為了解決這個問題,林學(xué)民等人于2007年首次提出了"代表性Skyline (Top-k representative Skyline,簡稱TRS) "概念,即從Skyline點集中選出k個Skyline點作為 "代表性Skyline點",而選出的k個節(jié)點需要滿足以下條件:選出的k個Skyline點所支配 (dominate)的數(shù)據(jù)集中的點的個數(shù)要大于或等于從Skyline點集中任意選取k個Skyline 點所能支配(dominate)的數(shù)據(jù)集中點的個數(shù)。其中支配(dominate)的含義如下:給定兩個 d維坐標(biāo)的點x = (xl, x2,…,xd)和y = (yl, y2,…,yd),如果對于任意的整數(shù)i G [1,d], 都有xi < yi,且存在一個i使得xi〈yi,則稱點x支配點y。類似地,陶宇飛等人于2009年 提出了"基于距離的代表性 Skyline (Distance-based Representative Skyline) "的策略, 其定義為:選出的k個點滿足£Y(/r'S) m5, II Er (k,S)代表Skyline點集中 所有非代表性skyline點到離其最近的代表性skyline點所能取得的最大距離值,然后通 過動態(tài)規(guī)劃算法求解得到最終的代表性Skyline點集,稱為DRS算法。其中,k表不"代表 性Skyline"的點集,S指的是數(shù)據(jù)集中所有節(jié)點集合。本專利將主要采用基于距離的代表 性Skyline的定義。
[0008] 以上算法中,TRS算法有一個明顯的缺點,即選出的"代表性Skyline點"有一定的 偏向性,往往偏向于數(shù)據(jù)集中點相對密集的地方,同時它的時間復(fù)雜度(0(km 2+nlog(m))) 太高,其中的n表示數(shù)據(jù)集的點的個數(shù),m表示Skyline點的個數(shù)。因此,在數(shù)據(jù)規(guī)模 很大以及數(shù)據(jù)分布集中的場景下TRS的有效性將很難保證?;贒RS算法雖然很好地 解決了 TRS不能很好地代表整個Skyline點集的缺陷,但時間復(fù)雜度仍然過高(0(|D|. log(m)+m2(k-2))),其中|D|代表數(shù)據(jù)集的大小,這嚴(yán)重制約了算法的適用范圍。

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

[0009] 本發(fā)明提供了一種新的基于距離的求解二維空間中代表性Skyline節(jié)點集的算 法,算法時間復(fù)雜度為〇(k 2log3m),遠(yuǎn)低于DRS算法的時間復(fù)雜度。
[0010] 本發(fā)明通過以下技術(shù)手段實現(xiàn):
[0011] 一種基于距離的求解二維空間中代表性節(jié)點集的算法,包含以下步驟:
[0012] S1,輸入數(shù)據(jù)集,用BNL算法計算數(shù)據(jù)集中的Skyline點集Q;對點集Q排序后求 出初始點到其它任意Skyline點的曼哈頓距離值并存儲;
[0013] S2,求出Skyline點集中的k個代表性Skyline點;首先引入
[0014] Testing(B)算法判斷是否存在k個半徑不大于B的圓環(huán)所能覆蓋的區(qū)域能 夠包含整個Skyline點集,如果是,返回正確,否則返回錯誤;然后設(shè)定丨$,^, S共k個下標(biāo),其中5。= 1令1彡i彡k-1 ;滿足Testing(radius(S卜丨,Sj)為錯誤 且 TestingCradiusCSi-nSi+l))為正確,貝U £r?卜.tmin.lradii^S,、丨,S.,+ l)j.,令 B_ = /=1 Er(K,S),其中,k代表"代表性Skyline點"集合,是輸入值,S代表數(shù)據(jù)集中所有節(jié)點集 合,I |p,P' I I表示點P與P'之間的歐式距離;
[0015] S3,將B_帶入Testing? _)中,返回k個代表性Skyline點。
[0016] 其中,在所述的數(shù)據(jù)集中求區(qū)域[i, j]覆蓋的多個Skyline點(Pi,--p」} 的中心點center (i, j)以及覆蓋圓以中心點為圓心的最小半徑radius (i, j), 其中m為Skyline點集的元素個數(shù);定義centre (i, j) = pu,滿足 j /w//".s.(/,./_) = min.丨max'丨丨丨 p,.,p〃 丨|,丨| p〃,p,_ HU.。 u=i J
[0017] 在二維空間中,NDRS算法所求解的代表性Skyline能夠準(zhǔn)確地代表Skyline點 集的整體情況,通過反饋k個"代表性Skyline"點給決策者,再對決策者選定的"代表性 Skyline點"對應(yīng)區(qū)間展開,對區(qū)間內(nèi)的Skyline點進(jìn)行二次決策,完美解決了 Skyline點 集過大不利于決策者決策的難題,使Skyline技術(shù)更好地服務(wù)于多目標(biāo)決策。在Skyline 點集已知的情況下,相比于DRS算法,本發(fā)明的算法時間復(fù)雜度為0(k 2log3m),遠(yuǎn)低于DRS算 法的時間復(fù)雜度。
【附圖說明】
[0018] 圖1為本發(fā)明算法過程示意圖;
[0019] 圖2為點集示意圖;
[0020] 圖3 -個區(qū)域[i, j]所覆蓋的多個Skyline點示意圖
[0021] 圖4為區(qū)間[3, 6]及區(qū)間[5, 6]的覆蓋圓環(huán)
[0022] 圖5為區(qū)間[1,5]的radius (i, j)隨著center (i, j)的不同取值的改變情況。
【具體實施方式】
[0023] 以下將結(jié)合附圖對本發(fā)明的實施過程進(jìn)行詳細(xì)說明。
[0024] -種基于距離的求解二維空間中代表性節(jié)點集的算法,采用二分參數(shù)搜索技術(shù), 引入一個Testing函數(shù),用于測試距離的可行性,并重新設(shè)計了一個新的計算半徑的算法, 使得程序執(zhí)行時間大幅度減少。如圖1所示,具體過程如下:
[0025] 一、預(yù)處理
[0026] (1)計算數(shù)據(jù)集中對應(yīng)的Skyline點集
[0027] 在給定的數(shù)據(jù)集中,采用BNL算法,求出能夠覆蓋整個數(shù)據(jù)集的Skyline點集。
[0028] 該算法的大體框架如下
[0029] 輸入:數(shù)據(jù)集G= (X,y)
[0030]輸出:Skyline 點集
[0031] 1. 1對數(shù)據(jù)集中的所有點按照x值從大到小進(jìn)行排序;
[0032] 1. 2將排序好的數(shù)據(jù)集的第一個節(jié)點加入到Skyline點集中;
[0033] 2按順序?qū)Ρ犬?dāng)前點的y值和Skyline點集中y值最大的Skyline點對比,如果 大于那個最大的Skyline點,則將當(dāng)前點加入到Skyline點集中去,否則不加。循環(huán)此項操 作,直至所有點都已搜索完畢。
[0034] 3對Skyline點集排序并輸出。
[0035] 該預(yù)處理算法可以在O(nlogn)的時間復(fù)雜度內(nèi)完成。
[0036] (2)求被一個區(qū)域[i, j]所覆蓋的多個Skyline點(Pi,--p』}的 中心點center (i, j)以及覆蓋圓以中心點為圓心的最小半徑radius (i, j),其 中m為Skyline點集的元素個數(shù),1彡i彡j彡m。定義centre (i, j) = pu,滿足 j radius{i,j)- min|max-| |j p.^p,, ||,|| p",p ||} j. u-i
[0037] 算法大體框架如下:
[0038] 輸入:下標(biāo)i, j;
[0039]輸出:center (i, j)、radius (i, j);
[0040] 1. 1 如果 i = j, center (i, j) = i, radius (i, j) =0 ;
[0041] 1. 2 否則,令 left = i, right =j ;當(dāng) left〈right.
[0042] 1. 2. 1 令
[0043] midi=(left+right)/2, FR=| |Pj,pmidl ||, FL=||pmidl, pjl;
[0044] 1. 2. 2 如果 FR〈FL,right = midi;
[0045] 1. 2. 3 否則
[0046] 1. 2. 3. 1 如果 FR>FL,left+ = midi
[0047] 1. 2. 3. 2 否則 center (i,j)=midi, radius (i,j) = | | Pj,pmidl | |;
[0048] 1. 3Midl=right ;
[0049] 1.4如果腿1||?/,?,祕||,||?-4/||}>1皿'!1皿1||???"^』,||?,",<"11馬1丨^,
[0050] 1. 4. lmidl=midl-1;
[0051] 1. 4. 2 否則 midi 不變
[0052] 1. 5 返回center(i,j)= midi, radius(i,j)=|Ip』,pmidl| |;
[0053] 求被區(qū)域[i, j]所覆蓋的多個Skyline點(Pi,--p」}的中心點c r#,j)以 radius(i, j)可以在0(log(m))的時間復(fù)雜度內(nèi)完成。
[0054] 二、由已知Skyline點集求解k個代表性Skyline點。
[0055] (1)弓丨入 Testing (B)算法判斷是否存在 k 個當(dāng) 1<i<j<m, radius (i, j)〈= B時由半徑為radius (i, j)的圓環(huán)所能覆蓋的區(qū)域能夠包含整個Skyline點集,如果是,返 回正確,否則返回錯誤。
[0056] 算法大體框架如下:
[0057] 輸入:B,排好序的Skyline點集(包含m個元素)、下標(biāo)Si其中1彡i彡m。
[0058]
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1