有向无环图上小偷定向运动问题的近似多项式时间算法
1. 有向无环图上小偷定向运动问题算法概述
为了简化算法描述,对于不存储任何物品的顶点 $u$,我们会往物品集合 $I$ 中添加一个重量为 0 且利润为 0 的物品,并将其存于 $u$ 中,这样每个顶点至少存储一个物品。假设最小速度 $V_{min}$ 和最大速度 $V_{max}$ 分别为 $\delta$ 和 1(其中 $\delta \in Q^+$ 且 $\delta \leq 1$)。当背包总重量在离开顶点 $u$ 前为 $w$ 时,从 $u$ 到 $v$ 的旅行时间为 $d_{u,v}/\eta$,这里 $\eta = 1 - \frac{(1 - \delta)w}{W}$。
由于有向无环图(DAG)没有环,从起点 $s$ 到终点 $t$ 的每条路径都是简单路径。我们使用拓扑排序对顶点进行索引。因为 $s$ 是起点,所以从图 $G$ 中删除所有从 $s$ 无法到达的顶点;因为 $t$ 是终点,所以删除所有无法到达 $t$ 的顶点。对于顶点 $u$,$u.index$ 表示由拓扑排序确定的顶点索引,$s$ 和 $t$ 分别具有最低和最高的索引,并且从 $s$ 到任意顶点 $u$ 的简单路径上遇到的顶点索引是递增的。我们按索引顺序从 $s$ 开始考虑顶点,并对存储在顶点中的物品进行索引,使物品索引唯一,且对于所有 $x < y$,顶点 $u_x$ 中的物品索引小于顶点 $u_y$ 中的物品索引,设物品为 $i_1, i_2, \cdots, i_{|I|}$。
顶点 $u$ 的父顶点是指那些使得 $(v, u)$ 为图 $G$ 的有向边的顶点 $v$。下面是有向无环图上小偷定向运动问题(ThOP)的算法:
超级会员免费看
订阅专栏 解锁全文

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



