不相交路径分配问题的带建议优先级算法
1. 预备知识
在将优先级框架应用于在线问题 DPA 时,有一个微妙之处需要考虑。我们不希望 DPA 优先级算法接收的第一个输入项(即定义给定实例的基础图 G)成为可以分配优先级的请求。因此,我们将优先级问题 DPA 的请求定义为 $[x, y]_G$ 的形式,其中 $G = (V, E)$ 是某个图,$x \neq y \in V$,并且将 $[x, y]_G$ 与 $[y, x]_G$ 视为相同。这样,基础图就不需要单独传达给算法。
通常,我们会根据基础图所属的图类来区分 DPA 问题的不同变体,例如路径类或树类。我们将所有可能请求的集合定义为 $U := { [x, y]_G | G \in \mathcal{G}, x \neq y \in V(G) }$,其中 $\mathcal{G}$ 是某个任意的图类。DPA 在 $\mathcal{G}$ 上的一个实例就是 $U$ 的一个子集 $I$,满足 $[x, y]_G, [v, w]_H \in I \Rightarrow G = H$,且同一请求在一个实例中不能出现两次。
DPA 的优先级算法会在 $U$ 上选择一个优先级顺序 $\prec$,然后实例 $I$ 会按照这个顺序呈现给算法,即 $\max_{\prec} I$ 最先呈现。固定优先级算法选择一个固定的顺序,而自适应优先级算法在每个请求之后选择一个新的顺序。为了简化表示,我们假设 $\prec$ 是全序,但实际上我们并不关心定义在不同图上的请求之间的顺序关系,因为这些请求不会出现在同一个实例中。
如果每个图 $G \in \mathcal{G}$ 都是无环的,我们可以简化设置。在这样的图中,路径由其端点唯
超级会员免费看
订阅专栏 解锁全文
36

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



