论文部分内容阅读
Skyline查询是近年来数据库和数据挖掘领域的一个研究热点。给定两个d维的数据点p和g,如果点p在所有维上的取值都不比点q差,并且在至少一个维上取值比g好,则称点p支配点g。一个数据集的skyline定义为该数据集上不被任意其它点所支配的数据点集合。Skyline查询在多标准决策的应用中具有重要意义。
随着数据集维数的增加,数据点之间形成支配关系的可能性越来越小,导致了skyline数据集变得过大而无法提供任何有效信息。为了在高维数据集中找到更重要和更有意义的skyline点,有学者提出k-支配skyline的概念。由于k-支配skyline的特殊性质,传统的skyline算法不能适用于k-支配skyline查询,而现有的k-支配skyline算法在时间效率、空间复杂度和渐进输出性上都存在不足。
根据传统skyline的预排序过滤算法的思想,本文提出了一种基于索引的高效k-支配skyline算法,在时间效率、渐进输出性和空间复杂度三个方面部比现有算法有提高。通过为数据集建立两个索引表:关于数据点k-支配能力的索引和数据点成为k-支配skyline点可能性的索引,算法在计算过程中不需要保留中间结果数据集,从而可以保持稳定的低空间开销。根据建立的索引,算法能够优先处理并返回部分结果数据点,使得算法具有良好的渐进性。同时在判定数据点是否属于k-支配skyline时根据索引能够尽可能减少比较次数,经过实验证明本文提出的算法在时间效率上比现有的算法具有更优秀的性能。