论文部分内容阅读
随着Skyline查询在多标准决策、数据挖掘、用户偏好查询、数据库可视化等领域的广泛应用,国内外学者已经提出了多种Skyline算法,但由于Skyline查询方面的研究发展时间尚短,目前对于高维数据的Skyline计算研究还很有限。高维Skyline计算面临以下挑战:(1)维度灾难——即随着数据集规模增大维数增多,Skyline查询的结果数目将随数据集大小(N)和维数(D)呈指数增长。得到的Skyline查询结果集巨大,不能提供有效信息。(2)计算代价高——Skyline算法的开销本来就比较大,其中BNL,SFS和LESS算法最坏情况复杂度均达到了O(kn2), k是查询空间的维数,n是数据对象个数。(3)算法要求高——算法不仅需要正确得出Skyline结果,还应具有渐进性(progressive)和偏好性(preferable),即算法获得Skyline点的响应时间快,并且能根据用户对不同属性的喜好程度给出相应Skyline结果。
本文集中研究了高维数据集的Skyline算法和查询数据集Skyline点输出数目过多的问题。深入分析了高维空间Skyline计算的特点及难点,在此基础上提出了一种基于排序的高维数据集Skyline算法。算法采用一种新颖的预排序结构,并结合已有算法的优点,能够较好地达到算法要求。与现有同类算法相比,具有以下优点:(1)可以根据用户的需求,顺序输出结果,减少用户后期筛选数据点的计算量。(2)根据预处理结构的特点,可以保证优先扫描较好的点,能够快速渐进地返回Skyline结果。(3)采用优化启发式规则减少访问的数据点数目,无需访问整个数据集就能得到Skyline集。理论分析和实验结果表明,本文的算法有很好的渐进性,有效地改善了查询的性能。另外,针对输出结果过多的情况,集中研究了Skyline集的优选策略,从定义和算法的局限性两个方面分析比较了k支配,Skyline频率概念和抽样算法,引入维度权重和Skyline相关度的概念,进一步改进了本文提出的算法,精简了Skyline结果,提高了用户友好度,使Skyline查询结果更加有意义。