Skip to main content
QUICK REVIEW

[論文レビュー] Subset Sum Made Simple

Konstantinos Koiliaris, Chao Xu|arXiv (Cornell University)|Jul 22, 2018
Complexity and Algorithms in Graphs参考文献 15被引用数 3
ひとこと要約

この論文は、分割統治法と高速フーリエ変換(FFT)を用いた、概念的に単純な新しいアルゴリズムを提示する。このアルゴリズムは、時間計算量$ ilde{O}(ar{u} ar{t})$を達成し、既存の最良の決定的実行時間と一致する。この手法は、入力集合を$ floorar{u} ar{n} ar{t} floor$を法として合同に分割し、各剰余類内で再帰的に部分集合和を計算し、その後FFTを用いた畳み込みにより結果を統合する。

ABSTRACT

Subset Sum is a classical optimization problem taught to undergraduates as an example of an NP-hard problem, which is amenable to dynamic programming, yielding polynomial running time if the input numbers are relatively small. Formally, given a set $S$ of $n$ positive integers and a target integer $t$, the Subset Sum problem is to decide if there is a subset of $S$ that sums up to $t$. Dynamic programming yields an algorithm with running time $O(nt)$. Recently, the authors [SODA '17] improved the running time to $ ilde{O}\bigl(\sqrt{n}t\bigr)$, and it was further improved to $ ilde{O}\bigl(n+t\bigr)$ by a somewhat involved randomized algorithm by Bringmann [SODA '17], where $ ilde{O}$ hides polylogarithmic factors. Here, we present a new and significantly simpler algorithm with running time $ ilde{O}\bigl(\sqrt{n}t\bigr)$. While not the fastest, we believe the new algorithm and analysis are simple enough to be presented in an algorithms class, as a striking example of a divide-and-conquer algorithm that uses FFT to a problem that seems (at first) unrelated. In particular, the algorithm and its analysis can be described in full detail in two pages (see pages 3-5).

研究の動機と目的

  • 状態の最良の決定的時間計算量を達成するが、より単純で直感的なSubset Sum問題のアルゴリズムを提示すること。
  • FFTを非自明な方法で応用し、擬多項式時間計算量を持つ古典的な動的計画法の問題を解く方法を示すこと。
  • 上級アルゴリズムコースに組み込むのに適した、洗練された教えるのに適したアルゴリズムを提供すること。
  • 特にBringmannの確率的アルゴリズムや著者らの以前の手法と比較して、概念的および技術的複雑さを低減すること。
  • 2ページで完全に説明可能な統一的で透明な解析を提供し、教育的可視性を高めること。

提案手法

  • 入力集合$S$を$n$個の正の整数からなるものとし、$b = \lfloor \sqrt{n\log n} \rfloor$個の剰余類に、$x \bmod b$に基づいて分割する。
  • 各剰余類$S_\ell$に対して、要素を$Q_\ell = \{(x - \ell)/b \mid x \in S_\ell\}$に変換することで、問題をより小さな部分集合和のインスタンスに還元する。
  • 標準的な分割統治法を用いて、各$Q_\ell$に対して、基数情報$ ar{S}^{\#}_{u/b}(Q_\ell)$を再帰的に計算する。
  • 各ペア$(z,j) \in \mathcal{S}^{\#}_{u/b}(Q_\ell)$に対して、$zb + \ell j$により結果を元の和に戻すことで、$ ar{S}_u(S_\ell)$を算出する。
  • 各剰余類の部分集合和を、$u$-有界なペアワイズ和演算$\oplus_u$を用いて統合する。この演算はFFTを用いて効率的に実装される。
  • FFTを用いた畳み込みにより、$b = \Theta(\sqrt{n\log n})$であることに着目して、$O(b u \log u)$時間で、各クラス間の部分集合和の和集合を計算する。

実験結果

リサーチクエスチョン

  • RQ1複雑な確率的処理や複雑な再帰構造に依存せずに、$ ar{O}(ar{u} ar{t})$時間計算量を達成する、より単純で決定的なSubset Sumアルゴリズムを設計できるか?
  • RQ2畳み込みを内蔵しない問題であるSubset Sumに、FFTを効果的に応用する方法は何か?
  • RQ3入力を合同で分割し、FFTを用いて結果を効率的に統合する分割統治法を、Subset Sumに設計できるか?
  • RQ4近似的に最適な擬多項式時間計算量を達成するために必要な最小限の概念的オーバーヘッドは何か?
  • RQ5アルゴリズムを十分に透明かつ自己完結的にし、標準的なアルゴリズムコースで教えられるようにできるか?

主な発見

  • 提案されたアルゴリズムは、$u = t$のとき、$O(\sqrt{n\log n}\,u\log u)$時間で、$u$以下のすべての部分集合和を計算し、$\tilde{O}(\sqrt{n}\,t)$という、既存の最良の決定的実行時間と一致する。
  • この結果は、$\lfloor \sqrt{n\log n} \rfloor$を法として入力を合同に分割する洗練された分割統治戦略により達成され、問題サイズを小さくし、効率的なFFTベースの統合を可能にする。
  • 剰余類間の部分集合和の和集合を計算するためにFFTを用いることは、効率性の中心的役割を果たしており、結果の統合コストは$O(b u \log u)$で抑えられ、ここで$b = \lfloor \sqrt{n\log n} \rfloor$である。
  • アルゴリズムは決定的であり、Bringmannの$\tilde{O}(n + t)$アルゴリズムで用いられる複雑な確率的処理や二段階のカラーコーディングを回避しており、教育的および実装的観点からよりアクセスしやすい。
  • 解析は簡潔で、2ページで完全に提示可能であり、上級アルゴリズム教科書やコースへの組み込みに適している。
  • このアルゴリズムは、すべての部分集合和に基数情報を含めるAllSubsetSums問題に一般化可能であり、したがって元のSubset Sum意思決定問題に直接適用可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。