基于局部landmark的近似最短距离计算

1. 研究动机

1.1 问题计算思想

对于求最短距离问题,准确的方法需要的信息量比较大,使得在传统的方法中进行在线查询比较不灵活,所以我们只需计算它们的近似最短距离。现有方法的计算思想:

(1)  选取一些顶点作为地标标签;

(2)  存储每个顶点到所有地标标签的实际最短距离;

(3)  任意一对顶点(s, t)之间的距离D(s, t) = min{D(s, li)+D(li, t)},其中li为第i个地标标签。

1.2 地标标签的选择

地标标签的选择存在的问题:

(1)   选取最优地标标签集合是NP-hard问题;

(2)   选取最小集合覆盖为NP-complete问题。

一下四种方法均可作为我们的地标标签的选择方案:

(1)  Random selection

(2)  Degree based selection

(3)  Centrality based selection

(4)  Coverage based selection

1.3 存在的问题

两个相距较近的顶点距所有的地标标签太远而造成误差过大。如下图所示,顶点l为地标标签,而当D(s, t) <<D(l, s) + D(l, t)时就会造成较大误差。


2. 改进方法

上述方法建立的标签成为全局地标标签,作者通过增加局部标签来降低错误率。计算思想:

(1)  选取若干顶点作为全局地标标签;

(2)  从每一个顶点出发建立最短路径生成树;

(3)  给定查询(s, t),在生成树中计算结点s与结点t的LCA(最小公共祖先);计算方法参考RMQ(RangeMinimum Query);

(4)  查询点(s, t)之间的近似最短距离D(s, t) = min{D(s, li) + D(s, li) – 2D(lca, li)},其中li为地标标签,lca为结点s与结点t的最小公共祖先。

优化1:压缩图

(1) 压缩Graph Incident Tree。GIT就是图中的树,如下图所示,红色区域内为一棵GIT树。对于该树只保留顶点a以及树中所有顶点到a的距离。

(2) 压缩Chain Nodes。如图所示,绿色部分为一个Chain Nodes。删除顶点i和j并存储顶点i和j到顶点h和k的距离。

优化2:local search

             为了进一步减小错误率,将在查询点s和t到地标标签(包括全局和局部)上的所有顶点都向外扩展h步,若有交集且通过这些顶点使得s与t的距离变小,则最短距离更接近于真实值。

 

论文:Approximate Shortest Distance Computing: A Query-Dependent LocalLandmark Scheme




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值