タグ付けされた質問 「complexity-theory」

問題の(計算)複雑さに関する質問


3
離散対数を見つけるのはどれくらい難しいですか?
bbba c Nab=cmodNab=cmodNa^b=c \bmod NaaacccNNN これはどの複雑なグループ(例:古典的なコンピューターや量子コンピューター)で、どのタスク(アルゴリズム)がこのタスクを達成するのに最適なのでしょうか。 上記のウィキペディアのリンクは、実際に非常に具体的なランタイムを提供していません。私は、そのようなものを見つけるための最もよく知られている方法と同じようなものを望んでいます。

3
証明可能なほど高速なランダム化アルゴリズムに関するPの問題
PP\mathsf{P}kkkP T I M E(F (N ))F (N )DTIME(nk)⊊PTIME(nk)DTIME(nk)⊊PTIME(nk)\mathsf{DTIME}(n^k) \subsetneq \mathsf{PTIME}(n^k)PTIME(f(n))PTIME(f(n))\mathsf{PTIME}(f(n))f(n)f(n)f(n) ランダム性は\ mathsf {P}内で何かを購入しPP\mathsf{P}ますか? 明確にするために、単なる定数ではなく、差が漸近的である(できれば多項式ですが、多対数で解決する)ものを探しています。 最悪の場合、漸近的により良いアルゴリズムを探しています。期待される複雑さのアルゴリズムは、私が探しているものではありません。ZPPではなく、RPまたはBPPのようなランダム化アルゴリズムを意味します。

2
並列の複雑さの結果を絶えず多くのコアに縮小する方法は?
クラスNCによって与えられる「並列アルゴリズムによる効率的な解決」の複雑さの理論的見解を受け入れるのに問題がありました。 NCは、、プロセッサで時間並列アルゴリズムによって解決できる問題のクラスです。P (N )∈ O (N 、K)C 、K ∈ NO (ログcn )O(logc⁡n)O(\log^cn)p ( N )∈ O (Nk)p(n)∈O(nk)p(n) \in O(n^k)C 、K ∈ Nc,k∈Nc,k \in \mathbb{N} PRAMを想定できます。 私の問題は、これが「実際の」マシン、つまり有限量のプロセッサを備えたマシンについてあまり語っていないように見えることです。現在、プロセッサ上でプロセッサアルゴリズムを「効率的に」シミュレートできることが「わかっている」と言われています。のp ∈ NO (nk)O(nk)O(n^k)P ∈ Np∈Np \in \mathbb{N} ここで「効率的に」とはどういう意味ですか?これは民間伝承ですか、それともシミュレーションによって生じるオーバーヘッドを定量化する厳密な定理がありますか? 私が起こるのが怖いのは、シーケンシャルアルゴリズムと、プロセッサでシミュレートしたときに時間もかかる「効率的な」並列アルゴリズムを持つ問題があることです逐次アルゴリズムが漸近的に最適な場合、この粒度レベルの分析で期待できるのはすべてです)。この場合、私たちが見る限り、スピードアップはありません。実際、シミュレートされた並列アルゴリズムは、逐次アルゴリズムよりも遅い場合があります。つまり、私は境界(またはそのような結果がないことの宣言)よりも正確なステートメントを本当に探しています。p O (n k)O (nk)O(nk)O(n^k)pppO(nk)O(nk)O(n^k)OOO

