已知关键字的最优径搜索.docxVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
已知关键字的最优径搜索

已知关键字的最优路径搜索12210240025李玉娇在地图服务中,找到用户需要的最优路径是一个非常重要的问题。当一个用户想要在短期时间内游览一个城市,他也许想要在寻找到一个经过超市,饭店和酒吧的一条最受欢迎的路径。然而,已有的工作并不能够提供这样一个算法。这篇论文就是从这个角度,定义了一个问题,叫做KOR,即keyword-aware optimal route。需要找到一条覆盖用户提供所有的关键词,满足预算限制,最优化目标函数。对KOR查询的运算是一个NP-hard的问题。论文提出了两种近似算法OSScaling和BuckeBound。最后从另一个角度提出了贪心算法。通过实验数据可以证明,论文提出的算法的性能可以解决KOR查询问题,并对此问题的准确性做了一个评估。问题形式化表示查询定义:一个KOR 查询定义在一张图G上,查询输入包括5个参数, , , 和 f,其中是G中路径的起始点是目标结点是关键字的集合是预算的限制是路径目标函数定义一:一张图 G = (V,E) 包括结点V的集合和边的集合。每一个结点表示一个与关键字()相关的实地结点,每一个边E表示两个地点的一条直接的路径,其中从到的路径表示为。定义二:路径表示从到的一条有序路径。定义三:目标分数和预算分数对于一条路径,目标分数定义为R上所有边目标分数的总和,即,预算分数定义为R上所有边预算分数的总和,即定义四:已经关键字最优路径(KOR)查询已知图G,已知关键字最优路径查询,其中是起始点,是目标结点,是关键字的集合,表示预算的限制,目标为找到一条路径R从到从而示例:下图是图G的一个示例,分别用不同的形状代表了5种不同的关键字,每条边上括号外的为目标分数,括号内的为预算分数。定理1:解决KOR问题是NP-hard具体证明不再一一列举,简单的说就是WCSPP问题(Weight-constrained Shortest Path Problem)是给定一张图中每条边对应着长度和权值,WCSPP就是找到一条权值不超过预算的长度最小的路径。而GTSP问题(Generalized Traveling Salesman Problem)中结点被聚类成为组,GTSP找到一条曾经路过过各个组的长度最短的路径。所有同论文中提到的KOR相比,这两个问题均少了一个输入参数,而已经证明,这两个问题都是NP-hard问题,所有KOR问题也是NP-hard问题。算法介绍2.1预处理使用Floyd-Warshall算法为每两个结点计算最小目标函数的路径;其中表示此路径对应的目标函数值,表示此路径对应的预算函数值。最小预算函数的路径;其中表示此路径对应的目标函数值,表示此路径对应的预算函数值。计算可知预处理的空间复杂度为2.2近似算法OSScaling首先,考虑一下在不进行任何优化的情况下,这个问题应该怎么解决。我们使用一个优先队列存储已经遍历了一部分的路径。每次我们从队列中选出一个部分路径,然后,向外延伸这个路径直到到达目标结点,在此期间,保证预算函数不能够超过预算。记录所有可行的路径,最后从中选中最好的一个作为这个查询的结果。但是,这么做的话时间复杂度太高了,为。其中是 G中所有边的预算值中的最小值,是G中最大的出度。在OSScaling算法中,我们首先对G中所有边的目标函数以参数进行缩放缩放参数其中表示G中最小的目标函数值,表示G中所有边中的最小预算函数值,是一个范围在(0, 1)的参数。对每一个边,我们把缩放为,我们把经过缩放目标函数值后的图称为缩放图,用GS表示。对于GS中的一个路径我们定义它的目标函数值为。定义5:对于每个结点,我们都存有一个标签的列表,这些标签分别对应于一条路径(从初始结点到结点)。这个标签被定义为,格式为,其中是覆盖的关键词。,和分别表示的缩放后目标函数值,原始目标函数值和预算值。定义6:和分别表示从初始结点到结点的两个不同路径对应的标签。如果,和,则我们称支配。引理1:一个结点上最多有个标签,其中m是查询关键词的个数,是缩放参数,和分别表示G所有边中最小的预算值,最大的目标函数值和最小的目标函数值。定义7:对于结点上的一个标签,对于G中结点的出边邻居结点,我们建立一个新的标签定义8:和分别为起始结点到结点和的两个路径对应的标签((和可以是相同或者不同的结点)。如果或者并且或,并且);其余情况则不满足这个条件按照和的字母顺序,我们称的序号比小,用表示。下面,就可以进行算法的描述了。这个算法的准则是,从已有的局部路径中挑出最好的一个来,进行延展。所以,我们首先在初始结点处新建一个标签,然后建立那些不被其他标签支配的新标签。我们总是根据定义8找到序号最小的标签进行计算。如果新运算出的标签不能被其他已有的标签支配,我们就用这个标签检测是否有已有的标签被这个标签所支配。我们重复这

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档