CN107766473A - 最优k组合轮廓查询方法 - Google Patents
最优k组合轮廓查询方法 Download PDFInfo
- Publication number
- CN107766473A CN107766473A CN201710928801.8A CN201710928801A CN107766473A CN 107766473 A CN107766473 A CN 107766473A CN 201710928801 A CN201710928801 A CN 201710928801A CN 107766473 A CN107766473 A CN 107766473A
- Authority
- CN
- China
- Prior art keywords
- tuple
- data
- combination
- gskyline
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种最优k组合轮廓查询方法,实施步骤包括:输入用于组合轮廓查询的数据集D、组合轮廓GSkyline的组合大小l以及参数k;计算数据集D中不被其他数据元组所支配的数据元组Skyline;对数据集D根据l组合获取组合轮廓GSkyline;针对数据集D中数据元组Q计算位向量[Q];针对组合轮廓GSkyline中组合元组G计算分数,将分数最大的k个组合元组G加入查询结果Sk并输出。本发明能够实现对组合Skyline完成最优k查询,能够极大的减少组合元组分数的计算量,节约计算资源并且减少运算时间,而且还可以用到各类基于组合查询的推荐系统的实现,本发明能够加快对组合查询结果优选的处理速度;实时返回查询结果,从而提高用户的查询体验。
Description
技术领域
本发明涉及大规模数据轮廓查询、推荐系统等应用领域,具体涉及一种最优k组合轮廓查询方法,用于对组合轮廓查询的结果进行最优k查询。
背景技术
轮廓查询也被称为Skyline查询,最早作为最大化向量问题的研究,是一个典型的多目标优化问题,目前在数据库领域引起了广泛关注。Skyline查询是指从给定的一个N维空间的对象集合S中选择一个子集,该子集中的点均不能被S中其它的点所支配,满足此条件的点称为SP(Skyline Point)。此处的支配关系指在N维空间内,若存在两个对象P和Q,对象P的N维数据中的每一维都优于或等于Q,且至少存在一个维度要优于Q,则称P支配Q。
在大数据的潮流中,相比于单点查询,越来越多的应用关注于数据组合。比如在股票推荐系统中,每支股票都有收益率和风险。如何组合多支股票使得整体收益率最高而风险最低成为当前的一个研究热点。又比如在当前非常流行的网上体育竞技游戏中,玩家需要选择运动员构建自己的队伍。以NBA为例,每个运动员都被一个数据元组所表示。这个数据元组的属性包括得分、篮板、助攻等等。玩家需要组合不同的队员构建出一支队伍参加网上竞技,这支队伍从整体上看不能被其他队伍所支配。其他的数据组合应用还包括如何挑选软件开发团队、项目评审专家组等等。传统的Skyline单点查询只能查询不被其他元组所支配的单点元组,所以不能满足需要分析元组组合的查询需求。针对这个问题学术界展开了组合轮廓查询的研究。
相比传统的Skyline查询研究,组合Skyline查询的研究才刚刚起步。研究发现,组合Skyline的输出可能是非常大的,这极大地限制了组合Skyline查询的实用性。如何有效地限制输出结果数量并且遴选出最有价值的组合Skyline结果,是一个亟待解决却又充满挑战的难题。为此,提出了最优k组合轮廓查询的概念,并且创新性地首次提出了高效解决最优k组合Skyline查询的方法。然而,如何有效地限制输出结果数量并且遴选出最有价值的组合Skyline结果,尤其是如何高效解决最优k组合Skyline查询问题,已经成为一项亟待解决却又充满挑战的难题。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种最优k组合轮廓查询方法,本发明方法能够实现对组合Skyline完成最优k查询,通过只计算中Skyline的位向量和使用位运算,能够极大的减少组合元组分数的计算量,节约计算资源并且减少运算时间,本发明方法不但能够用于最优k组合轮廓查询,同样可以用到各类基于组合查询的推荐系统的实现,能够加快对组合查询结果优选的处理速度;实时返回查询结果,从而提高用户的查询体验。
为了解决上述技术问题,本发明采用的技术方案为:
一种最优k组合轮廓查询方法,其特征在于实施步骤包括:
1)输入用于组合轮廓查询的数据集D、组合轮廓GSkyline的组合大小l以及参数k;数据集D包含n个数据元组的数据集D={Q1,Q2,...,Qn},其中第i个数据元组的形式为为数据元组Qi的第j个属性值,d为数据元组的属性数目;组合大小为l的组合轮廓GSkyline包含了所有组合大小为l个数据元组的组合,并且这些数据元组组合不被其他相同大小的数据元组组合所支配,对于两个元组Qj和Qi,Qj支配Qi为当且仅当Qj在所有属性都优于或等于Qi,并且至少在一个属性上严格优于Qi,Qj支配Qi表示为
2)计算数据集D中不被其他数据元组所支配的数据元组Skyline;
3)基于组合轮廓GSkyline的组合大小l,对数据集D中的数据元组按照组合大小l个进行组合获取组合轮廓GSkyline;
4)针对数据集D中的每一个数据元组Q,根据该数据元组Q是否属于数据集D中不被其他数据元组所支配的数据元组Skyline来计算该数据元组Q的位向量[Q];
5)针对组合轮廓GSkyline中的每一个组合元组G={Q1,Q2,...,Ql},通过预设的分数计算函数score计算组合元组G的分数score(G),其中第i个数据元组的形式为为数据元组Qi的第j个属性值,d为数据元组的属性数目,score(G)等于数据元组Q的各个属性值[Q1]|[Q2]|...|[Ql]中所包含“1”的个数;
6)将分数score(G)最大的k个组合元组G加入查询结果Sk,将查询结果Sk输出。
优选地,步骤2)中计算该数据元组Q的位向量[Q]的函数表达式如式(1)所示;
式(1)中,为数据元组Q的位向量,Skyline为数据集D中不被其他数据元组所支配的数据元组,Others为数据集D中除Skyline以外的数据元组;数据元组Q的位向量总共有|D|位、且每一位对应着数据集D中的一个数据元组,如果一个数据元组Qj被该数据元组Q支配,则该数据元组Q的位向量的第j位被设置为1,否则该数据元组Q的位向量的第j位被设置为0。
优选地,步骤3)中组合获取组合轮廓GSkyline的函数表达式如式(2)所示;
式(2)中,GSkyline为组合轮廓;f为预设的严格单调的聚合函数,聚合函数f严格单调是指对于两个包含相同数目元组的组合元组Q,Q′而言有当且仅当对于任意有且存在1≤λ≤l满足G,G′表示两个包含相同数目元组的组合元组,定义当且仅当如果一个大小为l的组合元组G属于GSkyline,那么对于同样大小的任意组合G′满足l为组合轮廓GSkyline的组合大小。
优选地,步骤5)中预设的分数计算函数score的函数表达式如式(3)所示;
式(3)中,score(G)为组合元组G的分数,Q为数据集D中的数据元组,D表示数据集D,Q,Q′为两个包含相同数目元组的组合元组。
本发明最优k组合轮廓查询方法,通过采用位运算避免了在每次计算组合元组的分数时都要重复计算每个元组所支配的元组个数,因此能够极大地减少计算量,本发明通过只计算数据集的Skyline中所包含元组的位向量,能够避免计算中所有元组的位向量,极大降低了内存存储空间且显著地减少了计算量。采用本发明可以取得以下效果:
1、能够减少内存存储空间:通过计算数据集的Skyline中所包含的元组的位向量能够避免计算中所有元组的位向量能够极大的减少所需要存储位向量的存储空间;
2、能够减少运算时间:通过使用位运算避免了在每次计算组合元组分时时候都要重复计算每个元组所支配的元组个数能够极大的减少计算量,减少运算时间;
3、能够控制结果输出:通过调节参数k,控制组合Skyline的输出个数。根据用户自定义的查询需求,输出分数最高的k个组合。
附图说明
图1为本发明实施例输入的数据集D。
图2为本发明实施例方法的基本流程示意图。
图3为本发明实施例得到的组合轮廓GSkyline。
图4为本发明实施例得到的位向量。
图5为本发明实施例得到的查询结果Sk。
图6为本发明实施例的性能对比曲线示意图。
具体实施方式
下文将以图1所示数据集D为例,对本发明最优k组合轮廓查询方法进行进一步查询。参见图1,数据集D={Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10},其中每一个数据元组包含三个属性d1~d3,以数据元组Qi(i=1)为例,其对应的d1~d3三个属性值分别为10、0、0。
如图2所示,本实施例最优k组合轮廓查询方法的实施步骤包括:
1)输入用于组合轮廓查询的数据集D、组合轮廓GSkyline的组合大小l以及参数k;数据集D包含n个数据元组的数据集D={Q1,Q2,...,Qn},其中第i个数据元组的形式为为数据元组Qi的第j个属性值,d为数据元组的属性数目;大小为l的组合轮廓GSkyline包含了所有l个数据元组组合并且这些数据元组组合不被其他相同大小的数据元组组合所支配,对于两个元组Qj和Qi,Qj支配Qi为当且仅当Qj在所有属性都优于或等于Qi,并且至少在一个属性上严格优于Qi,Qj支配Qi表示为
2)计算数据集D中不被其他数据元组所支配的数据元组Skyline;
3)基于组合轮廓GSkyline的组合大小l,对数据集D中的数据元组按照组合大小l个进行组合获取组合轮廓GSkyline,本实施例中,组合轮廓GSkyline的组合大小l的值为2,因此对数据集D中的数据元组按照2个为单位进行组合,得到的组合轮廓GSkyline如图3所示;
4)针对数据集D中的每一个数据元组Q,根据该数据元组Q是否属于数据集D中不被其他数据元组所支配的数据元组Skyline来计算该数据元组Q的位向量
5)针对组合轮廓GSkyline中的每一个组合元组G={Q1,Q2,...,Ql},通过预设的分数计算函数score计算组合元组G的分数score(G),其中第i个数据元组的形式为为数据元组Qi的第j个属性值,d为数据元组的属性数目,score(G)等于数据元组Q的各个属性值[Q1]|[Q2]|...|[Ql]中所包含“1”的个数;本实施例中,最终针对数据集D中的每一个数据元组Q计算该数据元组Q的位向量[Q]如图4所示;
6)将分数score(G)最大的k个组合元组G加入查询结果Sk,将查询结果Sk输出。本实施例中,参数k取值为2,最终得到的查询结果Sk如图5所示。
本实施例中,步骤2)中计算该数据元组Q的位向量的函数表达式如式(1)所示;
式(1)中,为数据元组Q的位向量,Skyline为数据集D中不被其他数据元组所支配的数据元组,Others为数据集D中除Skyline以外的数据元组;数据元组Q的位向量[Q]总共有|D|位、且每一位对应着数据集D中的一个数据元组,如果一个数据元组Qj被该数据元组Q支配,则该数据元组Q的位向量[Q]的第j位被设置为1,否则该数据元组Q的位向量[Q]的第j位被设置为0。假设G∈GSkyline,并且Qj∈Skyline,如果使用Qj代替Qi得到新的组合标记为G′。假设可以得到因此与G∈GSkyline矛盾。可证定理:如果对于任意的Qi∈G,可以得到Qi∈Skyline或者存在Qj∈G并且Qj∈Skyline使得本实施例中,基于上述定理对于数据集D中的每一个数据元组Q按照公式(1)计算数据元组Q的位向量
本实施例中,步骤3)中组合获取组合轮廓GSkyline的函数表达式如式(2)所示;
式(2)中,GSkyline为组合轮廓;f为预设的严格单调的聚合函数,聚合函数f严格单调是指对于两个包含相同数目元组的组合元组Q,Q′而言有当且仅当对于任意i∈[1,l]有且存在1≤λ≤l满足G,G′表示两个包含相同数目元组的组合元组,定义当且仅当如果一个大小为l的组合元组G属于GSkyline,那么对于同样大小的任意组合G′满足 表示对于聚合函数f而言,组合元组G′不支配组合元组G,l为组合轮廓GSkyline的组合大小。因此,组合大小为l的GSkyline包含了所有组合大小为l个元组的组合,并且这些元组组合不被其他相同大小的元组组合所支配。
本实施例中,步骤5)中预设的分数计算函数score的函数表达式如式(3)所示;
式(3)中,score(G)为组合元组G的分数,Q为数据集D中的数据元组,D表示数据集D,Q,Q′为两个包含相同数目元组的组合元组。一个组合元组G的分数计算方式是在数据集D-G中找出被组合G中点所支配的点,这些点的数目就是组合元组G的分数。
本实施例中,步骤6)将分数score(G)最大的k个组合元组G加入查询结果Sk,Sk满足:
G为查询结果中的组合元组,G′为和组合元组G包含相同数目元组的组合元组,GSkyline为组合轮廓;Sk为查询结果,score(G)为组合元组G的分数,score(G′)为组合元组G′的分数。
为了对本实施例最优k组合轮廓查询方法的性能进行验证,将本实施例最优k组合轮廓查询方法(k-SGQ)和暴力方法(brute)利用不同的参数k、不同大小的数据集D和不同参数l来验证。其中,图6(a)为参数k(Top-k(k))取值分别为4、8、16、32的性能对比,图6(b)为数据集D的大小(Number of points(n))取值分别为300、600、900、1191的性能对比,图6(c)为参数l(Group Size(l))取值分别为2、3、4、5的性能对比,对比可知,本实施例最优k组合轮廓查询方法(k-SGQ)比暴力方法(brute)速度快1到2个数量级。
综上所述,采用本实施例最优k组合轮廓查询方法能够实现对组合Skyline完成最优k查询。通过只计算中Skyline的位向量和使用位运算,能够极大的减少组合元组分数的计算量,节约计算资源并且减少运算时间。本实施例最优k组合轮廓查询方法不但能够用于上面介绍的最优k组合轮廓查询,同样可以用到各类基于组合查询的推荐系统的实现。本实施例能够加快对组合查询结果优选的处理速度;实时返回查询结果,从而提高用户的查询体验。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种最优k组合轮廓查询方法,其特征在于实施步骤包括:
1)输入用于组合轮廓查询的数据集D、组合轮廓GSkyline的组合大小l以及参数k;数据集D包含n个数据元组的数据集D={Q1,Q2,...,Qn},其中第i个数据元组的形式为 为数据元组Qi的第j个属性值,d为数据元组的属性数目;组合大小为l的组合轮廓GSkyline包含了所有组合大小为l的数据元组组合,并且这些数据元组组合不被其他相同大小的数据元组组合所支配,对于两个元组Qj和Qi,Qj支配Qi为当且仅当Qj在所有属性都优于或等于Qi,并且至少在一个属性上严格优于Qi,Qj支配Qi表示为Qj<Qi;
2)计算数据集D中不被其他数据元组所支配的数据元组Skyline;
3)基于组合轮廓GSkyline的组合大小l,对数据集D中的数据元组按照组合大小l个进行组合获取组合轮廓GSkyline;
4)针对数据集D中的每一个数据元组Q,根据该数据元组Q是否属于数据集D中不被其他数据元组所支配的数据元组Skyline来计算该数据元组Q的位向量[Q];
5)针对组合轮廓GSkyline中的每一个组合元组G={Q1,Q2,...,Ql},通过预设的分数计算函数score计算组合元组G的分数score(G),其中第i个数据元组的形式为 为数据元组Qi的第j个属性值,d为数据元组的属性数目,score(G)等于数据元组Q的各个属性值[Q1]|[Q2]|...|[Ql]中所包含“1”的个数;
6)将分数score(G)最大的k个组合元组G加入查询结果Sk,将查询结果Sk输出。
2.根据权利要求1所述的最优k组合轮廓查询方法,其特征在于,步骤2)中计算该数据元组Q的位向量的函数表达式如式(1)所示;
<mrow>
<mo>&lsqb;</mo>
<mi>Q</mi>
<mo>&rsqb;</mo>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>&lsqb;</mo>
<mi>Q</mi>
<mo>&rsqb;</mo>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>Q</mi>
<mo>&Element;</mo>
<mi>S</mi>
<mi>k</mi>
<mi>y</mi>
<mi>l</mi>
<mi>i</mi>
<mi>n</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mn>0...0</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>O</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>s</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
式(1)中,[Q]为数据元组Q的位向量,Skyline为数据集D中不被其他数据元组所支配的数据元组,Others为数据集D中除Skyline以外的数据元组;数据元组Q的位向量[Q]总共有|D|位、且每一位对应着数据集D中的一个数据元组,如果一个数据元组Qj被该数据元组Q支配,则该数据元组Q的位向量[Q]的第j位被设置为1,否则该数据元组Q的位向量[Q]的第j位被设置为0。
3.根据权利要求1所述的最优k组合轮廓查询方法,其特征在于,步骤3)中组合获取组合轮廓GSkyline的函数表达式如式(2)所示;
式(2)中,GSkyline为组合轮廓;f为预设的严格单调的聚合函数,聚合函数f严格单调是指:对于两个包含相同数目元组的组合元组Q,Q′而言有当且仅当对于任意有并且存在1≤λ≤l满足G,G′表示两个包含相同数目元组的组合元组,定义G<fG′当且仅当Q<Q′,如果一个大小为l的组合元组G属于GSkyline,那么对于同样大小的任意组合G′满足l为组合轮廓GSkyline的组合大小。
4.根据权利要求1所述的最优k组合轮廓查询方法,其特征在于,步骤5)中预设的分数计算函数score的函数表达式如式(3)所示;
式(3)中,score(G)为组合元组G的分数,Q为数据集D中的数据元组,D表示数据集D,Q,Q′为两个包含相同数目元组的组合元组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710928801.8A CN107766473A (zh) | 2017-10-09 | 2017-10-09 | 最优k组合轮廓查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710928801.8A CN107766473A (zh) | 2017-10-09 | 2017-10-09 | 最优k组合轮廓查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766473A true CN107766473A (zh) | 2018-03-06 |
Family
ID=61267168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710928801.8A Pending CN107766473A (zh) | 2017-10-09 | 2017-10-09 | 最优k组合轮廓查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766473A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945283A (zh) * | 2012-11-19 | 2013-02-27 | 武汉大学 | 一种语义Web服务组合方法 |
CN103970871A (zh) * | 2014-05-12 | 2014-08-06 | 华中科技大学 | 存储系统中基于溯源信息的文件元数据查询方法与系统 |
-
2017
- 2017-10-09 CN CN201710928801.8A patent/CN107766473A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945283A (zh) * | 2012-11-19 | 2013-02-27 | 武汉大学 | 一种语义Web服务组合方法 |
CN103970871A (zh) * | 2014-05-12 | 2014-08-06 | 华中科技大学 | 存储系统中基于溯源信息的文件元数据查询方法与系统 |
Non-Patent Citations (2)
Title |
---|
HAOYANG ZHU 等: ""Parallelization of group-based skyline computation formulti-core processors"", 《CONCURRENCY AND COMPUTATION:PRACTICE AND EXPERIENCE BANNER》 * |
HAOYANG ZHU等: ""Top-k Skyline Groups Queries"", 《20TH EDBT 2017:VENICE,ITALY》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778227B (zh) | 从检索图像中筛选有用图像的方法 | |
CN103605765B (zh) | 一种基于聚类紧凑特征的海量图像检索系统 | |
CN103390063B (zh) | 一种基于蚁群算法和概率超图的相关反馈图像检索方法 | |
Rescher | Peirce and the Economy of Research | |
CN104361113B (zh) | 一种内存‑闪存混合存储模式下的olap查询优化方法 | |
van Kaick et al. | Bilateral maps for partial matching | |
CN104317904B (zh) | 一种带权重社会网络的泛化方法 | |
Lyu et al. | Improved self-adaptive bat algorithm with step-control and mutation mechanisms | |
CN105373633A (zh) | 位置感知订阅/发布系统的top-k订阅查询匹配方法 | |
Wang et al. | Integrating clustering and ranking on hybrid heterogeneous information network | |
CN108833302A (zh) | 云环境下基于模糊聚类及严格双边匹配的资源分配方法 | |
Cui et al. | Identifying the most informative features using a structurally interacting elastic net | |
Wang et al. | Topic scene graph generation by attention distillation from caption | |
CN109299301A (zh) | 一种基于形状分布和曲度的三维模型检索方法 | |
Piwowarski et al. | Exploring a multidimensional representation of documents and queries (extended version) | |
CN102096664A (zh) | 一种报表生成方法 | |
CN104462018B (zh) | 一种基于多维关联函数的相似实例检索方法 | |
CN103440332B (zh) | 一种基于关系矩阵正则化增强表示的图像检索方法 | |
Wu et al. | Explainable data transformation recommendation for automatic visualization | |
CN107766473A (zh) | 最优k组合轮廓查询方法 | |
CN105760549A (zh) | 基于属性图模型的近邻查询方法 | |
CN107169114A (zh) | 一种海量数据多维排序搜索方法 | |
Yousefi et al. | Advanced putting metrics in golf | |
Lin et al. | Learning to rank with groups | |
CN105786622A (zh) | 一种云环境下用于实时协同计算的节点选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |