arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2502.13636cs.DS
收藏

超图匹配的半流式算法

Semi-Streaming Algorithms for Hypergraph Matching

Henrik Reinstädtler, S M Ferdous, Alex Pothen, Bora Uçar, Christian Schulz

AI总结:

针对NP难的超图匹配问题,提出两种单通流式算法,分别基于栈存储潜在匹配边和动态更新单个匹配,在保证特定近似比的同时降低内存消耗,实验表明其解质量和运行时间优于朴素流式及离线贪心算法。

摘要:

我们针对NP难的超图匹配问题提出了两种单通流式算法。第一种算法使用对偶变量选择边,将一小部分潜在匹配边存储在栈中,其近似保证为1/(d(1+ε)),所需内存为O((n/ε)log²n)位,其中n是超图中的顶点数,d是超边中的最大顶点数,ε>0是待选参数。第二种算法在边流式输入时计算、存储并更新单个匹配,其近似比依赖于参数α,最佳近似保证为1/[(2d-1)+2√(d(d-1))],仅需O(n)内存。我们实现了这两种算法,并在两组不同的超图上,将它们与非流式贪心算法和朴素流式算法在解质量、内存消耗和运行时间方面进行了比较。结果表明,面对不利排序时,这些流式算法的解质量远优于朴素算法;此外,在测试问题上,它们的内存需求几何均值降低了13倍,运行时间也优于离线贪心算法。

英文摘要:

We propose two one-pass streaming algorithms for the $\mathcal{NP}$-hard hypergraph matching problem. The first algorithm stores a small subset of potential matching edges in a stack using dual variables to select edges. It has an approximation guarantee of $\frac{1}{d(1+\varepsilon)}$ and requires $\mathcal{O}((\frac{n}{\varepsilon}) \log^2{n})$ bits of memory, where $n$ is the number of vertices in the hypergraph, $d$ is the maximum number of vertices in a hyperedge, and $ε> 0$ is a parameter to be chosen. The second algorithm computes, stores, and updates a single matching as the edges stream, with an approximation ratio dependent on a parameter $α$. Its best approximation guarantee is $\frac{1}{(2d-1) + 2 \sqrt{d(d-1)}}$, and it requires only $\mathcal{O}(n)$ memory. We have implemented both algorithms and compared them with respect to solution quality, memory consumption, and running times on two diverse sets of hypergraphs with a non-streaming greedy and a naive streaming algorithm. Our results show that the streaming algorithms achieve much better solution quality than naive algorithms when facing adverse orderings. Furthermore, these algorithms reduce the memory required by a factor of 13 in the geometric mean on our test problems, and also outperform the offline Greedy algorithm in running time.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