33、二分图流中少量遍数下的匹配算法研究

二分图流中少量遍数下的匹配算法研究

1. 引言

在二分图中寻找最大基数匹配是一个经典问题,通常情况下该问题可在多项式时间内得到最优解。但当图以流的形式呈现时,情况变得复杂。

在流处理场景下,图 $G = (V, E)$ 无法进行随机访问,只能按顺序遍历每条边,即进行一次“遍数”操作。同时,随机访问内存有限,只能存储 $\Theta(n)$ 条边($n = |V|$),这就是半流模型。与传统的随机访问图不同,在流处理中,判断两个顶点是否相邻或获取某个顶点的邻接信息都需要进行一次遍数操作,这可能导致遍数过多,效率低下。

许多匹配算法依赖于寻找和消除增广路径来实现最大匹配。然而,在流处理场景下,无论是简单的广度优先搜索(BFS)和深度优先搜索(DFS),还是最小度启发式算法,都难以保证所需的遍数。

之前的研究中,McGregor 提出了一种随机近似方案,但对近似参数 $k$ 的依赖较强。Eggert 等人给出了确定性算法,从最初的 $O(k^8)$ 遍数改进到了 $O(k^5)$ 遍数。这些算法的基本思想是同时增长多个不相交的交替路径。

2. 主要结果

本文提出了一种新的近似方案,具有 $1 + 1/k$ 的近似保证,且实验表明所需的遍数比之前的算法少两个数量级。理论上,新算法的遍数上限为 $O(kn)$,虽然这个界限依赖于输入大小,原则上不如 $O(k^5)$,但实验结果显示,理论界限与实际性能并无明显关联。例如,当 $k = 9$ 时,新算法在顶点数最多为 $2 × 10^6$ 的实例中,遍数从未超过 94 次,而之前的算法则高达 32000 次以上。

3. 算法创新
3.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值