本發(fā)明涉及一種凸包的求解領(lǐng)域,具體涉及一種快速求解高維海量數(shù)據(jù)的凸包的方法。
背景技術(shù):
:凸包是計算幾何的一個基本概念,它已經(jīng)廣泛應(yīng)用于天文數(shù)據(jù)系統(tǒng)、地理信息系統(tǒng)、機(jī)器視覺、統(tǒng)計規(guī)劃等研究中。當(dāng)前求解高維凸包的經(jīng)典技術(shù)包括quickhull算法和chan算法等。這些技術(shù)在求解凸包時,會花費不必要的步驟去處理可直接忽略的內(nèi)部數(shù)據(jù)點。具體來說這些內(nèi)部點處于初始凸包的內(nèi)接球內(nèi),可只根據(jù)它們到球心的距離是否小于球徑,一次定位便可判斷它們是否位于球內(nèi),從而可排除它們作為候選凸包點的可能性。但是前述技術(shù)在處理這些數(shù)據(jù)時,并沒有利用這些數(shù)據(jù)的特殊性,從而需要冗余的多次定位操作才可排除這些干擾數(shù)據(jù)。技術(shù)實現(xiàn)要素:鑒于此,本發(fā)明提供一種快速求解高維海量數(shù)據(jù)的凸包的方法。本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的,一種快速求解高維海量數(shù)據(jù)的凸包的方法,包括以下步驟:s1.把n維數(shù)據(jù)集中的每個數(shù)據(jù)視為一個點,求解數(shù)據(jù)集中的若干極值點;s2.求解這些極值點構(gòu)成的初始凸包;s3以點集重心為球心,求解該初始凸包的內(nèi)接球體;s4利用該內(nèi)接球體排除冗余的內(nèi)部點;s5對剩余的點,則利用其與初始凸包各個面的位置關(guān)系,判斷該點是否在初始凸包內(nèi)部,如果在內(nèi)部則刪除它;否則,把它加入離它最遠(yuǎn)的異側(cè)面對應(yīng)的外部點集;s6在外部點集中求出離各個面最遠(yuǎn)的點,這些點也是凸包的頂點;新的凸包頂點與其所對應(yīng)的所有水平邊構(gòu)建多面體,刪除位于多面體內(nèi)部的點及異側(cè)面,把其余點加入該多面體的其它面中離它最遠(yuǎn)的異側(cè)面對應(yīng)的外部點集;s7重復(fù)步驟s6,遞歸地求解出整個點集合的凸包。進(jìn)一步,所述步驟s2具體為:按n個極值點確定一個n-1維的超平面,求解由步驟s1中所述的極值點確定的滿足以下條件的所有超平面:所有極值點均位于該超平面的同一側(cè);如果多個面位于同一超平面,則合并這些面,余下的面構(gòu)成點集的初始凸包。由于采用了上述技術(shù)方案,本發(fā)明具有如下的優(yōu)點:本發(fā)明利用內(nèi)接球體排除冗余內(nèi)部數(shù)據(jù),顯著地提高了凸包求解算法的效率。本發(fā)明通過簡單的比較考察點到重心的距離與內(nèi)接球的半徑的大小,便可排除大量的內(nèi)部點,最好的情況下可排除99%以上的內(nèi)部點。而現(xiàn)有技術(shù)排除內(nèi)部點則需要經(jīng)過復(fù)雜的定位及比較操作才可完成。附圖說明為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)描述,其中:圖1為本發(fā)明的流程圖。具體實施方式以下將結(jié)合附圖,對本發(fā)明的優(yōu)選實施例進(jìn)行詳細(xì)的描述;應(yīng)當(dāng)理解,優(yōu)選實施例僅為了說明本發(fā)明,而不是為了限制本發(fā)明的保護(hù)范圍。圖1為本發(fā)明的流程圖,如圖1所示,在本流程中,當(dāng)高維數(shù)據(jù)輸入后,先將數(shù)據(jù)各維度進(jìn)行格式歸一化操作,轉(zhuǎn)化為標(biāo)準(zhǔn)的數(shù)據(jù)點,再執(zhí)行初始凸包求解操作,然后求解出該初始凸包的內(nèi)接球體,再利用該內(nèi)接球體對內(nèi)部點進(jìn)行點定位操作,凡是位于內(nèi)接球體內(nèi)部的數(shù)據(jù)點就直接刪除,余下的數(shù)據(jù)點再根據(jù)點面的位置關(guān)系遞歸地處理,直至求解出整個數(shù)據(jù)集的凸包具體的,設(shè)數(shù)據(jù)的維度為n,本技術(shù)求解高維數(shù)據(jù)凸包的過程:一、把n維數(shù)據(jù)集中的每個數(shù)據(jù)視為一個點,求解數(shù)據(jù)集(以下稱點集)中至少2*n+2^n個極值點,如各個維度上的最大值和最小值等等;二、按n個極值點確定一個超平面,求解由步驟一中所述的極值點確定的滿足以下條件的所有超平面:所有極值點均位于該超平面的同一側(cè);如果多個面位于同一超平面,則合并這些面,余下的面構(gòu)成點集的初始凸包。三、以點集重心為球心,求解該初始凸包的內(nèi)接球體;四、利用該內(nèi)接球體排除冗余的內(nèi)部點;五、對剩余的點,則利用其與初始凸包各個面的位置關(guān)系,判斷該點是否在初始凸包內(nèi)部,如果在內(nèi)部則刪除它;否則,把它加入離它最遠(yuǎn)的異側(cè)面對應(yīng)的外部點集。六、在外部點集中,求出離各個面最遠(yuǎn)的點,這些點也是凸包的頂點。新的凸包頂點與其所對應(yīng)的所有水平邊構(gòu)建多面體,刪除位于多面體內(nèi)部的點及異側(cè)面,把其余點加入該多面體的其它面中離它最遠(yuǎn)的面對應(yīng)的外部點集。如果一個頂點與重心位于某個超平面的不同側(cè),則稱該超平面為該頂點的異側(cè)面,否則稱它為該頂點的同側(cè)面;如果某條邊是該頂點的異側(cè)面和同側(cè)面的公共邊,則稱它為該頂點的水平邊。七、重復(fù)第六步,遞歸地求解出整個點集合的凸包。本發(fā)明中的第四步利用內(nèi)接球體排除冗余內(nèi)部數(shù)據(jù),顯著地提高了凸包求解算法的效率。通過簡單的比較考察點到重心的距離與內(nèi)接球的半徑的大小,便可排除大量的內(nèi)部點,最好的情況下可排除99%以上的內(nèi)部點。而現(xiàn)有技術(shù)排除內(nèi)部點則需要經(jīng)過復(fù)雜的定位及比較操作才可完成。實施例一在分析企業(yè)產(chǎn)品銷售數(shù)據(jù)時,可利用該技術(shù)快速求得位于數(shù)據(jù)空間邊緣的異常數(shù)據(jù),如特定時間內(nèi)的最暢銷產(chǎn)品,最滯銷產(chǎn)品,銷售增長最快產(chǎn)品等等數(shù)據(jù)。舉例分析如表1所示的產(chǎn)品銷售數(shù)據(jù):表1、產(chǎn)品銷售數(shù)據(jù)產(chǎn)品名稱銷售數(shù)量單價總銷售金額總利潤瀏覽數(shù)a1002525001000300b50350175006125100c2050010000300080d60300180006300150e510005000200050f3030090002700200g1554062001860500h885044002200210i906054001620280數(shù)據(jù)歸一化為標(biāo)準(zhǔn)格式如表2所示:(求各數(shù)據(jù)與其所在維度的均值的比)表2、歸一化后的產(chǎn)品銷售數(shù)據(jù)把歸一化的數(shù)據(jù)取單價、總利潤和瀏覽數(shù)三個維度看作三維空間的一個點,那么可以對該數(shù)據(jù)集對應(yīng)的點集的凸包進(jìn)行求解,從而獲得凸包頂點對應(yīng)的特異數(shù)據(jù)如表3所示:表3求得的特異產(chǎn)品數(shù)據(jù)產(chǎn)品名稱銷售數(shù)量單價總銷售金額總利潤瀏覽數(shù)a1002525001000300b50350175006125100c2050010000300080d60300180006300150e510005000200050g1554062001860500h885044002200210其中產(chǎn)品f和產(chǎn)品i對于上述三個維度組合而言為非特異數(shù)據(jù)。這些特異數(shù)據(jù)對應(yīng)著異常的產(chǎn)品,那么管理者可根據(jù)這些數(shù)據(jù)制定決策。而本發(fā)明比已有技術(shù)在求解凸包時有著時間和空間上的優(yōu)勢。表4和表5給出本發(fā)明的技術(shù)liuhull與quickhull技術(shù)在求解三維點集凸包時的效率對比。表4quickhull與liuhull求解三維點集凸包的時間效率對比,單位是秒表5、quickhull與liuhull求解三維點集凸包的空間效率對比,單位是kb。表中反映的是算法在處理大小為200000的點集時需要的內(nèi)存峰值。表5quickhull與liuhull求解三維點集凸包的空間效率對比以上所述僅為本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明,顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。當(dāng)前第1頁12