3
HALF CLIQUE-NP完全問題
これが宿題の問題であることに注意して始めましょう。アドバイスと関連する所見のみを提供してください。直接の回答はありません。とはいえ、ここに私が見ている問題があります: HALF-CLIQUE = { | は、少なくとも個のノードを持つ完全なサブグラフを持つ無向グラフです。ここで、nは } のノードの数です。HALF-CLIQUEがNP完全であることを示します。G N / 2 G⟨ G ⟩⟨G⟩\langle G \rangleGGGn / 2n/2n/2GGG また、私は次のことを知っています: この問題に関して、クリークは、入力グラフの無向サブグラフとして定義され、2つのノードごとにエッジで接続されます。 -cliqueが含まクリークであるノード。kkkkkk 私たちの教科書によると、Michael Sipserの「計算理論入門」、268ページ、問題CLIQUE = { | は -cliqueを持つ無向グラフですNPはNPですG K⟨ G 、K ⟩⟨G,k⟩\langle G,k\rangleGGGkkk さらに、同じソース(ページ283)によると、CLIQUEはNP-Complpeteにある(したがって、明らかにNPにもある)と述べています。 私はここに答えの核心があると思うが、私はそれの何が間違っているのか、答えに関連するかもしれない関連ポイントのいくつかの兆候を使用することができます。これは私がこれまでに持っている一般的な考え方です、 さて、証明書は単に HALF-QLIQUEであることに最初に注意し。これで、CLIQUE(NP-Completeであることがわかっている)からHALF-CLIQUEへの多項式時間短縮である検証ツールを作成する必要があります。私のアイデアは、HALF-CLIQUEの追加の制約を使用して、CLIQUEの本のチューリングマシン検証ツールを実行するチューリングマシンを作成することによってこれが行われるということです。サイズ≥ N / 2size≥n/2\text{size} \geq n/2 これは私には正しいように聞こえますが、私はこの主題についてはまだ自分を本当に信用していません。繰り返しになりますが、これは宿題ですので、質問には答えないようにしてください。これに満たないガイダンスは大歓迎です!

1
CNFからDNFへの変換がNPハードであることの証明
この質問は、Computer Science Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 CNFからDNFへの変換がNPハードであることをどのように証明できますか? 私は答えを求めているのではなく、それを証明する方法についていくつかの提案をしています。

3
キャプチャするSQLの拡張
Immermanによると、SQLクエリに関連付けられた複雑度クラスは、(一次クエリとカウント演算子)の安全なクエリのクラスです。SQLは安全なクエリをキャプチャします。(換言すれば、すべてのSQLクエリはで複雑性を有する、そして内のすべての問題 SQLクエリとして表現することができます。)Q (F O (C O U N T ))Q (F O (C O U N T )))Q (F O (C O U N T ))Q(FO(COUNT))\mathsf{Q(FO(COUNT))}Q (F O (C O U N T ))Q(FO(COUNT))\mathsf{Q(FO(COUNT))}Q (F O (C O U N T ))Q(FO(COUNT))\mathsf{Q(FO(COUNT))} この結果に基づいて、理論的な観点から、効率的に解決できるがSQLでは表現できない興味深い問題が数多くあります。したがって、まだ効率的なSQLの拡張は興味深いようです。だからここに私の質問があります: をキャプチャするSQLの拡張機能(業界で実装および使用)があり(つまり、すべての多項式時間の計算可能なクエリを表現でき、他のクエリは表現できません)。PP\mathsf{P} 3つの条件をすべて満たすデータベースクエリ言語が必要です。SQLを拡張してをキャプチャする拡張機能を定義するのは簡単です。しかし私の質問は、そのような言語が実際的な観点から理にかなっているかどうかであるので、実際に使用されている言語が欲しいです。これが当てはまらず、そのような言語がない場合、実用的な観点からそのような言語を面白くしない理由があるかどうかを知りたいですか?たとえば、実際に発生するクエリは、通常、そのような言語を必要としないほど単純ですか?PP\mathsf{P}

7
P≠NPの証明は、P = NPの証明より難しいでしょうか?
P対NP問題の2つの可能性を検討してください:P = NPおよびP NP。≠≠\neq Qを既知のNPハード問題の1つとします。P = NPを証明するには、Qに対して単一の多項式時間アルゴリズムAを設計し、AがQを正しく解くことを証明する必要があります。 P NP を証明するには、Qを解く多項式時間アルゴリズムがないことを示す必要があり ます。つまり、すべての多項式時間アルゴリズムを除外する必要があります。≠≠\neq これは2番目のタスクをより困難なものにするという人々の意見を聞いたことがあります(本当に真実だと仮定して)。 証明P = NPがPを証明するよりも容易になるだろう(P = NPがあると仮定)と考える理由がある NPが(Pと仮定すると、 NP)?≠≠≠\neq≠≠\neq

7
Big Oで定数因子を無視する理由
多くの場合、複雑性に3nなどの定数がある場合、この定数を無視し、O(3n)ではなくO(n)と言います。このような3倍の変化をどうすれば無視できるのか理解できません。あるものは他のものよりも3倍速く変化しています!なぜこの事実を無視するのですか?

2
2つの2x2行列の行列乗算が7回未満の乗算でできないことを証明するにはどうすればよいですか?
Strassenの行列乗算では、2つの2 x 2の行列乗算に7つの乗算が必要であるという奇妙な(少なくとも私には)事実を述べています。 質問: 2つの2 x 2行列を6回の乗算で乗算できないことを証明するにはどうすればよいですか? 行列は整数を超えていることに注意してください。


3
クラスNP-CompleteがNP-hardと比較して重要なのはなぜですか?
私は計算の複雑さを研究していますが、NP-Complete(NPC)問題がなぜ重要なクラスなのか疑問に思っていました。特定のNP問題がNP困難であることを示すことに興味があるのは明らかです。 また、NPCの定義も理解しています。また、特定の決定問題を示すことはNP困難であり、NPにあることを知っていることはまさにNPCの意味でした。 しかし、私が理解していないのは、なぜこの概念がそれほど重要なのかということです。確かに、時間P(NPにあるかどうかに関係なく)で実行されるNPハードアルゴリズムが見つかった場合、であることを示しました。NP= PNP=PNP = P なぜこの概念がそんなに重要なのですか?

