指数アルゴリズムが、実用的なサイズの多項式アルゴリズムよりも高速に実行される問題の例は?


13

実際の問題のサイズでは、指数アルゴリズムが最もよく知られている多項式時間よりもはるかに高速に実行れる問題を知っていますか(少なくともある程度はよく知られています)。

たとえば、問題の実用的なサイズ*がであり、2つの既知のアルゴリズムがあると仮定します。1つは2 nで、もう1つは定数cに対してn cです。明らかにc > 15の場合、指数アルゴリズムが優先されます。n=1002nnccc>15

*実際のサイズとは、現実の世界で一般的に見られるものを意味すると思います。ネットワーク上の列車の数と同様。


1
パラメータ化された複雑さの文献で探しているものを見つけることができると思います。
カベ14

線形アルゴリズムの場合、一般に重要ではなく複雑さからしばしば省略される定数乗数がありますが、非常に高いと思われるのは、線形であるが、最悪の場合は5000 Nのようなインプレースマージでした。これらのシナリオでは、サイズがsqrt(5000)未満の場合、N ^ 2が5000 N未満の大きな使用可能領域と、nがログ5000未満の場合、2 ^ nの方が高速な小さなドメインがあります
Grady Player

回答:


13

線形計画法のシンプレックスアルゴリズムについて 多くの場合、実際に使用されます。

編集して追加:実際のサイズの敵対インスタンスでは高速に実行されるのではなく、実際のインスタンス/配布で効率的に実行される「最悪の場合の指数アルゴリズム」に近いと思います。


4
@diesalbla-それは正確なフォーラムに依存します。ウィキペディアを引用して、「1972年に、Klee and Minty [32]は、ダンツィッヒによって定式化されたシンプレックス法の最悪の複雑さが指数時間であることを示す例を示しました」。
RB 14


-3

(非確率的/正確な)素性の検出/テストに関するいくつかの例がありますAKSアルゴリズムは、素数のための最初のアルゴリズムは、それが「小さな」の入力のためのいくつかの指数時間アルゴリズムに対する好意的に競合しないP.であることが示さテストしていました。これを示すには一般に、実際にアルゴリズムを実装する必要があり、これは難しい課題であり、実装固有の側面に依存する可能性があるため、詳細はややトリッキーです。

このcs.seの質問に関する詳細情報/詳細/参照:


6
私が知る限り、AKSが実際に競合するアルゴリズムは、ランダム化多項式(Miller–Rabin、ECPP)または決定論的準多項式(Adleman–Pomerance–Rumeley)のいずれかです。指数関数的な時間の近くではない。
エミールイェジャベクはモニカをサポートします14

6
実際に使用されるMiller–Rabinのランダムバージョンは、RHに依存しません。
エミールイェジャベクはモニカをサポートします14

5
それはすべて非常に真実ですが、元の質問とは何の関係もありません。
エミールイェジャベクはモニカをサポートします14

2
はい、すべて知っています。そして3度目に、これは無関係です。この質問では、既知の多項式時間アルゴリズム(ここではAKS)と実際に競合する指数時間アルゴリズムを求めてます。実際に使用される指数時間の素数性テストアルゴリズムは試行分割であり、これは非自明なサイズの数に対して競争力がありません。実際に使用される競合アルゴリズムは、多項式(または決定論的、または無条件)ではありませんが、指数関数よりもはるかに効率的です。
エミールイェジャベクはモニカをサポートします14

3
リンゴとオレンジとは、AKS(素数テストアルゴリズム)とGNFS(因数分解アルゴリズム)を比較することです。
エミールイェジャベクはモニカをサポートします14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.