边扩张 k - 中心问题的近似算法
1. 引言
在计算机网络的分布式路由中,每个主机通常会在其路由表中本地保存到其他主机的路由路径信息。若允许每个节点在其路由表中存储 $O(n)$ 个条目,就能确保最短路径路由。然而,现代计算机网络规模庞大,连接着数百万个节点,让每个节点存储网络中其他所有主机的信息是不现实的。因此,现代路由协议(如 OSPF)将网络划分为多个区域,每个节点仅保存同一区域内其他节点的条目,不同区域间的路由通过区域边界路由器组成的骨干网络进行。
我们考虑这样一个图论问题:给定一个无向带权图 $G = (V, E, l)$(其中 $l$ 是边权函数)和一个参数 $k > 0$,我们要找到一个包含 $k$ 个中心节点的集合 $\Pi \subseteq V$,并将每个节点 $v \in V$ 分配给 $\Pi$ 中的一个唯一中心 $\pi_v$。
节点 $u$ 和 $v$ 之间的中心距离定义为:
$d_{\pi}(u, v) = d_l(u, \pi_u) + d_l(\pi_u, \pi_v) + d_l(\pi_v, v)$
其中 $d_l(u, v)$ 表示节点 $u$ 和 $v$ 之间的最短路径距离。节点对 $(u, v)$ 的拉伸比定义为中心距离与最短路径距离的比值 $d_{\pi}(u, v)/d_l(u, v)$。一个解 $(\Pi, {\pi_v} {v \in V})$ 的拉伸比是所有节点对 $u, v \in V$ 中拉伸比的最大值。最小边扩张 $k$ - 中心问题(MEDKC)的目标是找到一个基数至多为 $k$ 的中心节点集合 $\Pi$ 和节点到中心的分配 ${\pi_v} {v \in V}$,使
超级会员免费看
订阅专栏 解锁全文
2535

被折叠的 条评论
为什么被折叠?



