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

P対NPおよびその他のリソースに制限された計算。

2
ソートに対応する複雑度クラス
TCSの2つの部分は、アルゴリズムと複雑さです。アルゴリズムは上限の研究であり、制限されたリソースを使用して何かを実行できることを示し、複雑さは最小限のリソースなしでは実行できないことを示すことを単純に言います。 そのため、多くの場合、アルゴリズムの問​​題は、複雑さのクラスに配置するために意思決定モデルに記述されます。 しかし、常に気になっているのは、一部の基本アルゴリズムが特定のクラスに属していると絶対に言及されていないことです。1つの例は(比較)ソートです。試してみてください、関連するクラスは不十分すぎるようです(実際、結果がソートされるのは単にログスペースをチェックしているだけですか? 比較ソートが存在する最適/最も適切/最も有用な複雑度クラスは何ですか?

4
頂点カバーの数を数える:難しいのはいつですか?
与えられたグラフの頂点カバーの数を数える#P-complete問題を考えてください。G=(V,E)G=(V,E)G = (V, E) このような問題の難易度がパラメーター(たとえば、)によってどのように変化するかを示す結果があるかどうかを知りたいです。GGGd=|E||V|d=|E||V|d = \frac{|E|}{|V|} 私の感覚では、がスパースであるときとがデンスであるときの両方で問題がより簡単になるはずですが、が「中間」にあるときは難しいはずです。これは本当ですか?GGGGGGGGG

2
時空のトレードオフと最適なアルゴリズム
次のような言語考えてみましょう。LLL L∈DTIME(O(f(n)))∩DSPACE(O(g(n)))L∈DTIME(O(f(n)))∩DSPACE(O(g(n)))L \in DTIME(O(f(n))) \cap DSPACE(O(g(n))) そしてそのように L∉DTIME(o(f(n)))∪DSPACE(o(g(n)))L∉DTIME(o(f(n)))∪DSPACE(o(g(n)))L \not\in DTIME(o(f(n))) \cup DSPACE(o(g(n))) 換言すれば、最速の機械計算Lを時間にO (F (N ))であり、最も空間効率の良い機械M '算出Lを空間用いながらO (G (nは))。MMMLLLO(f(n))O(f(n))O(f(n))M′M′M'LLLO(g(n))O(g(n))O(g(n)) Mの空間効率またはM 'の時間効率について何が言えますか?またはより正確に、場合すべてのマシンの設定されていることを計算LでO (F (N ))その後、我々が最もスペース効率のよいマシンについて何を言うことができるM T?明らかなスペースバージョンのM Sについても同様です。MTMT\mathbb{M}_TLLLO(f(n))O(f(n))O(f(n))MTMT\mathbb{M}_TMSMS\mathbb{M}_S あるいは、とg (n )を使用して、いくつかの適切な時空トレードオフを定義できますか?どのような条件がある下でT S ∈ O (F (N )gは(nが))またはより一般的にはいくつかの時間と空間のトレードオフのための時間(T 、S )どのような条件の下で、H (T 、S )∈ H (O (F (n ))f(n)f(n)f(n)g(n)g(n)g(n)TS∈o(f(n)g(n))TS∈o(f(n)g(n))TS \in o(f(n)g(n))h(T,S)h(T,S)h(T,S)。h(T,S)∈h(o(f(n)),o(g(n)))h(T,S)∈h(o(f(n)),o(g(n)))h(T,S) \in h(o(f(n)),o(g(n)))


3
2つのCNFに同じ数のソリューションがあるかどうかを確認する複雑さ
2つのCNFがある場合、それらを同じにするために同じ数の割り当てがある場合は「はい」と答え、そうでない場合は「いいえ」と答えます。 にあるのは簡単です。これら2つのCNFの正確な数がわかっている場合は、それらをカンパレして「はい」または「いいえ」と答えるだけです。P#PP#PP^{\#P} この問題の複雑さは何ですか?

1
機械特性評価
SACiSACiSAC^iは、アンバウンドファニンORゲートとバウンドファニンANDゲートを持つ深さ回路のファミリーによって解決可能な決定問題のクラスです。否定は入力レベルでのみ許可されます。それは、その知られているのために補数の下で閉鎖され、はありません。また、LogCFLは空間制限および多項式時間制限補助PDAで受け入れられる言語のセットであるため、であり、したがってマシンの特性があり。に対する同様のマシン特性はありますか?O(login)O(login)O({\log}^i{n})SACiSACiSAC^ii≥1i≥1i \geq 1SAC0SAC0SAC^0SAC1=LogCFLSAC1=LogCFLSAC^1 = LogCFLO(logn)O(logn)O({\log}n)SACiSACiSAC^ii≥2i≥2i \geq 2

1
サブセットサムまたはNPPの整数関係検出?
整数関係の(小さな)解が答えを出すように、サブセット和または番号分割問題のインスタンスをエンコードする方法はありますか?間違いではない場合、いくつかの確率論的な意味で? 選択した数値の範囲が超える「低密度」領域でサブセット合計問題を解くのにLLL(およびおそらくPSLQ)が適度に使用されていることを知っていますが、これらの方法はうまくスケールしません選択された数値の範囲が2 Nよりもはるかに小さい場合、サイズが大きく、「高密度」領域で失敗するインスタンス。ここで、低密度と高密度はソリューションの数を指します。低密度領域とは、存在するソリューションがほとんどまたはまったくないことを指し、高密度は多くのソリューションがある領域を指します。2N2N2^N2N2N2^N 高密度領域では、LLLは指定されたインスタンス間で(小さな)整数の関係を見つけますが、インスタンスのサイズが大きくなると、関係が実行可能なサブセット和または数分割問題の解である確率が小さくなります。 整数関係の検出は最適な指数範囲内の多項式であるのに対して、サブセットサムとNPPは明らかにNP完全であるため、一般的にこれはおそらく不可能ですが、インスタンスがランダムに均一に描画される場合、これをより簡単にできますか? または、この質問をするのではなく、計算の指数関数的な増加の代わりに最適な答えから指数関数の限界を減らす方法があるかどうかを尋ねるべきですか?

2
#SATの下限?
問題#SATは、標準的な#P-complete問題です。これは、決定の問題ではなく、機能の問題です。命題論理のブール式が与えられると、満足な代入がいくつあるかを尋ねます。#SATの最適な下限はどれですか?FFFFFF



3
終了を部分的な正確さに減らすのはどれくらい難しいですか?
プログラムの検証に精通している場合は、背景の前に質問を読むことをお勧めします。プログラムの検証に慣れていない場合でも、この質問に答えることはできますが、背景を最初に読むことをお勧めします。 バックグラウンド 部分的な正確性の確認は決定できないとしばしば言われます。議論のために、フロイドのスタイルでこの声明を正確にする1つの非常に特定の方法を選んでみましょう-ホア。フローグラフは区別付き有向グラフである初期のノードのすべてのノードが到達可能であるから。プログラムは、そのノードでコマンドです流れ図です。コマンドには3つのタイプがあります(1)前提条件は q、(2)アサーションは qをアサート、(3)割り当てはv:= eです。ここで、qはfol(1次論理)式、eはfol項、vは変数です。 我々は、プログラムがあると言う部分正しい各ノード注釈を付ける方法がある場合、XとA前提条件A(X)と事後条件のB(x)のように、(1)は、最初のノードの前提条件が有効である、(2){ a(x) } x { b(x) }はすべてのコマンドxに適用され、(3)(b(x)はa(y)を意味します)はxからyまでのすべてのエッジに有効です。ここで、Hoareトリプルは次のように定義されます。 { p } assert q { r }は、(pが(q and r)を意味する)が有効であることを意味します { p } は、 q { r }が((pおよびq)がrを暗示する)が有効であることを意味すると仮定する { P } V:= E { R((つまり}手段PとEの代わりにVが)を意味し、Rは)有効です この部分的な正しさを確認することが決定できない理由について、手で波打った議論があります:a(x)とb(x)を入力したら、いくつかのfol式が有効であるかどうかを確認する必要があります。 部分的に正確に終了をエンコードする一般的な方法は、「前回実行されてから終了に向かって進行した」と本質的に言う特別なアサーションを追加することです。これらの進行アサーションは、フローグラフ上のすべての無限ウォーク(初期ノードから開始)に無限に多くの進行アサーションが含まれるように配置する必要があります。具体的には、進行アサーションの形式は 常にassert u < vで、ここでuとvは正の整数であり、割り当てu:= fが先行し、その後に割り当てv:= uが続くとしましょう。ここでfはバリアント関数、uは現在の値、vは以前の値です。ここで、「正の整数」について説明し、それらを比較するため、folよりも少し多く使用できることを確認する必要があります。Peano算術が使用可能であるとしましょう。(この選択については強く感じません。都合が良ければ無視してください。)もちろん、fはプログラムで言及されている他の関数や定数を使用するかもしれません。(プログラムの最初に仮定を追加することは、非論理公理を導入することと同等であることに注意してください。) これで、進行状況のアサーションがあるプログラムがまだ部分的に正しい場合、元のプログラムが終了することがわかります。 質問 終了プログラムを考えると、進行状況の表明のためのバリアント関数を思いつくのは難しいと感じています。しかし、どのくらい難しいですか?(上記の大きな背景があっても、見方によっては、この質問を未解決または未定義のままにしておくことを知っています。) 別の言い方をすれば、終了を部分的な正確さまで減らす問題を形式化し、その複雑さについて何かを述べているリファレンスを探しています。もちろん、これをすべて行う回答は歓迎されます。

5
削減することで、問題の扱いやすさについて多少なりとも楽観的になりますか?
ほとんどの複雑性理論家は一般に、次の哲学的ルールを信じているように思えます。 私たちは、問題のための効率的なアルゴリズムを見つけ出すことができない場合は、そして私たちは、問題の減らすことができますAを問題にB、そこにはおそらく問題のための効率的なアルゴリズムではありませんBのいずれか、。AAAAAABBBBBB これが、たとえば、新しい問題がNP-Completeであることが証明されたときに、最終的にP = N Pを示す可能性のある新しいアプローチ(問題)に興奮するのではなく、単に「難しすぎる」として提出する理由です。BBBP=NPP=NPP = NP 私はこれを別の科学分野の仲間の大学院生と話し合っていました。彼女はこの考えを非常に直感に反していると感じました。彼女のアナロジー: あなたは探検家であり、北米大陸とアジア大陸の架け橋を探しています。何ヶ月もの間、米国本土からアジアへの陸橋を見つけることに失敗しました。次に、米国本土が陸路でアラスカ地域に接続されていることを発見します。アラスカからアジアへの陸橋は、米国本土からアジアへの陸橋を意味することに気づきますが、これは存在しないと確信しています。アラスカの近くを探索する時間を無駄にしません。あなたはただ家に帰ります。 私たちの以前の哲学的ルールは、この文脈ではかなり愚かに聞こえます。良い反論は考えられませんでした!だから私はあなたたちにそれを引き渡します:なぜ私たちは問題Aを簡単にするのではなく、問題Bをより難しくするものとして還元を扱うべきですかA → BA→BA \to BBBBAAA

2
Median-SATの複雑さは何ですか?
ましょうφφ\varphiとCNF式である変数と句。ましょう 変数の割り当てと表すに変数代入によって満たさ節の数をカウントを。次に、すべてのにわたっての中央値を計算する問題としてMedian-SATを定義します。たとえば、がトートロジーである場合、割り当てに関係なくすべての句が満たされるため、Median-SATの解はになります。ただし、、M 、T ∈ { 0 、1 } N F φ(T )∈ { 0 、... 、M } φ F φ(T )T ∈ { 0 、1 } nは φ M ¯ S A Tnnnmmmt∈{0,1}nt∈{0,1}nt \in \{ 0,1 \}^nfφ(t)∈{0,…,m}fφ(t)∈{0,…,m}f_{\varphi}(t) \in \{ 0, \ldots , m \}φφ\varphifφ(t)fφ(t)f_{\varphi}(t)t∈{0,1}nt∈{0,1}nt \in \{ 0,1 \}^nφφ\varphimmmSAT¯¯¯¯¯¯¯¯¯¯SAT¯\overline{SAT}中央-SATを解決するには、どこの間とすることができると。m − 1000m−1m−1m-1 …

2
「最少識別ビット」問題はNP完全ですか?
それがこの問題を補った名前です。以前にどこかで説明されたことを見たことはありません。この問題に対するNP完全性の証明も多項式時間アルゴリズムもまだ見つけることができませんでした。それは宿題の問題ではなく、仕事で出くわした問題に関連しています。 最少の差別ビット インスタンス:ビットベクトルを含むセットT。各ビットベクトルは正確にNビット長です。数学のセットから期待されるように、Tのすべての要素は一意です。整数K <N。 質問:TのすべてのベクトルからBのビットを除くすべてのビットを削除すると、残りの短いベクトルがすべてなるように、最大​​Kビット位置(つまり、範囲[0、N-1]の整数)のセットBがありますまだユニークですか? 例1:インスタンスN = 5、T = {00010、11010、01101、00001}、K = 2の場合、ビット位置B = {0,3}を選択できるため、答えはイエスです。ビット位置0が右端であり、ビット位置番号が右から左に増えるという規則を使用して、TのベクトルからB以外のすべてのビット位置を削除し、T '= {00、10、11、01}を残します。そしてそれらはすべてユニークです。 例2:N = 5、T = {00000、00001、00001、00100}、K = 2。答えはノーです。選択する2つのビット位置に関係なく、2ビットベクトルはいずれも11に等しくないため、2ビットベクトルのうち少なくとも2つは互いに等しくなります。 もちろん、この問題を解決するには、Nビット位置のサイズKを持つすべての(NがKを選択)サブセットを列挙し、質問の条件を満たすものを決定します。ただし、それは入力サイズでは指数関数的です。


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