买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:清华大学
摘要:本发明公开一种多维属性最优点组的快速搜索方法,包括:设计基础MDG构建算法;使用R‑tree索引对基础MDG构建算法进行优化;基于MDG搜索所有的g‑skyline组。本发明提出了一种R‑tree的变种来加速构建多维数据的MDG,提出了P‑MDS和G‑MDS两种基于MDG的g‑skyline组搜索算法,它们能够基于不同的策略生成候选组,同时利用skyline组合性质显著提升了这两个算法的效率,通过实验证明,G‑MDS算法的效率比现有的最好的g‑skyline搜索算法往往高1‑2个数量级,本发明提出的最优点组搜索算法非常高效。
主权项:1.一种多维属性最优点组的快速搜索方法,其特征在于,包括:旅馆最小支配图MDG实现旅行社的旅馆预定需求,设计旅馆最小支配图MDG构建方法,所述MDG构建方法的基本内涵为:数据集中的每个点代表一个旅馆,令P是若干旅馆构成的集合,每个旅馆包含两个属性:价格和距海滩的距离,旅馆距海滩越近价格越便宜越好,设a、b代表P中的两个旅馆,定义旅馆间的支配关系如下:旅馆a支配旅馆b当且仅当旅馆a的价格和距海滩的距离均不大于旅馆b,且满足旅馆a的价格或距海滩的距离小于旅馆b,用a<b表示旅馆a支配旅馆b,用a≤b表示旅馆a支配旅馆b或旅馆a与旅馆b相同,定义旅馆a是一个skyline旅馆当且仅当旅馆集合P中不存在旅馆能够支配旅馆a,则旅馆集合P的skyline代表P中所有的skyline旅馆,用skylineP表示,令A={a1,a2,…,al}、B={b1,b2,…,bl}是旅馆集合P的两个大小为l的旅馆集合,旅馆集合A支配旅馆集合B当且仅当存在两个置换A′={au1,au2,…,aul}、B′={bv1,bv2,…,bvl},aui≤bvi且aui<bvi,用A<gB表示旅馆集合A支配旅馆集合B,则旅馆集合A是g-skyline旅馆组合当且仅当旅馆集合P中不存在大小为l的旅馆集合能够支配旅馆集合A,旅馆集合P的大小为l的g-skyline表示旅馆集合P中所有的包含l个旅馆的g-skyline旅馆组合,旅馆集合P的MDG是一个辅助图,图中的每个节点代表P中的一个旅馆,图中的每条边代表一个旅馆支配关系,且MDG是由所有被少于l个旅馆支配的旅馆以及这些旅馆之间的支配关系构成的;使用R-tree旅馆索引对旅馆最小支配图MDG的基础构建算法进行优化;基于旅馆最小支配图MDG搜索所有的g-skyline旅馆组合。
全文数据:多维属性最优点组的快速搜索方法技术领域[0001]本发明涉及计算机技术领域,特别是涉及一种多维属性最优点组的快速搜索方法。背景技术[0002]近年来,skyline问题吸引了越来越多的研究者的关注。所谓skyline问题,即在多维属性点构成的集合中,搜索所有的skyIine节点。skyIine节点支配概念是,点a支配点b当且仅当在所有维度的属性上a不比b差且至少在一个维度的属性上a优于b,不被集合中的任意其它节点支配的节点就叫skyline节点。一个多维属性点集合的skyline指的是所有skyIine点的集合,而不同的skyIine点代表着维度之间的不同类型的权衡,数据点集的skyline对于可能存在不同标准的决策制定有着很重要的作用,数据点集的skyline提供了所有的最优选项。[0003]如图1所示,图中展示了一个经典的skyIine问题的例子,该数据点集包含12个点,每个点代表一个旅馆,每个旅馆包含两个属性:价格和距海滩的距离,图中的横坐标代表价格,纵坐标代表距海滩的距离。假设一个旅馆距海滩越近、价格越便宜越好,可以找到这些旅馆构成的二维属性点集的81^11116是{?1,?2,?4,?7,?9},当需要选择一个旅馆时,skyline中的每个点都认为是最优选项。假如一个大型的旅行机构因为人数较多需要预定三个旅馆而不是一个,这个问题其实是skyline问题的一个变种,我们不再是搜索最优点即skyline点),而是搜索大小为3的最优点组,点组即点集合,最优点组即最优的点集合。把最优点组也叫g-skyline组,把在多维属性点集中所有g-skyline组的搜索问题称为g-skyline问题。[0004]在现有技术中,一种方法是对于g-skyline组的搜索问题使用虚拟的聚合点来表示每个组,聚合点的各个维度的属性值是对组中所有点对应维度属性值进行聚合操作得到的,进而,两个组之间的支配关系转化为两个虚拟聚合点的支配关系,基于这种定义的组支配关系并不能生成所有的最优组。另一种方法是提出了一种新的组支配关系的定义,并在该定义的基础上给出了搜索g-skyline组的算法,首先构建一个数据结构,叫做有向skyline图,简称DSG,然后基于DSG提出了PWise和UWise+两种算法来搜索g-skyline组。然而,该算法存在以下不足:[0005]—是DSG结构中包含很多冗余的点,这些点对于搜索g-skyline组是无用的,我们认为可以设计一种更优的无冗余的数据结构来代替DSG;[0006]二是DSG结构的构建算法对于高维数据是不友好的,因为它只针对二维数据做了优化;[0007]三是基于DSG提出的PWise和UWise+并不高效,还有较大的优化空间,如可以在剪枝策略上做一些优化;[0008]四是在一个数据点集的所有g-skyline组中,完全由skyline点构成的g-skyline组往往会占很高的比例,而基于DSG提出的PWise和UWise+都没有考虑到这一点,所以缺少针对这种现象的优化。[0009]因此,现有技术需要改进。发明内容[0010]本发明实施例所要解决的技术问题是提供一种多维属性最优点组的快速搜索方法,以解决现有技术存在的问题。[0011]为了解决上述问题,本发明公开了一种多维属性最优点组的快速搜索方法,包括:设计基础MDG最小支配图)构建算法,所述MDG构建算法的基本内涵为:令P是一个d维属性点集合,a、b是P中的两个点5点支配表示为a支配b当且仅当且用表示a支配b,用表示a支配b或a等于b,令a是一个skyline点当且仅当P中不存在点能够支配a,则P的skyline代表P中所有的skyline点,用skyline⑼表示,令A={ai,a2,…,ai}、B={bi,b2,…,bi}是P的两个大小为1的子集,A支配B当且仅当存在两个置换A={aui,aU2,···,aui、B={bvi,bV2,…,bvi},,用表示A支配B,则A是g-skyline组当且仅当P中不存在大小为1的子集能够支配A,P的大小为1的g-skyline表示P中所有的包含1个点的g-skyIine组,P的MDG是一个有向无环图,图中的每个节点代表P中的一个点,图中的每条边代表一个点支配关系,且MDG是由所有被少于1个点支配的点以及这些点之间的支配关系构成的;[0012]使用R-tree索引对基础MDG构建算法进行优化;[0013]基于MDG搜索所有的g-skyline组。[0014]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述设计基础MDG构建算法包括:[0015]将MDG初始化为一个空图G=V,E;[0016]按照第一维的属性值对P中的点进行升序排序;[0017]记当前MDG中所有父亲组大小为1的点构成的集合为L,对P中的每个点p,判断p是否能被L中的某个点支配,所述父亲组的定义为:设P是一个d维属性点集合,1是要搜索的g-skyline组的大小,在MDG中,点p和它的所有父亲构成了p的父亲组,记为gp,所述父亲的定义为:如果a支配b,则a是b的父亲,b是a的孩子;[0018]如果歳被!^中的某个点支配,则说明p的父亲点至少有1个,即至少有1个点可以支配P,则P不能被加入MDG;[0019]遍历V-L中的所有点来寻找所有能够支配点p的点,然后将这些点加入点p对应的父亲点集合parents中,如果parents的大小大于等于1,则p不能被加入MDG中;[0020]将P加入V中,并将所有从集合parents中的点指向点P的边加入MDG的边的集合中;[0021]如果集合parents的大小为1-1,则将p加入L中。[0022]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述按照第一维的属性值对P中的点进行升序排序中,如果两个点在第一维上有相同的属性值,则比较第二维的属性值,如果两个点在第二维上有相同的属性值,则比较第三维的属性值,依次类推。[0023]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述使用R-tree索引对基础MDG构建算法进行优化为基于启发式分裂策略的R-tree的变种优化基础MDG构建算法。[0024]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述基于启发式分裂策略的R-tree为:对于要分裂的叶子节点,对叶子节点中的每个数据点的所有维度属性值求和并排序,按照排序结果对叶子节点中的数据点进行平分,和值低的一半形成一个新的节点,和值高的一半形成另一个新的节点,对于要分裂的R-tree中的内部节点,使用其MBR的质心来代表它。[0025]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述使用R-tree索引对基础MDG构建算法包括:[0026]通过函数SearchForParentsp,R搜索R-tree获得点p的父亲点集合parents;[0027]把父亲点集合parents大小小于1的点加入R-tree索引中。[0028]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述函数SearchForParentsp,R为基于R-tree上的搜索操作,通过搜索一个d维空间,记为Areap,Areap的每个维度的区间范围是从该维度的最小值到点p在该维度的值,当搜索某个分支时已经搜索出多于1-1个点后就停止搜索,此时即可判断出点P不能被加入MDG。[0029]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述基于MDG搜索所有的g-skyline组包括:P-MDS搜索方法和G-MDS搜索方法以及利用skyline组合性质优化P-MDS和G-MDS。[0030]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述P-MDS搜索方法包括:[0031]将结果集R以及当前候选集gr初始化为空集;[0032]将MDG中的点按照父亲点的个数进行升序排序;[0033]将每个skyline点分别加入当前空的gr中并分别进行深度优先搜索DFS;[0034]当DFS结束时,R中便包含了所有的g-skyIine组。[0035]在基于上述多维属性最优点组的快速搜索方法的另一个实施例中,所述深度优先搜索DFS的实现基于函数SearchSinglePoint,它是一个递归函数,如果当前候选组gr已经包含1个点,则我们认为它就是一个大小为1的g-skyline组,所以把它加入结果集R中如果gr的大小小于1,则将一个符合要求的候选点加入gr中并递归调用SearchSinglePoint,符合要求的候选点的含义为,对于有序序列中Piast后的每个点P,如果P的所有的父亲点都在gr中,则点P是一个符合要求的候选点,所述Piast代表当前候选组gr中最后一个被加入的点。[0036]与现有技术相比,本发明包括以下优点:[0037]本发明提供的方案引入了g_skyIine支持结构的概念,并提出了一种R-tree的变种来加速构建多维数据的MDG,提出了P-MDS和G-MDS两种基于MDG的g-skyline组搜索算法,它们能够基于不同的策略生成候选组,同时利用skyline组合性质显著提升了这两个算法的效率,通过实验证明,G-MDS算法的效率比现有的最好的g-skyline搜索算法往往高1-2个数量级,本发明提出的最优点组搜索算法非常高效。附图说明[0038]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0039]图1是基于12个旅馆的skyline问题示意图;[0040]图2是本发明的多维属性最优点组的快速搜索方法的一个实施例的流程图;[0041]图3是本发明的多维属性最优点组的快速搜索方法的另一个实施例的流程图;[0042]图4是本发明的多维属性最优点组的快速搜索方法的又一个实施例的流程图;[0043]图5是本发明的多维属性最优点组的快速搜索方法的又一个实施例的流程图。具体实施方式[0044]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0045]图2是本发明的多维属性最优点组的快速搜索方法的一个实施例的流程图,如图2所示,所述多维属性最优点组的快速搜索方法包括:[0046]10,设计基础MDG最小支配图)构建算法;[0047]20,使用R-tree索引对基础MDG构建算法进行优化;[0048]30,基于MDG搜索所有的g-skyline组。[0049]为了更好的说明MDG构建算法,需首先做如下说明:[0050]定义1.定义点支配概念,假设P是一个d维属性点集合,a、b是P中的两个点且a#b,点支配是P上的一种偏序关系。实际应用中,属性值可能越大越优,也可能越小越优,不失一般性,我们约定各维度的属性值越小越优,a支配b当且仅当且,用β表示a支配b,用表;示a支配b或a等于b;[0051]定义2.定义Skyline概念,假设P是一个d维属性点集合,a是一个skyline点当且仅当P中不存在点能够支配a,则P的skyline代表P中所有的skyline点,用skylineP表示;[0052]定义3.定义组支配概念,假设P是一个d维属性点集合,A={ai,a2,···,ai}、B={bi,b2,〜,bi}是P的两个大小为I的子集,A支配B当且仅当存在两个置换A={aui,au2,...,aui}、B,用表示A支配B;[0053]定义4.定义G-Skyline概念,假设P是一个d维属性点集合,A是P的大小为1的子集。A是g-skyline组当且仅当P中不存在大小为1的子集能够支配AA的大小为1的g-skyline表示P中所有的包含1个点的g-skyIine组;[0054]定义5.定义MDG概念,假设P是一个d维属性点集,P的MDG是一个有向无环图,图中的每个节点代表P中的一个点,图中的每条边代表一个点支配关系,且MDG是由所有被少于1个点支配的点以及这些点之间的支配关系构成的。[0055]定理1:验证定理。假设P是一个d维属性点集合,A是P的大小为1的子集。A是一个g-skyline组当且仅当不存在集合A以外的点能够支配a,通过证明其必要性和充分性来证明上述定理成立:[0056]—是必要性,已知对于,不存在集合A以外的点能够支配a,即所有能够支配点a的点一定属于集合A,假设A不是一个g-skyline组,则存在一个包含1个点的集合B能够支配A。根据组支配概念,存在两个置换A={aui,aU2,.·.,aui}、B={bvi,bV2,.·.,bvi},则根据已知条件,bvm—定属于A,假设bvm=aun,又bvn#bvm=aun,则有,根据支配的传递性有所以bvn也属于A。重复此推导过程,可以证明B中所有的点都能支配a™,即至少有1个点可以支配aum,而集合A的大小为1,所以至少存在一个能够支配aum的点不属于集合A,与条件矛盾,因此,必要性成立;[0057]二是充分性,已知A是一个g-skyline组,假设对于某个点存在一个点b能支配a且,将A中的点a替换为点b,则得到一个新的集合A’,显然,与A是g_skyline组矛盾,因此,充分性成立。[0058]由上可得如下推论:假设P是一个d维属性点集合,A是P的大小为1的子集。如果A是一个g-skyIine组,贝IjeI,P中能够支配点a的点的个数一定小于1。[0059]证明:因为A是一个g-skyline组,所以所有能够支配点a的点一定属于集合A,因为A包含1个点且a不支配a,所以能够支配点a的点最多有1-1个,即能够支配点a的点的个数一定小于1。[0000]在MDG概念的定义中,如果a支配b,定义a是b的父亲,b是a的孩子。[0061]定义6.定义g-skyline支持结构,假设P是一个d维属性点集合,1是要搜索的g-skyline组的大小,一个g-skyline支持结构是一个由P的子集V及V中点之间的支配关系构成的数据结构,同时V必须包含所有会出现在大小为1的g-skyline组的点,如果V中不包含不出现在任何大小为1的g-skyline组的点,那么把它对应的g-skyline支持结构叫做最小g-skyline支持结构。[0062]定义7.定义父亲组,假设P是一个d维属性点集合,1是要搜索的g-skyline组的大小,在MDG中,点p和它的所有父亲构成了p的父亲组,记为gp。[0063]易得,对于MDG中的点p的父亲组[0064]证明MDG是一个g-skyline支持结构且是最小g-skyline支持结构:[0065]一是证明MDG是一个g-skyline支持结构:[0066]对于任意一个出现在大小为1的g-skyIine组的点,能够支配该点的点的个数一定小于1,显然该点在MDG中。[0067]二是证明MDG是最小g-skyline支持结构:[0068]假设MDG包含一个不出现在任何大小为1的g-skyline组的点p,首先任意选择一个大小为1的g-skyline组,记为gr,则grUgp是一个g-skyline组,因为►所以有IgrUgpIgrI=1,由于MDG是一个有向无环图,所以至少存在一个点p〃egr-gP,使得P〃的任意一个孩子都不属于gr-gp,p〃的任意一个孩子也不属于gp,重复从gr中去掉这样的点,直到得到一个大小为1的g-skyline组grUgP,此时,点P在一个g-skyline组中,与假设矛盾。[0069]因此,MDG是一个g-skyline支持结构,且是最小g-skyline支持结构,基于MDG搜索所有的g-skyline组是可行的,而且相对于基于其它g-skyline支持结构搜索,基于MDG搜索是最优的。[0070]图3是本发明的多维属性最优点组的快速搜索方法的另一个实施例的流程图,如图3所示,所述设计基础MDG构建算法包括:[0071]101,将MDG初始化为一个空图G=V,E;[0072]102,按照第一维的属性值对P中的点进行升序排序,这样排序的优点是能够保证每个点在排序后不被后边的点所支配,对于任意点,只需要找到该点之前有多少点能够支配该点,就能知道P中一共有多少点能够支配该点,进而来判断是否将该点加入MDG;[0073]103,记当前MDG中所有父亲组大小为1的点构成的集合为L,对P中的每个点p,判断P是否能被L中的某个点支配,所述父亲组的定义为:设P是一个d维属性点集合,1是要搜索的g-skyline组的大小,在MDG中,点p和它的所有父亲构成了p的父亲组,记为gp,所述父亲的定义为:如果a支配b,则a是b的父亲,b是a的孩子;[0074]104,如果p能被L中的某个点支配,则说明p的父亲点至少有1个,即至少有1个点可以支配P,贝1Jp不能被加入MDG;[0075]105,遍历V-L中的所有点来寻找所有能够支配点p的点,然后将这些点加入点p对应的父亲点集合parents中,如果parents的大小大于等于1,则p不能被加入MDG中;[0076]106,将p加入V中,并将所有从集合parents中的点指向点p的边加入MDG的边的集合中;[0077]107,如果集合parents的大小为1-1,则将p加入L中。[0078]所述按照第一维的属性值对P中的点进行升序排序中,如果两个点在第一维上有相同的属性值,则比较第二维的属性值,如果两个点在第二维上有相同的属性值,则比较第三维的属性值,依次类推。[0079]基础MDG构建算法的算法程序为:[0080]InitializeG=V,Cwithanemptygraph;[0081]SortzhedatapointsinPinzheascendingorderoftheirvaluesonzhefirstdimension;[0088]Break[0089]Endif[0090]Endfor[0091]IfflagisTRUEthen[0112]所述使用R-tree索引对基础MDG构建算法进行优化为基于启发式分裂策略的R-tree的变种优化基础MDG构建算法。[0113]所述基于启发式分裂策略的R-tree为:对于要分裂的叶子节点,对叶子节点中的每个数据点的所有维度属性值求和并排序,按照排序结果对叶子节点中的数据点进行平分,和值低的一半形成一个新的节点,和值高的一半形成另一个新的节点,对于要分裂的R-tree中的内部节点,使用其MBR的质心来代表它。[01M]图4是本发明的多维属性最优点组的快速搜索方法的又一个实施例的流程图,如图4所示,所述使用R-tree索引对基础MDG构建算法进行优化包括:[0115]201,通过函数SearchForParentsp,R搜索R-tree获得MDG构建算法中点p的父亲点集合;[0116]202,把父亲点集合parents大小小于1的点加入R-tree索引中。[0117]基于启发式分裂策略的R-tree的变种来优化基础MDG构建算法程序为:[0118]InitializeG=V,Cwithanemptygraph;[0119]SortzhedatapointsinPinzheascendingorderoftheirvaluesonzhefirstdimension;[0144]函数SearchForParentsp,R为基于R-tree上的搜索操作,通过搜索一个d维空间,记为Areap,Areap的每个维度的区间范围是从该维度的最小值到点p在该维度的值,当搜索某个分支时已经搜索出多于1-1个点后就停止搜索,此时即可判断出点P不能被加入MDG。[0145]在基于R-tree的MDG构建算法中,使用的是针对本问题对R-tree进行了优化后的R-tree的变种,优化方法基于一种启发式的分裂策略,R-tree的分裂策略对于R-tree的效率有着至关重要的作用。[0146]这种启发式的节点分裂策略有两个优点,一是相对于其它分裂策略,这种分裂策略的执行效率更高;二是这种分裂策略非常适合算法中的查询场景,对于给定的查询点P,MDG中所有维度属性值之和越低的点,越有可能出现在Areap*,反之亦然。这种分裂策略可以使得基于R-tree的MDG构建算法中的搜索操作更加高效。[0147]两种MDG构建算法的时间复杂度:[0148]假设多维属性点集合P的大小为n,MDG中点的个数为nm,基础MDG构建算法和基于R-tree的MDG构建算法都可以分为两部分。第一部分,将所有点按照第一维度的属性值进行排序,这部分的时间复杂度为0n*logn。第二部分,对于P中的每个点p,在MDG中寻找其所有能支配点P的点,这部分在基础MDG构建算法中的时间复杂度为0n*nm,使用R-tree变种后,这部分的时间复杂度降为0n*1〇gnm。所以,基础MDG构建算法的总的时间复杂度为0n*logn+n*nm,基于R-tree的MDG构建算法的总的时间复杂度为0n*logn+n*lognm。[0149]现有技术中提出的一个g-skyline支持结构,PHDSG,设DSG中点的个数为nd,则DSG构建算法在二维数据上的时间复杂度为在更高维的数据上的时间复杂度为〇n*logn+n*nd。[0150]本方法的MDG相对于现有技术的DSG的优势是,MDG是最小g-skyline支持结构,而DSG有可能不是最小g-skyline支持结构,所以有nm0个点,搜索到的下一个候选点p是一个skyline点,表示p之后的所有点都是81^1;[116点,可以选择任意1]1个不在当前候选组81'中的81^1;[116点加入81'来直接生成大小为1的g-skyline组。[0179]利用性质1都可以使得P-MDS和G-MDS的搜索代价大大降低,能够显著提高算法效率。[0180]实验结果显不,本专利提出的g-skyline支持结构MDG的大小小于DSG,基于R-tree的MDG构建算法的运行时间也比DSG构建算法更快。优化后的P-MDS快于PWise,优化后的G-MDS快于UWise+,且效率往往能提高1-2个数量级。[0181]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。[0182]以上对本发明所提供的一种多维属性最优点组的快速搜索方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的实现及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求:1.一种多维属性最优点组的快速搜索方法,其特征在于,包括:设计基础最小支配图MDG构建算法,所述MDG构建算法的基本内涵为:令P是一个d维属性点集合,a、b是P中的两个点且a辛b,点支配表示为a支配b当且仅当,用表示a支配b,用I.表示a支配b或a等于b,令a是一个skyline点当且仅当P中不存在点能够支配a,则P的skyline代表P中所有的skyline点,用skyline⑵表示,令A={ai,a2,…,ai}、B={bi,b2,…,bi}是P的两个大小为1的子集,A支配B当且仅当存在两个置换且表示A支配B,则A是g-skyline组当且仅当P中不存在大小为1的子集能够支配A,P的大小为1的g-skyline表示P中所有的包含1个点的g-skyline组,P的MDG是一个有向无环图,图中的每个节点代表P中的一个点,图中的每条边代表一个点支配关系,且MDG是由所有被少于1个点支配的点以及这些点之间的支配关系构成的;使用R-tree索引对基础MDG构建算法进行优化;基于MDG搜索所有的g-skyline组。2.根据权利要求1所述的多维属性最优点组的快速搜索方法,其特征在于,所述设计基础MDG构建算法包括:将MDG初始化为一个空图G=V,E;按照第一维的属性值对P中的点进行升序排序;记当前MDG中所有父亲组大小为1的点构成的集合为L,对P中的每个点p,判断p是否能被L中的某个点支配,所述父亲组的定义为:设P是一个d维属性点集合,1是要搜索的g-skyline组的大小,在MDG中,点p和它的所有父亲构成了p的父亲组,记为gp,所述父亲的定义为:如果a支配b,则a是b的父亲,b是a的孩子;如果P能被L中的某个点支配,则说明p的父亲点至少有1个,即至少有1个点可以支配p,贝IJp不能被加入MDG;遍历V-L中的所有点来寻找所有能够支配点p的点,然后将这些点加入点p对应的父亲点集合parents中,如果parents的大小大于等于1,则p不能被加入MDG中;将P加入V中,并将所有从集合parents中的点指向点p的边加入MDG的边的集合中;如果集合parents的大小为1-1,则将p加入L中。3.根据权利要求2所述的多维属性最优点组的快速搜索方法,其特征在于,所述按照第一维的属性值对P中的点进行升序排序中,如果两个点在第一维上有相同的属性值,则比较第二维的属性值,如果两个点在第二维上有相同的属性值,则比较第三维的属性值,依次类推。4.根据权利要求1所述的多维属性最优点组的快速搜索方法,其特征在于,所述使用R-tree索引对基础MDG构建算法进行优化为基于启发式分裂策略的R-tree的变种优化基础MDG构建算法。5.根据权利要求4所述的多维属性最优点组的快速搜索方法,其特征在于,所述基于启发式分裂策略的R-tree为:对于要分裂的叶子节点,对叶子节点中的每个数据点的所有维度属性值求和并排序,按照排序结果对叶子节点中的数据点进行平分,和值低的一半形成一个新的节点,和值高的一半形成另一个新的节点,对于要分裂的R-tree中的内部节点,使用其MBR的质心来代表它。6.根据权利要求1、4或5所述的多维属性最优点组的快速搜索方法,其特征在于,所述使用R-tree索引对基础MDG构建算法进行优化包括:通过函数SearchForParentsp,R搜索R-tree获得点p的父亲点集合;把父亲点集合parents大小小于1的点加入R-tree索引中。7.根据权利要求6所述的多维属性最优点组的快速搜索方法,其特征在于,所述函数SearchForParentsp,R为基于R-tree上的搜索操作,通过搜索一个d维空间,记为Areap,Areap的每个维度的区间范围是从该维度的最小值到点p在该维度的值,当搜索某个分支时已经搜索出多于1-1个点后就停止搜索,此时即可判断出点P不能被加入MDG。8.根据权利要求1所述的多维属性最优点组的快速搜索方法,其特征在于,所述基于MDG搜索所有的g-skyline组包括:P-MDS搜索方法和G-MDS搜索方法以及利用skyline组合性质优化P-MDS和G-MDS。9.根据权利要求8所述的多维属性最优点组的快速搜索方法,其特征在于,所述P-MDS搜索方法包括:将结果集R以及当前候选集gr初始化为空集;将MDG中的点按照父亲点的个数进行升序排序;将每个81^1;[116点分别加入当前空的81'中并分别进行深度优先搜索0?5;当DFS结束时,R中便包含了所有的g-skyline组。10.根据权利要求9所述的多维属性最优点组的快速搜索方法,其特征在于,所述深度优先搜索DFS的实现基于函数SearchSinglePoint,它是一个递归函数,如果当前候选组gr已经包含1个点,则我们认为它就是一个大小为1的g-skyline组,所以把它加入结果集R中;如果gr的大小小于1,则将一个符合要求的候选点加入gr中并递归调用SearchSinglePoint,符合要求的候选点的含义为,对于有序序列中Piast后的每个点p,如果P的所有的父亲点都在gr中,则点p是一个符合要求的候选点,所述plast代表当前候选组gr中最后一个被加入的点。
百度查询: 清华大学 多维属性最优点组的快速搜索方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。