[发明专利]基于度量k最近对的景点和酒店最佳配对方法有效
申请号: | 201510152106.8 | 申请日: | 2015-04-01 |
公开(公告)号: | CN104794175B | 公开(公告)日: | 2018-01-23 |
发明(设计)人: | 高云君;陈璐;邢郅豪;柳晴 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q50/14 |
代理公司: | 杭州天正专利事务所有限公司33201 | 代理人: | 王兵,黄美娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 度量 最近 景点 酒店 最佳 配对 方法 | ||
技术领域
本发明涉及数据库的索引与查询技术,特别是基于度量k最近对的景点和酒店最佳配对方法。
背景技术
查询/搜索是计算机科学的基本问题,存在于目前几乎所有的计算机应用领域。现有的查询处理大多关注欧氏空间,并用欧式距离来度量对象之间的邻近关系;但在许多的实际应用,如地理信息系统、数据挖掘、模式识别,对象之间的邻近关系并不能用欧式距离来度量,而需要用借助其它的距离度量方式。例如,路网上的两个位置间的距离度量需要借助于路网距离,即连接两点的最短路径长度;字符串之间的距离度量需要使用编辑距离。
为此,我们需要借助度量空间。度量空间是支持任意距离函数的一种更为广泛的空间,其距离函数需满足非负性、对称性和三角不等式特性。为了快速、有效地组织、存储和访问度量空间数据,专家学者们提出了大量的索引方式。迄今为止,影响最大、应用最广泛的是M树。M树是Ciaccia、Patella和Zezula在1997年提出的,它是一棵基于外存的平衡树,其更新操作代价小且无需重构树。
最近邻对查询是一种典型的空间查询类型,它在地理信息系统、数据挖掘、推荐系统等领域具有广阔的应用前景。最近邻对查询从两个数据集中查找距离最近的一组点对,而k最近对查询则是找出距离最近的k组点对。其可以用于景点和酒店最佳配对,即返回相对位置最近的k组景点和酒店组合,从而为旅游行者提供合理推荐。其中,景点和酒店之间的距离为路网距离。
目前,针对k最近对查询处理方法大多针对欧式空间,并利用欧式空间的几何特性以加速查询;但不幸的是,这些几何特性在度量空间不存在。所以,这些方法不能用来解决度量k最近对查询。此外,已有的度量k最近对查询方法是基于内存的方法,即假设整个数据集可以保存在内存中,因而适用性有限,扩展性差,不能用来处理大规模数据。
发明内容
本发明要克服现有技术的上述缺点,提供基于度量k最近对的景点和酒店最佳配对方法。
本发明解决其技术问题所采用的技术方案步骤如下:
步骤(1):收集景点和酒店的位置数据,然后对景点和酒店数据集分别建立索引,并估计第k个最近对的距离;
步骤(2):遍历景点和酒店数据集索引,并修剪查找空间,以获得多个景点和酒店组合,其组合个数不大于k;
步骤(3):补全k最近对查询结果集,以找到k个最近的景点和酒店组合;
步骤(4):向用户返回步骤(3)中所得的k个景点和酒店组合,以供用户选择最佳的景点和酒店组合。
步骤(1)中每一个景点或酒店是通过一个位置坐标数据点表示;采用M树对景点集和酒店集分别进行索引,M树中每个结点项包含一个中心数据点、结点覆盖区域半径、以及中心数据点到其父结点项的中心数据点的距离信息;并利用统计的景点数据集和酒店数据集之间的距离分布函数F()计算估计的第k个最近对距离,即第k个最近景点和酒店组合的距离,具体的估计距离为min{r|F(r)≥k}。
步骤(2)中采用深度优先遍历和最佳优先遍历结合的方式遍历两棵M树;深度优先遍历方式即自顶而下同时遍历两棵M树,而最佳优先遍历则按照结点项组合间最小距离升序来同时遍历两棵M树;结点项组合间最小距离被定义为两个结点项数据点中心点间的距离减去两个结点项覆盖区域半径;根据结点项组合间最小距离分为两种遍历情况:
2.1)结点项组合间最小距离小于等于0,则采用深度优先遍历;
2.2)结点项组合间最小距离大于0,则采用最佳优先遍历;
在遍历过程中,利用估计的第k个最近对距离以及k最近对距离上界对查找空间进行剪裁;若结点项组合间近似最小距离或者最小距离大于估计的第k个最近对距离或者k最近对距离上界,则对该结点项组合进行剪裁;其中近似最小距离可以通过M树中存储的距离以及已计算的父结点项组合间距离,并根据度量空间的三角不等特性计算所得,且近似最小距离是最小距离的下界值;k最近对距离上界初始化为无穷大,并在查找过程中不断被更新收敛;最后,利用未被剪裁的景点和酒店组合更新查询结果以及k最近对距离上界。
步骤(3)中对步骤(2)中所获得的初步查询结果集进行补全,根据步骤(2)中所获的景点和酒店组合的个数分为两种情况:
3.1)步骤(2)中所获得的景点和酒店组合个数等于k个,则说明估计的第k个最近对距离精确或偏大;因而,无需对步骤(2)中所获得的查询结果集进行补全,也就是说步骤(2)中所得的k个景点和酒店的组合就是最终查询结果集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510152106.8/2.html,转载请声明来源钻瓜专利网。