取る一連の問題


7

各問題の最も効率的なアルゴリズムが取る決定問題の無限シーケンスを知っていますか? Θ(nk) 時間、場所 k 限りなく増加しますか?

たとえば、kクリークを見つけるには、 Θ(nk)、このシーケンスは{1-clique、2-clique、3-clique、...}のようになります。しかし、おそらくk-cliqueにはより効率的なアルゴリズムがあるため、この答えは正しくありません。

編集:

  • 時間階層定理含み(「Pは、(DTIMEに崩壊しませんnk)固定の場合 k")、そのようなシーケンスが存在する必要があります。
  • コメントでいくつかの議論の後、一般的なNP問題は良い候補ではありません。それだけかかる場合O(n) 証明書をチェックする時間(または O(nc)、 どこ c から独立した定数です k)、それは PNP

それに値するもののために、3-クリークのためのより効率的なアルゴリズムがあります。隣接行列の二乗にはnから2点までの時間順序があり、頂点の任意のペア間に2つのパスがあるかどうかがわかります。したがって、隣接する頂点のペアにも2つのパスがあるかどうかを確認するだけです。
David Richerby

高速行列乗算は、単純なアルゴリズムの指数を向上させます。例えば、3k-クリークは時間内に見つかります O(nωk)
Yuval Filmus 16

より良い候補は k-複雑さが大まかに推測されるSUM問題 nk/2。これが正確な複雑さであると推測されていましたが、今では多項式因子を取得できることがわかっています。
Yuval Filmus 16

2
@j_random_hacker固定の複雑さを測定します k そして増加 n
Yuval Filmus 16

1
時間階層定理は特に非建設的であり、証明からそのようなシーケンスを「抽出」することは不可能ですか?(もちろん、これは非常に不自然な一連の問題になる可能性がありますが、それが必要なものでない場合は、おそらくそれを指定する必要があります)
離散トカゲ

回答:


3

計算モデルは開いたままにします。質問がランダムアクセスマシン(RAM)に関するものであると想定します。これは、多項式時間で実際の指数を求めるときに慣例であるためです。

しましょう Pk RAM(のエンコーディング)のセット M、 そのような M せいぜい停止する |M|k 最大で初期を使用するステップ |M|kメモリセル。ユニバーサルRAMが解決できるPkO(nk)

一方、 Pk の普遍的な問題です DTIME(nk)(RAMモデルおよび線形時間削減の場合)。時間階層の定理のRAMバージョンの特殊なケースとして、単純な対角化は、Pk 実行時間があります Ω(nk)。したがって、の複雑さPk です Θ(nk) 尋ねられたように。

タイトネスは、計算モデルに大きく依存しています。時間階層定理のチューリングマシンバージョンには、lognギャップ。しましょうPk チューリングマシン(のエンコーディング)のセット M、 そのような M せいぜい停止する |M|klognステップ。その後Pk で解決することができます nk ユニバーサルチューリングマシンによる時間とすべてのアルゴリズムの実行時間 Ω(nklogn)。これができる最善の方法だと思います。

[編集]

コメントでは、グラフの問題やロジックなど、より一般的な問題を求めます。

まず、方法を指摘させてください k-クリーク(回答で提案されているように)は良い候補のようには見えません。それを証明できればk-クリークには時間が必要です Ω(nk) (または Ω(nf(k)) いくつかの無制限の f)、クリークはPにないことを暗示しています。したがって、PはNPとは異なります。それは簡単ではないでしょう。同じことが、NPにあることがわかっている他の問題のスライス、またはPとは異なることがわかっていないPSPACEなどの他のクラスにも当てはまります。

すべての問題は、入力をグラフとしてエンコードすることにより、グラフの問題と言い換えることができます。のグラフバージョンを呼び出すかどうかはわかりませんPk従来の。私はそれを自然とは言いません。

ロジックに関しては、例を提供できます。ただし、ブール論理ではなく、下限と上限の間にギャップがあります。この例は、Immerman-Vardiの定理に基づいています。しましょうL最小固定小数点演算子によって拡張された一次論理であること。しましょうLk フラグメントを示します k1次変数を使用できます。変数の再利用が許可されているため、制限は各サブ数式に最大でk自由変数。問題Mk はモデルチェックの問題です Lk、それは式の入力です φLk と構造 A 一致する語彙のタスクは、 Aφ、つまり φ で本当です A

Mk 時間内に解決することができます O(n2k+1)。一方、一定のcM3k+c 難しい DTIME(nk) (必要な場所 nkメモリセルの内容にバインドされています)。私は信じているc=2十分です。対角化からそれを得るM3k+c 時間を要します Ω(nk)、 そう Mk 時間を要します Ω(nkc3)。限界はという意味ではタイトではありませんΘ(nk) いくつかのための k、しかし少なくとも私達は持っています nΘ(k)


私は主に(既知のとは対照的に)すべてのアルゴリズムに関心があります。ただし、次のように無制限に増加する下限に満足しますk 増加するのとは対照的に Θ)。私があなたを正しく理解していれば、それは事実です。より「慣習的な」問題シーケンス(たとえば、グラフまたはブールロジックを使用)があると便利です。
アルバートヘンドリックス

1
いくつかの参照を追加することで素晴らしいものにすることができる良い回答(ありがとう!)のようです!
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.