多項式時間近似スキーム

計算機科学において、多項式時間近似スキーム: polynomial-time approximation schemePTAS)は(大抵NP困難であるような)最適化問題に対する近似アルゴリズムの一種である。

PTASは最適化問題のインスタンスとパラメータ を入力として受け取り、多項式時間内に最適解の 倍以下の解を求めることのできるアルゴリズムである(最大化問題の場合は 倍以上)。例えば、ユークリッド距離に基づく巡回セールスマン問題では、最適解の長さを としたとき、高々 の解を見つけることができる。[1]

PTASの実行時間は、 を固定すると、問題の大きさ の多項式であることが求められるが、 に対しては定められていない。このため、実行時間が オーダーであっても、PTASである。

変形

編集

決定的

編集

PTASアルゴリズムがある現実的な問題は、εを小さくすると多項式の指数部が劇的に大きくなってしまう(例えば   のように)。この問題に対処するひとつの方法が効率的な多項式時間近似スキームEPTAS[2])と呼ばれる、実行時間が    と独立な定数として、  であるようなアルゴリズムである。この場合、どのようなεを選んでも問題の大きさは実行時間に与える影響は等しくなる。しかし、O記法における定数はεに対して任意に大きくなりうる。これに対してより強い制約として、実行時間が問題の大きさ    両方の多項式時間であるものを完全多項式時間近似スキームFPTAS[3])と呼ぶ。 ナップサック問題はFPTASがある問題の例である.

多項式的に有界な目的関数を持つどんな強度にNP困難な最適化問題も、P=NPでない限り、FPTASを持ち得ない。[4] しかし、は真ではない。例えば、P≠NPのとき、2つの制約をもつナップサック問題はFPTASを持たないが、たとえ目的関数が多項式的に有界の場合でも強度にNP困難ではない。[5]

P=NPでない限り、  が成り立つ。すなわち、同じ仮定の下で、APX困難な問題はPTASを持たない。

別の決定論的なPTASの変形として、準多項式時間近似スキームQPTAS[6])がある。QPTASはある固定された   に対して の時間複雑度を持つ。

乱択

編集

PTASを持たない問題が、PTASと似通った特徴を持つ多項式時間乱択近似スキームPRAS[7])を持つことがある。PRASは最適化問題のインスタンスとパラメータ   を入力とし、多項式時間で『高い確率』で最適解の   倍以下のソリューションを生成することのできるアルゴリズムである。『高い確率』とは慣習的に   以上のことであるが、ほとんどの確率的計算複雑度のクラスは、この具体的な値に対してロバストである。PTASと同様にPRASは問題のサイズ   に対して多項式の計算時間を持たねばならないが、  に対してはそうではない。  に対するEPTASと同様の制約を持つものを効率的多項式時間乱択近似スキームEPRAS[8])と呼ぶ。また、FPTASと同様の制約を持つものを完全多項式時間乱択近似スキームFPRAS[9])と呼ぶ。[4]

脚注

編集
  1. ^ Sanjeev Arora, Polynomial-time Approximation Schemes for Euclidean TSP and other Geometric Problems, Journal of the ACM 45(5) 753–782, 1998.
  2. ^ : efficient polynomial-time approximation scheme
  3. ^ : fully polynomial-time approximation scheme
  4. ^ a b Vazirani, Vijay V. (2003). Approximation Algorithms. Berlin: Springer. pp. 294–295. ISBN 3-540-65367-8 
  5. ^ H. Kellerer and U. Pferschy and D. Pisinger (2004). Knapsack Problems. Springer 
  6. ^ : quasi-polynomial-time approximation scheme
  7. ^ : polynomial-time randomized approximation scheme
  8. ^ : efficient polynomial-time randomized approximation scheme
  9. ^ : fully polynomial-time randomized approximation scheme

外部リンク

編集