2
二次時間を必要とする可能性のある問題
入力に対してΩ(|x|2Ω(|x|2\Omega(|x|^2)の下限を持つ問題の例を探しています。xxx 問題には次のプロパティが必要です。 Ω(n2)Ω(n2)\Omega(n^2)任意のアルゴリズムのランタイムプルーフ-最初の優先順位は、可能な限り単純な下限引数を持つことです。 O(n2)O(n2)O(n^2)アルゴリズム、可能であれば、単純なアルゴリズム。 (またはそれ以下)の出力サイズ。明らかに、長さの出力を必要とする問題には、少なくとも同様の実行時間が必要でしたが、それは私が探しているものではありません。決定の問題がここに収まることに注意してください。O(n)O(n)O(n)Ω(n2)Ω(n2)\Omega(n^2) (可能であれば)「自然な」問題。正式な定義がなければ、CSの卒業生が認識する問題が望ましいです。 私は最近そのような問題について尋ねられましたが、簡単な問題を思い付くことができませんでした。最初に思い浮かんだ問題は、これはランタイムの問題であると思われました。これは十分に単純ではなく、さらに、この共役は最近偽りであることが証明されました:o。3SUM3SUM3SUMΩ(n2)Ω(n2)\Omega(n^2) 極めて不自然な問題に行く、私は入力決定論TMおよび入力として取得する問題と考えてい⟨M⟩,x⟨M⟩,x\langle M \rangle,x、および後にテープヘッドの位置を出力(|M|+|x|)2(|M|+|x|)2(|M|+|x|)^2、それはだときの手順実行すると、xxxおそらく質問に答えます。 どうしても必要な場合は、シングルテープTMモデルを使用していることに同意してください。ただし、ランタイムが正確なモデルに依存しない問題をお勧めします(合理的なモデルであれば)。 したがって、実行時間がある単純な(証明する)自然な(よく知られている)問題を見つけることができますか?Θ(n2)Θ(n2)\Theta(n^2)

2
チューリング削減によってNP硬度を示すことはできますか?
Ramírez-Alfonsínによる論文「フロベニウス問題の複雑さ」では、チューリング縮約を使用して問題がNP完全であることが証明されました。それは可能ですか?正確にどのように?これは、多項式時間の多倍数削減によってのみ可能だと思いました。これに関する参照はありますか? NP硬度、さらにはNP完全性という2つの異なる概念がありますか?しかし、実際の観点から、私の問題がNP困難であることを示したい場合、私はどちらを使用するのですか? 彼らは次のように説明を始めました: 問題から減少チューリング多項式時間P1P1P_1 別の問題に 解くアルゴリズムAで 「解決するための仮想的なサブルーチンAを使用して、 のための多項式時間アルゴリズムであったAが場合は、そのような」 次いでAは多項式であろう時間アルゴリズム 。 はチューリングを還元できると 言い ます。P2P2P_2P1P1P_1P2P2P_2P2P2P_2P1P1P_1P1P1P_1P2P2P_2 問題 は、NP完全決定問題 があり、 をチューリング還元してできる 場合、NP困難(チューリング)と呼ばれます。P1P1P_1P2P2P_2P2P2P_2P1P1P_1 そして、彼らはNP完全問題からのそのようなチューリング簡約を使用して、他の問題のNP完全性を示します。

1
アルゴリズムが指数関数的に高速なアルゴリズムを受け入れるような決定問題
Hromkovičの困難な問題に対するアルゴリズム(第2版)には、次の定理があります(2.3.3.3、117 ページ)。 (決定可能)決定問題のあるすべてのアルゴリズムのためにこのようなことをA解くことPは別のアルゴリズムが存在するA "も解決Pを、さらに満たしては、PPPAAAPPPA′A′A'PPP ∀∞n∈N.TimeA′(n)=log2TimeA(n)∀∞n∈N.TimeA′(n)=log2⁡TimeA(n)\qquad \forall^\infty n \in \mathbb{N}. \mathrm{Time}_{A'}(n) = \log_2 \mathrm{Time}_A(n) の最悪の場合の実行時間であるAサイズの入力にN及び ∀ ∞「以外のすべての有限多くのための」手段。TimeA(n)TimeA(n)\mathrm{Time}_A(n)AAAnnn∀∞∀∞\forall^\infty 証拠は与えられておらず、私たちはこれをどのようにすればよいか分かりません。実際、これは非常に直感に反します。定理はどのように証明できますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.