中文

带编辑操作的线性和分配问题

数据结构与算法 2016-03-24 v3 离散数学

摘要

我们考虑通过一系列基本编辑操作(即元素的替换、删除和插入)将一个元素集合变换为另一个元素集合的问题。每种可能的编辑操作都被赋予一个非负代价,而变换的代价通过将其各操作代价求和来度量。该问题的一个解在于定义一种在所有可能变换中代价最小的变换。为了计算这样的解,经典方法是通过扩充两个集合来表示删除和插入操作,使它们大小相同。这使得该问题可表述为线性和分配问题(LSAP),从而找到两个扩充集合之间的最优双射(或置换、完美匹配)。尽管已知 LSAP 可在多项式时间复杂度内高效求解,例如使用匈牙利算法,但处理添加到初始集合中的元素会浪费时间和内存。在本报告中,我们展示该问题可形式化为 LSAP 的扩展,其仅在每个集合中考虑一个附加元素来表示删除和插入操作。该问题的解不再表示为两个扩充集合之间的双射。我们表明所考虑的问题是接近于 LSAP 的二元线性规划(BLP)。虽然它可由任何 BLP 求解器求解,我们提出了一种匈牙利算法的适配版本,改进了先前基于 LSAP 方法所获得的时间和内存复杂度。随着两个集合的大小及其绝对差值的增大,该改进的重要性也随之增加。基于本报告中对该问题的分析,其他经典算法也可被适配。

关键词

引用

@article{arxiv.1603.04380,
  title  = {Linear Sum Assignment with Edition},
  author = {Sébastien Bougleux and Luc Brun},
  journal= {arXiv preprint arXiv:1603.04380},
  year   = {2016}
}