一种k-支配轮廓点获取方法及装置的制作方法

文档序号:6443062阅读:150来源:国知局
专利名称:一种k-支配轮廓点获取方法及装置的制作方法
技术领域
本发明涉及数据库领域,特别是涉及一种k-支配轮廓点获取方法及装置。
技术背景
在一个数据集D中,当且仅当数据点ρ」上所有维度的值都优于或者等于Pi上所有维度的值,并且存在一个维度t,使得Py St优于Pi. St,则称数据点P」在空间S上支配数据点Pi。轮廓数据点是数据集D中那些没有被支配的数据点,利用轮廓查询的方式可以得到轮廓数据点集。在数据库应用的过程中,用户经常需要从轮廓数据点中获得有用的信息,因此,轮廓查询方法得到了广泛的应用。
当前利用轮廓查询的方式得到的轮廓数据点包括两种一种是传统轮廓点,当且仅当数据集中不存在任何数据点支配一个数据点Pi时,则称数据点Pi即为数据空间S上关于数据集D的一个传统轮廓点,其中所述的所有维度表示为d维;同时,提出了 k-支配轮廓点的概念。因为在实际应用中,数据经常是高维度的。而高维度的数据之间就不容易产生支配关系,只计算传统轮廓点就会导致大量的数据点在轮廓查询中被返回,导致结果集太大使轮廓查询不能提供有用的信息,为了在高维空间中找到重要的数据点,并减少返回的结果集,采取通过弱化对“支配”的定义,使数据点之间更容易产生支配关系的方法,从而使结果集缩小到一个合适范围内,提出了 k-支配轮廓点的概念,所谓的k-支配轮廓点,是当且仅当在数据集中不存在任何数据点在k维度上k-支配一个数据点时,这个数据点即为 k-支配轮廓点,其中所述的k为小于d的数字,而且根据该定义可知,如果一个数据点是数据集D的k-支配轮廓点,那么它一定是数据集D的传统轮廓点,即传统轮廓点中包含k-支配轮廓点。通常,在一个数据集D中,那些没有被k-支配的数据点组成的集合称作k-支配轮廓点,常用DSP (k,D,S)代表数据空间S上关于数据集D的k-支配轮廓点集。
在静态数据集中,通过改变k值的大小可以使k_支配轮廓查询的结果集在一个合适的范围内。但是在频繁更新数据集环境中,当有数据点插入到数据集D中,或者从数据集 D中删除数据点,都有可能使k-支配轮廓点发生变化。这就需要我们在频繁更新的数据集环境中,重新计算k-支配轮廓点。排序分治DCSF算法是目前解决频繁更新数据集上k-支配轮廓点维护的最好算法。它的实现方案如下首先进行预处理,对数据集D中的数据点进行分块,在每个分块中,计算各个分块中的传统轮廓点,汇集各块中的传统轮廓点,从而计算出静态数据集D中的k-支配轮廓点。为了更好地计算k-支配轮廓点,排序分治算法对传统轮廓点集中的数据点根据k-支配能力进行排序。
如果在数据集D的某个分块中插入一个数据点,将新插入的数据点与本地分块的所述传统轮廓点进行比较,如果所述新插入的数据点被传统轮廓点所d-支配,则说明所述插入点并非是传统轮廓点和k-支配轮廓点,则将所述插入点直接插入数据集D中即可;若所述插入点不被传统轮廓点所d-支配,则应该移除本地传统轮廓点集中被插入点所d-支配的数据点,再把该插入点加入本地传统轮廓点集中,由于新插入的点有可能k-支配原 k-支配轮廓点集中的点,使其不再是k-支配轮廓点,所以还要判断所述插入点与所述k-支配轮廓点的k-支配关系,如果插入点被k-支配,并且k-支配轮廓点集中没有点被插入点所k-支配,则说明所述插入点不可能是k-支配轮廓点,所述k-支配轮廓点集不会发生变化,将所述插入点直接插入数据库中;如果所述k-支配轮廓点集中有数据点被插入点所 k-支配,则说明该被支配点已经不是k-支配轮廓点,将被支配点移除k-支配轮廓点集;如果插入点未被k-支配轮廓点集中的点所k-支配,则使其进一步和各个分块的传统轮廓点进行比较,如果所述插入点被传统轮廓点所k-支配,则说明所述插入点并非传统轮廓点, 同时也并非是k-支配轮廓点,直接插入数据集D中,如果所述插入点没有被传统轮廓点所 k-支配,则将所述插入点加入到k-支配轮廓点集中。
如果在数据集D中删除一个数据点,则要判断所述被删除的数据点是否是传统轮廓点,如果所述被删除的数据点是某个分块的传统轮廓点,则要对数据集D的数据点进行重新计算,以取得新的传统轮廓点集和k-支配轮廓点集,即使用静态计算k-支配轮廓点的方法,重新计算一遍k-支配轮廓点。
k_支配轮廓点虽然并不像传统轮廓点更新那么频繁,但是在频繁更新数据集环境中,任何数据点的更新都有可能导致传统轮廓点的更新,从而使我们需要每次在数据集更新时,重新计算传统轮廓点,并根据最新的传统轮廓点计算k_支配轮廓点,然而,数据集D 中包含的传统轮廓点的数目是很大的,在某些极端情况下,传统轮廓点的总数甚至要接近原始数据的大小,每次更新数据集D都要重新计算传统轮廓点,并且根据所述传统轮廓点计算k-支配轮廓点,这个计算量是非常大的,而计算过程是非常耗时的。发明内容
有鉴于此,本发明的目的在于提供一种频繁更新数据集中的连续k_支配轮廓查询方法,用于减少计算k_支配轮廓点的计算量,具体实施方案如下
一种k_支配轮廓点获取方法,包括以下步骤
1)计算得到数据集D中的k_支配轮廓点,并将在计算所述k_支配轮廓点的计算过程中不被其他数据点所d-支配的数据点作为准轮廓点,并保存数据间的支配关系;
2)确定当前的待更新数据点的更新类型,所述更新类型包括插入或删除,当所述待更新数据点的更新类型为插入时,确定所述待更新数据点为待处理点,当所述待更新数据点的更新类型为删除时,删除所述待更新数据点,并确定与所述待更新数据点存在支配关系的数据点为待处理点;
幻判断所述待处理点是否被k_支配轮廓点集中的数据点所k_支配,若否,则执行步骤5),若是,则执行步骤4);
4)判断k_支配所述待处理点的所述k_支配轮廓点是否d-支配所述待处理点,若是,则将待处理点直接插入数据库中;若否,执行步骤5);
5)判断所述k_支配轮廓点集中是否存在被待处理点所k_支配的轮廓点,若否, 则执行步骤7),若是,则从所述k-支配轮廓点集中移除所述被支配的数据点,并执行步骤 6);
6)判断所述移除点是否被待处理点所d-支配,如果否,则将所述移除点放入准轮廓点集中;
7)判断所述准轮廓点集中是否存在k_支配所述待处理点的准轮廓点,如果否,将所述待处理点插入k-支配轮廓点集中,如果是,进入步骤8);
8)判断所述准轮廓点集中是否存在被所述待处理点所d-支配的准轮廓点;如果否,将所述待处理点插入准轮廓点集中,如果是,保存待处理点和准轮廓点的d-支配关系, 并将待处理点插入数据库中。
优选的,保存数据间的支配关系的具体步骤为
计算得到数据间的支配关系后,为每个数据点建立支配关系链表,并将所述数据点与其他数据点之间的支配关系保存在支配关系链表中。
优选的,在上述的步骤幻、步骤4)、步骤幻、步骤6)、步骤7)及步骤8)中还包括
计算获取数据间的k_支配关系后,将所述k_支配关系保存在产生k_支配关系的数据点的支配关系链表中,并设置被支配点的front指针指向所在支配点的关系链表中的位置;
计算获取数据间的d-支配关系后,将被支配点的DDP属性设置为支配点。
优选的,步骤2、中当更新类型为删除时,确定待处理点的具体步骤为
在删除所述待删除数据点前,判断所述待删除数据点所对应的关系链表中是否有数据点,如果没有,直接将所述待删除数据点及其所对应的支配关系链表删除;如果有,即确定该待删除数据点的支配关系链表中的数据点为待处理点。
优选的,判断待处理点是否被k_支配轮廓点集中的数据点所k_支配的具体步骤为
11)选取所述k_支配轮廓点集中的一个k_支配轮廓点;
12)判断选取的所述k_支配轮廓点是否k_支配所述待处理点,如果是,则保存所述待处理点与选取的所述k_支配轮廓点的k_支配关系,如果否,则进入步骤13);
13)判断所述k_支配轮廓点集中是否还有其他k_支配轮廓点未被选取和所述待处理点进行比较,如果是,则选取其他的数据点执行步骤1 ,直到所述k-支配轮廓点集中的所有点都和所述待处理点完成了比较。
优选的,上述步骤6)中还包括
如果所述移除点被所述待处理点所d-支配,则将所述d-支配关系保存在所述移除点与所述待处理点的支配关系链表中,并设置所述移除点的DDP属性为所述待处理点。
优选的,步骤8)后还包括
判断是否有其他待更新数据点,如果有,则返回执行步骤2)的操作。
同时,本发明还公开了一种k_支配轮廓点获取装置,包括
预处理模块,用于计算得到数据库中的k_支配轮廓点集及准轮廓点集,并保存数据间的支配关系;
更新类型确定模块,用于确定待更新数据点的更新类型,并在所述待更新数据点的更新类型为插入时,确定所述待更新数据点为待处理点,当所述待更新数据点的更新类型为删除时,删除所述待更新数据点,并确定与所述待更新数据点存在支配关系的数据点为待处理点;
支配关系维护模块,用于将所述待处理点与所述k_支配轮廓点集及准轮廓点集中的数据进行比较计算,得到k_支配轮廓点;
准轮廓点集维护模块,用于根据所述待处理点进行计算,维护准轮廓点集。使用本发明公开的k_支配轮廓点获取方法,在每次数据库更新的时候,不再将待处理点与传统轮廓点进行比较,而是与数量少于传统轮廓点的k_支配轮廓点进行比较,并且,引入了准轮廓点的概念,使部分待处理点与准轮廓点进行比较,而准轮廓点比传统轮廓点和k_支配轮廓点相比更易于维护,因此减少了计算量。
进一步的,本发明公开的获取方法引用了支配关系链表,保留了数据点间的k_支配关系,使之在数据库更新后使用,从而避免了数据点间k_支配关系的反复计算,因而减少了计算量。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种k_支配轮廓点获取方法的流程示意图2为本发明实施例公开的k_支配轮廓点获取方法中更新类型为删除时,确定待处理点的流程示意图3为本发明实施例公开的k_支配轮廓点获取方法中判断待处理点是否被k_支配的流程示意图4为本发明实施例公开的一种k_支配轮廓点获取装置。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中计算k_支配轮廓点的计算量复杂的问题,本发明首先公开了一种新类型的轮廓点准轮廓点的定义。当且仅当在计算k_支配轮廓点的过程中,Pi 满足下列两个条件之一,即,①=Pi并没有被和它比较的数据点所k-支配;②Pi并没有被 k-支配Pi的数据点所d-支配,则称数据点Pi是空间S上关于数据集D的一个准轮廓点。 在计算k-支配轮廓点的过程中,Pi只会和数据库中的部分数据点进行比较,当遇到某点Pj k-支配Pi时,不再考虑数据集D中是否还有其它数据点k-支配Pi。这时如果化d-支配 Pi,则Pi不是准轮廓点,否则Pi是准轮廓点,因此,准轮廓点具有更易维护的优点。数据集 D中,没有被任何点所k-支配的数据点也属于准轮廓点。用Quasi SP(Dj)R表空间S上关于数据集D的准轮廓点集。根据准轮廓点的定义可以看出,准轮廓点中大部分的点是传统轮廓点,并且准轮廓点中包含所有的传统轮廓点。同时,根据准轮廓点和k-支配轮廓点的关系,可以知道同时不被k-支配轮廓点所k-支配和不被准轮廓点所支配的数据点为 k-支配轮廓点。
同时,本发明还公开了一种支配关系链表的思想。所述的支配关系链表,需要为数据点赋予三个属性,分别用DDP、front和head来表示。其中DDP代表d_支配数据点。假定数据点Pi的DDP属性上的值是Pp则表示Pi数据点被P」数据点所d-支配。数据点Pi被 d-支配,则Pi就不可能是传统轮廓点。根据前面对准轮廓点的定义,数据库中,剩余那些在 DDP属性上没有值的数据点即为准轮廓点。属性front是指针类型,它指向的是数据点在支配关系链表中的位置,当数据点被删除时,可以根据front指针直接把数据点从支配关系链表中删除。属性head也是指针类型,它指向的是数据点自己的支配关系链表。每个数据点都有属于自己的支配关系链表。该支配关系链表所存储的是被该数据点所k-支配的数据点。在本发明所公开的k-支配轮廓点获取方法中,每次计算得到数据点之间的支配关系时,都要将所述支配关系保存在支配关系链表中,并为数据添加上述属性。通过保留支配关系链表,避免了一些不需要的重复计算。
本发明公开了一种k_支配轮廓点获取方法,其流程示意图如图1所示,包括以下步骤
S111、计算得到数据集D中的k_支配轮廓点集,并将在计算所述k_支配轮廓点的计算过程中不被其他数据点所d-支配的数据点作为准轮廓点,并保存数据点间的支配关系,其中所述保存数据点间的支配关系,即保存数据点间的支配关系链表;
S112、确定当前的待更新数据点的更新类型,所述更新类型包括插入或删除,当所述待更新数据点的更新类型为插入时,确定所述待更新数据点为待处理点,当所述待更新数据点的更新类型为删除时,删除所述待更新数据点,并确定与所述待更新数据点存在支配关系的数据点为待处理点;并且,当所述待更新数据点的更新类型为删除时,与所述待更新数据点存在支配关系的数据点也可称为唤醒点;
S113、判断所述待处理点是否被k-支配轮廓点集中的数据点所k-支配,若是,则执行步骤S114,若否,则执行步骤S118 ;
S114、若步骤S113中所述待处理点被k_支配轮廓点集中的数据点所k_支配,在支配关系链表中保存k-支配关系;
S115、判断k-支配所述待处理点的所述k-支配轮廓点是否d-支配所述待处理点,若能支配,则进入步骤S116,若不能支配,则进入步骤S118 ;
Sl 16、若步骤Sl 15中,k_支配所述待处理点的所述k_支配轮廓点d_支配所述待处理点,则说明所述待处理点不是k-支配轮廓点,同时也不是传统轮廓点,保存d-支配关系,进入步骤S117 ;
S117、将所述待处理点直接插入数据集D中即可,结束流程;
S118、若步骤S115中,k_支配所述待处理点的所述k_支配轮廓点不能d_支配所述待处理点,则判断所述k-支配轮廓点集中是否存在被待处理点所k-支配的轮廓点, 若是,则执行步骤S119,若否,则执行步骤S124;在步骤S113到步骤S115中,是为了判断 k-支配轮廓点集中是否存在k-支配轮廓点能够k-支配待处理点,但同时,待处理点也可能 k-支配原k-支配轮廓点集中的数据点,因而使得原k-支配轮廓点集中的点不再属于k-支配轮廓点,需要将这种数据点从所述k-支配轮廓点中移除,因而需要以下步骤的操作;
S119、若步骤S118中,所述k_支配轮廓点集中存在被待处理点所k_支配的轮廓点,则保存k-支配关系,执行步骤S120 ;
S120、从所述k-支配轮廓点集中移除所述被支配的数据点,并执行步骤S121 ;
S121、判断所述移除点是否被待处理点所d-支配,若没有被支配,则进入步骤S122,若被支配,则进入步骤S123 ;
S122、如果所述移除点没有被待处理点所d-支配,则说明所述待处理点为准轮廓点,将所述移除点放入准轮廓点集中,执行步骤SIM ;
S123、如果所述移除点被待处理点所d-支配,将所述d-支配关系保存在所述移除点与所述待处理点的支配关系链表中,并设置所述移除点的DDP属性为所述待处理点;
S124、判断所述准轮廓点集中是否存在k-支配所述待处理点的准轮廓点,如果不存在,进入步骤S125,如果存在,进入步骤SU6 ;
S125、若步骤SlM中,所述准轮廓点集中不存在k_支配所述待处理点的准轮廓点,则根据准轮廓点和k-支配轮廓点的关系可知,所述待处理点为k-支配轮廓点,将所述待处理点直接插入k-支配轮廓点集中后,结束流程;在本步骤中,若所述待处理点为新插入的数据点,则将所述新插入点插入到k-支配轮廓点集的最前面;若所述待处理点为某个唤醒点,则将所述唤醒点插入到k-支配轮廓点集的最后面,如果将新得到的该k-支配轮廓点称为Pnrat,这样做可以尽量使数据点被新进的点Pnrat所支配,那么当Pnrat被删除时,它所 k-支配的数据点很有可能早就被提前就被删除了,因而可以很大程度的减少唤醒的数据占.
S126、若步骤SlM中,所述准轮廓点集中存在k_支配所述待处理点的准轮廓点, 则将所述k-支配关系保存在支配关系链表中,执行步骤S127 ;
S127、判断所述准轮廓点集中是否存在被所述待处理点所d-支配的准轮廓点,如果否,则进入步骤S128,如果是,则进入步骤SU9 ;
S128、若步骤S127中,所述准轮廓点集中不存在被所述待处理点所d-支配的准轮廓点,则说明所述待处理点为准轮廓点,将所述待处理点插入准轮廓点集中后,结束流程;
S129、若步骤S127中,所述准轮廓点集中存在被所述待处理点所d-支配的准轮廓点,则所述待处理点不是k-支配轮廓点,保存所述待处理点和准轮廓点的d-支配关系,并将所述待处理点插入数据库中即可,结束流程。
本发明实施例公开的k_支配轮廓点获取方法中,需要保存数据间的支配关系,在步骤Slll中,保存数据间的支配关系的具体步骤为
计算得到数据间的支配关系后,为每个数据点建立支配关系链表,并将所述数据点与其他数据点之间的支配关系保存在支配关系链表中。
同时,在上述计算过程中,每次计算获取数据间的k_支配关系后,将所述k_支配关系保存在产生k-支配关系的数据点的支配关系链表中,并设置被支配点的front指针指向所在支配点的关系链表中的位置;
每次计算获取数据间的d-支配关系后,将被支配点的DDP属性设置为支配点。
在步骤S112中,当数据点的更新类型为删除时,确定待处理点的流程如图2所示, 具体步骤为
S211、在删除所述待删除数据点前,判断所述待删除数据点所对应的关系链表中是否有数据点,若没有,进入步骤S212,若有,进入步骤S213 ;
S212、若所述待删除数据点所对应的关系链表中没有数据点,则直接删除待删除数据点即可,结束流程;
S213、若所述待删除数据点所对应的关系链表中有数据点,则删除待删除数据点后,执行步骤S214;
S214、将所述待删除数据点的支配关系链表中的数据点确定为待处理点。
在本发明实施例公开的k_支配轮廓点获取方法中,步骤S113中判断待处理点是否被k-支配轮廓点集中的数据点所k-支配的流程如图3所示,具体步骤如下
S311、选取所述k_支配轮廓点集中的一个k_支配轮廓点;
S312、判断选取的所述k_支配轮廓点是否k_支配所述待处理点,如果是,进入步骤S313,如果否,进入步骤S314 ;
S313、保存所述待处理点与选取的所述k-支配轮廓点的k-支配关系,结束流程;
S314、判断所述k-支配轮廓点集中是否还有其他k-支配轮廓点未被选取和所述待处理点进行比较,如果是,选取其他的数据点执行步骤S312,直到所述k-支配轮廓点集中的所有点都和所述待处理点完成了比较,如果否,结束流程。
在执行步骤8)后,还包括
判断是否有其他待更新数据点,如果有,则返回执行步骤2)的操作。本发明所公开的k_支配轮廓点获取方法适用于频繁更新的数据集,在更新的过程中,其他数据点重复执行步骤2、的操作,即能有效的维护频繁更新的数据集的k-支配轮廓点集。
同时,本发明还公开了一种k_支配轮廓点获取装置,其结构示意图如图4所示,包括
预处理模块1,用于计算得到数据集D中的k_支配轮廓点集及准轮廓点集,并保存数据间的支配关系;在预处理模块中,为各个数据点分配三个属性DDP、front和head,并将计算得到的各个数据点间的支配关系保存在支配关系链表中;
更新类型确定模块2,用于确定待更新数据点的更新类型,并在所述待更新数据点的更新类型为插入时,确定所述待更新数据点为待处理点,当所述待更新数据点的更新类型为删除时,删除所述待更新数据点,并确定与所述待更新数据点存在支配关系的数据点为待处理点;
支配关系维护模块3,用于将所述待处理点与所述k_支配轮廓点集及准轮廓点集中的数据进行比较计算,得到k_支配轮廓点;
准轮廓点维护模块4,用于根据所述待处理点进行计算,维护准轮廓点。
使用本发明公开的查询方法,在每次数据集D更新的时候,不再将待处理点与传统轮廓点进行比较,而是与数量少于传统轮廓点的k_支配轮廓点进行比较,并且,引入了准轮廓点的概念,使部分待处理点与准轮廓点进行比较,而准轮廓点比传统轮廓点和k_支配轮廓点相比更易于维护,因此减少了计算量。
进一步的,本发明公开的查询方法引用了支配关系链表,保留了数据点间的k_支配关系,使之在数据集D更新后使用,从而避免了数据点间k-支配关系的反复计算,因而减少了计算量。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。权利要求
1.一种k-支配轮廓点获取方法,其特征在于,包括以下步骤1)计算得到数据集中的k-支配轮廓点,并将在计算所述k-支配轮廓点的过程中不被其他数据点所d-支配的数据点作为准轮廓点,并保存数据点间的支配关系;2)确定当前的待更新数据点的更新类型,所述更新类型包括插入或删除,当所述待更新数据点的更新类型为插入时,确定所述待更新数据点为待处理点,当所述待更新数据点的更新类型为删除时,删除所述待更新数据点,并确定与所述待更新数据点存在支配关系的数据点为待处理点;3)判断所述待处理点是否被k-支配轮廓点集中的数据点所k-支配,若否,则执行步骤 5),若是,则执行步骤4);4)判断k-支配所述待处理点的所述k-支配轮廓点是否d-支配所述待处理点,若是, 则将待处理点直接插入数据集中,若否,则执行步骤5);5)判断所述k-支配轮廓点集中是否存在被待处理点所k-支配的轮廓点,若否,则执行步骤7),若是,则从所述k-支配轮廓点集中移除所述被支配的数据点,并执行步骤6);6)判断所述移除点是否被待处理点所d-支配,如果否,则将所述移除点放入准轮廓点集中;7)判断所述准轮廓点集中是否存在k-支配所述待处理点的准轮廓点,如果否,将所述待处理点插入k-支配轮廓点集中,如果是,进入步骤8);8)判断所述准轮廓点集中是否存在被所述待处理点所d-支配的准轮廓点,如果否,将所述待处理点插入准轮廓点集中,如果是,保存待处理点和准轮廓点的d-支配关系,并将待处理点插入数据集中。
2.根据权利要求1所述的方法,其特征在于,步骤1)中保存数据间的支配关系的具体步骤为计算得到数据间的支配关系后,为每个数据点建立支配关系链表,并将所述数据点与其他数据点之间的支配关系保存在支配关系链表中。
3.根据权利要求1所述的方法,其特征在于,步骤幻、步骤4)、步骤幻、步骤6)、步骤 7)及步骤8)中还包括计算获取数据间的k-支配关系后,将所述k-支配关系保存在产生k-支配关系的数据点的支配关系链表中,并设置被支配点的front指针指向所在支配点的关系链表中的位置;计算获取数据间的d-支配关系后,将被支配点的DDP属性设置为支配点。
4.根据权利要求1所述的方法,其特征在于,步骤幻中当更新类型为删除时,确定待处理点的具体步骤为在删除所述待删除数据点前,判断所述待删除数据点所对应的关系链表中是否有数据点,如果没有,直接将所述待删除数据点及其所对应的支配关系链表删除;如果有,即确定该待删除数据点的支配关系链表中的数据点为待处理点。
5.根据权利要求1中所述的方法,其特征在于,判断待处理点是否被k-支配轮廓点集中的数据点所k-支配的具体步骤为11)选取所述k-支配轮廓点集中的一个k-支配轮廓点;12)判断选取的所述k-支配轮廓点是否k-支配所述待处理点,如果是,则保存所述待处理点与选取的所述k-支配轮廓点的k-支配关系,如果否,则进入步骤13);13)判断所述k-支配轮廓点集中是否还有其他k-支配轮廓点未被选取和所述待处理点进行比较,如果是,则选取其他的数据点执行步骤12),直到所述k-支配轮廓点集中的所有点都和所述待处理点完成了比较。
6.根据权利要求1所述的方法,其特征在于,所述步骤6)中还包括如果所述移除点被所述待处理点所d-支配,则将所述d-支配关系保存在所述移除点与所述待处理点的支配关系链表中,并设置所述移除点的DDP属性为所述待处理点。
7.根据权利要求1所述的方法,其特征在于,所述步骤8)后还包括判断是否有其他待更新数据点,如果有,则返回执行步骤2)的操作。
8.一种k-支配轮廓点获取装置,其特征在于,包括预处理模块,用于计算得到数据集中的k-支配轮廓点及准轮廓点,并保存数据间的支配关系;更新类型确定模块,用于确定待更新数据点的更新类型,并在所述待更新数据点的更新类型为插入时,确定所述待更新数据点为待处理点,当所述待更新数据点的更新类型为删除时,删除所述待更新数据点,并确定与所述待更新数据点存在支配关系的数据点为待处理点;支配关系维护模块,用于将所述待处理点与所述k-支配轮廓点集及准轮廓点集中的数据进行比较计算,得到k-支配轮廓点;准轮廓点维护模块,用于根据所述待处理点进行计算,维护准轮廓点。
全文摘要
本发明实施例公开了一种k-支配轮廓点获取方法及装置,在所述方法中,在每次数据集更新的时候,不再将待处理点与传统轮廓点进行比较,而是与数量少于传统轮廓点的k-支配轮廓点进行比较,并且,引入了准轮廓点的概念,使部分待处理点与准轮廓点进行比较,而准轮廓点比传统轮廓点更易于维护,因此减少了计算量。同时,本发明公开的获取方法引用了支配关系链表,保留了数据点间的k-支配关系,使之在数据集更新后使用,从而避免了数据点间k-支配关系的反复计算,因而减少了计算量。
文档编号G06F17/30GK102521399SQ20111043925
公开日2012年6月27日 申请日期2011年12月23日 优先权日2011年12月23日
发明者吴娴, 赵雷, 黄荣跃 申请人:苏州大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1