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

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

1
3SATからハミルトニアンパス問題への簡単な削減
Sipserの著書「計算理論の紹介」の286ページに、3SATからハミルトニアンパス問題への縮小があります。 より簡単な削減はありますか? 簡単に言うと、(学生にとって)理解しやすい削減を意味します。 変数の線形数を使用する削減はありますか? Sipserの削減では、変数を使用します。ここで、kは節の数、nは変数の数です。つまり、サイズをsからO (s 2)に縮小することができます。縮小の出力のサイズが入力のサイズに対して線形である単純な縮小がありますか?O (k n )O(kn)O(kn)kkknnnsssO (s2)O(s2)O(s^2) それが不可能な場合、理由はありますか?それは、複雑さ/アルゴリズムの未知の結果を意味しますか?

3
すべての計算可能な関数
すべての計算可能な関数についてfff、Θ(f(n))Θ(f(n))\Theta(f(n))時間で最大で解決できる問題が存在するか、またはO (f (n ))で解決できるすべての問題ができるような計算可能な関数がありますo (f (n ))時間で解けるか?fffO(f(n))O(f(n))O(f(n))o(f(n))o(f(n))o(f(n)) この質問は昨日私の頭に浮かびました。少し前から考えていましたが、理解できません。どうやってこれをグーグルで検索するかわからないので、ここで質問します。ここに私が思いついたものがあります: 私の最初の考えは答えがイエスだということでした:すべての計算可能な関数についてfff、問題「出力f(n)f(n)f(n)ドット」(またはf(n)f(n)f(n)ドットなどで文字列を作成する)は明らかにo(f(n))o(f(n))o(f(n))時間。したがって、O(f(n))O(f(n))O(f(n))時間で解けることを示す必要があります。問題ありません。次の擬似コードを使用してください。 x = f(n) for i from 1 to x: output(".") 明らかに、このアルゴリズムは前述の問題を解決します。そして、ランタイムは明らかにΘ(f(n))Θ(f(n))\Theta(f(n))なので、問題は解決しました。簡単でしたね?いいえを除いて、最初の行のコストを考慮する必要があるからではありません。上記のアルゴリズムの実行時のみであるΘ(f(n))Θ(f(n))\Theta(f(n))を計算するために必要な時間あればf(n)f(n)f(n)であるO(f(n))O(f(n))O(f(n))。明らかに、すべての機能1に当てはまるわけではありません。 そのため、このアプローチでは私はどこにも行きませんでした。これを適切に理解するために正しい方向に私を指し示している人に感謝します。 1例として機能するために検討して。明らかにO (p (n ))= O (1 )ですが、時間でpを計算するアルゴリズムはありません。p(n)={12if n is primeotherwisep(n)={1if n is prime2otherwisep(n) = \cases{1 & \text{if $n$ is prime} \\ 2 & \text{otherwise}}O(p(n))=O(1)O(p(n))=O(1)O(p(n)) = O(1)pppO(1)O(1)O(1)

1
ニューラルネットワークのVC次元の効率的な計算または近似
私の目標は、入力と出力で説明した次の問題を解決することです。 入力: 非循環有向グラフとM個のノード、N源、及び1つのシンク(M > N ≥ 1)。GGGmmmnnn111m>n≥1m>n≥1m > n \geq 1 出力: トポロジGのニューラルネットワークのVC次元(またはその近似)。GGG より詳細: 各ノードはシグモイドニューロンです。トポロジは固定されていますが、エッジの重みは学習アルゴリズムによって異なる場合があります。GGG 学習アルゴリズムは固定されています(後方伝播など)。 ソースノードは、入力ニューロンでのみから文字列を取ることができ、{ - 1 、1 } nは入力として。nnn{−1,1}n{−1,1}n\{-1,1\}^n シンクノードは出力ユニットです。それから、実際の値を出力し我々は切り上げることを1またはダウン- 1それは、より特定の固定のしきい値を超える場合δ離れてから0。[−1,1][−1,1][-1,1]111−1−1-1δδ\delta000 素朴なアプローチは、単にそれらを使ってネットワークを訓練しようとすることで、ますます多くのポイントを壊そうとすることです。ただし、この種のシミュレーション手法は効率的ではありません。 質問 この関数を計算するための効率的な方法はありますか(つまり、決定問題に変更されたときの:VC次元は入力パラメーターkよりも小さい?)?そうでない場合、硬度の結果はありますか?PP\mathsf{P}kkk この関数を計算または近似するための実用的な方法はありますか?近似値である場合、その精度について保証はありますか? ノート stats.SE についても同様の質問をしましたが、興味はありませんでした。

1
最小カットはネットワークフローより簡単ですか?
max-flow min-cut定理のおかげで、任意のアルゴリズムを使用してネットワークグラフの最大フローを計算し、 -min-cut を計算できることがわかります。したがって、最小の計算の複雑さ最大値の計算の複雑度以下である留分 -flowを。(s 、t )(s 、t )(s,t)(s,t)(s,t)(s,t)(s,t)(s,t)(s,t)(s,t)(s,t) 少なくてもいいですか?最小カットを計算するアルゴリズムは、max-flowアルゴリズムよりも高速ですか?(s 、t )(s,t)(s,t) 私は、削減の削減発見しようとしたに)-max-フローの問題を -minカット問題は、しかし、私は1つを見つけることができませんでした。私が最初に考えたのは、分割統治アルゴリズムを使用することでした。まず、グラフを2つの部分に分割する最小カットを見つけます。ここで、左部分の最大フローと右部分の最大フローを再帰的に見つけ、それらをカットを横断するすべてのエッジと結合します。これは実際に最大フローを生成するために機能しますが、その最悪の場合の実行時間は、min-cutアルゴリズムの実行時間の倍にもなります。より良い削減はありますか?(s 、t )O (| V |)(s 、t(s,t(s,t(s 、t )(s,t)(s,t)O (| V| )O(|V|)O(|V|) max-flow min-cut定理は、max-flowの値を計算する複雑さがmin-cutの容量を計算する複雑さと同じであることを示していますが、それは私が求めていることではありません。最大フローを見つけ、最小カットを(明示的に)見つける問題について質問しています。 これは、以下を除き、min-cutからのmax-flowの計算と非常に密接に関連しています。おそらく与えられた我々は見つけることができますいくつかのグラフの最小カットするような、それは簡単の最大フローを計算することができます、他の質問の範囲外だものです。G ' G ' GGGGG′G′G'G′G′G'GGG

1
「ゼロワン」ジグソーパズルはNP完全ですか?
タイルのわずかなバリエーションである「ジグソーパズル」に興味があります。(正方形)タイルの各エッジには、シンボルがラベル付けされてい、一方のタイルの対面エッジのシンボルがで、もう一方のタイルの対面エッジのシンボルがで、一部の。次に、タイルのセットが与えられた場合、正方形に配置できます(回転しますが、タイルを反転しません)。すべてのエッジが正しく一致しますか?(この問題には4つの「フレーミング」エッジが提供され、ピースがそのフレームに正しく収まる必要があるという変形もあります)。{1…n,1¯…n¯}{1…n,1¯…n¯}\{1\ldots n, \bar{1}\ldots\bar{n}\}kkkk¯k¯\bar{k}k∈{1…n}k∈{1…n}k\in\{1\ldots n\}m2m2m^2m×mm×mm\times m1×m1×m1\times m 私は、この問題が十分に大きいためにNP完全である知っている、私が上で見てきたことを境界かなり大きいと思われます。Iは、の値が小さいため問題に興味特にため、すべてのエッジがどちらかの標識されている「ゼロ・ワン」の場合(またはとし、エッジをとエッジに一致しなければならない)。ここには、(回転対称で)たった6つのタイルタイプ(すべてゼロのタイル、すべて1のタイル、3つのゼロと1のタイル、3つの1と0のタイル、2つのゼロの2つの異なるタイルがあります)そして、2つ、「0011」と「0101」)、したがって、問題のインスタンスは単なる仕様ですnnnnnnnnnn=1n=1n=1000111000111mmm5つの数字のセット、、、、とと(タイルの各タイプの数を表す)。問題は明らかにNPにあります(は単項与えられます)解は単純に示され、多項式(T0000T0000T_{0000}T0001T0001T_{0001}T0011T0011T_{0011}T0101T0101T_{0101}T0111T0111T_{0111}T1111T1111T_{1111}T0000+T0001+T0011+T0101+T0111+T1111=m2T0000+T0001+T0011+T0101+T0111+T1111=m2T_{0000}+T_{0001}+T_{0011}+T_{0101}+T_{0111}+T_{1111}=m^2mmmmmm)時間ですが、NP完全であることが知られていますか、またはここで適用できる動的プログラミングアルゴリズムがありますか?問題の仕様に、一致する正方形の4つのエッジも含まれる「フレーム化された」ケースについてはどうですか?(明らかに、フレーム化されていないケースがNP完全である場合、フレーム化されたケースもほぼ確実に完全です)

1
多項式時間および強力な多項式時間で実行されるアルゴリズムの定義
ウィキペディアでは、 アルゴリズムの実行時間がアルゴリズムの入力のサイズの多項式で上限がある場合、つまり、ある定数kに対してT (n )= O (n k)である場合、アルゴリズムは多項式時間と呼ばれます。T(n )= O (nk)T(n)=O(nk)T(n) = O(n^k) [8]の場合、アルゴリズムは強力な多項式時間で実行されます。 計算の算術モデルの演算の数は、入力インスタンスの整数の数の多項式によって制限されます。そして アルゴリズムで使用される空間は、入力のサイズの多項式によって制限されます。 でバーンハード・コート、イェンスVygen、組合せ最適化: 定義1.4。 有理数入力のアルゴリズムは、次の場合に多項式時間で実行されると言われています。 時間で実行される整数k があります。ここで、nは入力サイズです。O (nk)O(nk)O(n^k) 中間計算のすべての数値はビットで保存できます。O (nk)O(nk)O(n^k) 任意の入力を持つアルゴリズムは、次の場合に強力な多項式時間で実行されると言われています。 n個の数字で構成される入力に対して時間で実行される整数kがあり、O (nk)O(nk)O(n^k) 有理入力では多項式時間で実行されます。 間違っている場合は修正してください。私が気づいた文字通りの違いは次のとおりです。 多項式時間アルゴリズムの場合、Korte and Vygenの定義は「Wikipediaの定義+多項式ストレージスペース」です。 強力な多項式時間アルゴリズムの場合、Korte and Vygenの定義とWikipediaの定義はどちらも入力ストレージサイズに多項式時間を必要とします。ただし、KおよびVの場合、入力の数値の数に多項式時間が必要です。一方、ウィキペディアの場合、入力サイズに多項式のストレージスペースが必要です。 それでは、これら2つの概念に対するKとVおよびウィキペディアの定義はそれぞれ同等ですか?それらの間に他にどんな違いや関係がありますか? よろしくお願いします!

2
NP完全問題から有界PCPへの多項式簡約
テキストブックはどこにでもいると仮定有界ポストの対応問題が NP完全である(せいぜい回の繰り返しで許可されたインデックスを)。ただし、別のNP完全問題からの単純な(学部生が理解できるような)多項式時間の短縮を示すものはどこにもありません。NNN しかし、私が考えることができるすべての削減は、実行時に指数関数的(またはシリーズのサイズ)です。おそらく、SATに還元可能であることを示すことができますか?NNN

1
このN番目のプライム再発の(in)tractabilityの証明
前の質問から次のように、私はレクリエーション数学の問題としてリーマン仮説で遊んでいます。その過程で、私はかなり興味深い再発に至りました。そして、その名前、その縮約、素数間のギャップの可解性に対する扱いやすさについて興味があります。 簡潔に言えば、各素数間のギャップを、先行する素数候補の繰り返しとして定義できます。たとえば、ベースが場合、次の素数は次のようになります。p0=2p0=2p_0 = 2 p1=min{x>p0∣−cos(2π(x+1)/p0)+1=0)}p1=min{x>p0∣−cos⁡(2π(x+1)/p0)+1=0)}\qquad \displaystyle p_1 = \min \{ x > p_0 \mid -\cos(2\pi(x+1)/p_0) + 1 = 0) \} それとも、私たちはで見るように、このアウトをプロット:p1=3p1=3p_1 = 3。 順方向に繰り返される各素数候補を評価することにより、nnn素数に対してプロセスを繰り返すことができます。次の素数p_2を取得するとしますp2p2p_2。候補関数は次のようになります。 p2=min{x>p1∣fp1(x)+(⋅(−cos(2π(x+1)/p1)+1)(−cos(2π(x+2)/p1)+1))=0}p2=min{x>p1∣fp1(x)+((−cos⁡(2π(x+1)/p1)+1)⋅(−cos⁡(2π(x+2)/p1)+1))=0}\qquad \displaystyle \begin{align} p_2 = \min\{ x > p_1 \mid f_{p_1}(x) + (&(-\cos(2\pi(x+1)/p_1) + 1) \\ \cdot &(-\cos(2\pi(x+2)/p_1) + 1)) = 0\} \end{align} どこ: fp1(x)=−cos(2π(x+1)/p0)+1fp1(x)=−cos⁡(2π(x+1)/p0)+1\qquad \displaystyle …

4
Xの問題がX-Completeではないことを示す
レアルの実存論であるPSPACE、私はそれがあるかどうかわからない PSPACEコンプリート。そうでないと思う場合、どうすればそれを証明できますか? より一般的には、複雑度クラスXに問題がある場合、 X-Completeではないことをどのように示すことができますか?たとえば、XはNP、PSPACE、EXPTIMEになります。

2
なぜ大きな整数を因数分解するのが難しいと考えられますか?
私はどこかで、最も効率的なアルゴリズムが時間で因子を計算できることを読みましたが、私が書いたコードは、除算とモジュラスの速さに応じて、または場合によってはです。どこかで誤解したことは確かですが、どこにあるのかわかりません。擬似コード形式で記述しました。O(exp((64/9⋅b)1/3⋅(logb)2/3)O(exp⁡((64/9⋅b)1/3⋅(log⁡b)2/3)O(\exp((64/9 \cdot b)^{1/3} \cdot (\log b)^{2/3})O(n)O(n)O(n)O(nlogn)O(nlog⁡n)O(n \log n) function factor(number) -> list factors = new list if number < 0 factors.append(-1) number = -number i = 2 while i <= number while number % i == 0 factors.append(i) number /= i i++ return factors

5
問題がNP完全ではないことを証明する方法は?
NP完全ではない問題を証明する一般的な手法はありますか? 試験でこの質問を受けて、問題(下記参照)がNP-Completeであるかどうかを尋ねました。私は本当の解決策を考えることができず、それがPにあることを証明しただけです。明らかにこれは本当の答えではありません。 NP-Completeは、NPに存在する問題のセットとして定義され、すべてのNP問題をそれに限定できます。したがって、これらの2つの条件のうち少なくとも1つは、証拠と矛盾するはずです。この特定の問題は、実際にはP(およびNP)にあります。したがって、NPにはこの問題に還元できない問題があることを証明することに固執しています。いったいどうやってこれを証明できるの?? 試験で与えられた特定の問題は次のとおりです。 してみましょう内の文字列の集合とする選言標準形。してみましょうD N F S A Tはから文字列の言語もD N F変数の一部譲渡により、満足できるです。D N F S A TがNP-Completeであるかどうかを示します。DNFDNFDNFDNFSATDNFSATDNFSATDNFDNFDNFDNFSATDNFSATDNFSAT

3
ガロアの定理に複雑な視点はありますか?
ガロアの定理は、係数とラジカルの有理関数を使用して5以上の次数の多項式の根を表現できないと効果的に述べています。 次の形式の決定問題を考えます。「実根多項式与えられ、ppp数kは少なくともkのギャップで 3番目と4番目に高い根pppですか?」 この決定問題の証明証明書は、この多項式の根のセットであり、短い証明書であるため、NPNPNP BUTはガロアの定理ではなく、この証明書を見つける決定論的なアルゴリズムは存在しないと思われます決定質問?(およびこのプロパティがtrueの場合、この質問に対する答えを決定するアルゴリズムが除外されます) それでは、この決定の質問はどの複雑さのクラスにありますか? 私が見たすべてのNP完全な質問には、それらを解決するために利用可能な簡単な指数時間アルゴリズムが常にあります。これがすべてのNP完全な質問に常に当てはまるプロパティであると予想されるかどうかはわかりません。この決定の質問では、これは真実ではないようです。

2
密なNP完全言語はP = NPを意味します
ような多項式が存在する場合、言語は密であると言いますすべての換言すれば、任意の所与な長さのためにの長さの唯一の多項式多くの単語が存在ではないJ⊆Σ∗J⊆Σ∗J \subseteq \Sigma^{*}ppp|Jc∩Σn|≤p(n)|Jc∩Σn|≤p(n) |J^c \cap \Sigma^n| \leq p(n)n∈N.n∈N.n \in \mathbb{N}.nnnnnnJ.J.J. 私が現在勉強している問題は、次のことを示すように求めています 密な完全言語が存在する場合、NPNPNPP=NPP=NPP = NP テキストが示唆しているのは、 -への多項式簡約を検討し、要素も生成しながら、指定された式を満たそうとするアルゴリズムを構築すること333SATSATSATCNFCNFCNFJc.Jc.J^c. 私が思っているのは もっと直接的な証拠はありますか?この概念はより一般的な設定で知られていますか?

1
チューリングマシンのユニバーサルシミュレーション
してみましょう一定時間が構築可能関数です。fff 二テープTMが存在することのTM(Hennieとスターンズ、1966)状態の古典的なユニバーサルシミュレーション結果与えられたようにうんUU TM、および⟨ M⟩⟨M⟩\langle M \rangle 入力文字列、バツxx 以下のためのランのステップとリターン上の答え。また、は任意の関数とことができます。M X G ω (F (N )LG F (N ))g(| x |)g(|x|)g(|x|)MMMバツxxgggω(f(n)lgf(n))ω(f(n)lg⁡f(n))\omega(f(n)\lg f(n)) 私の質問は: シングルテープTMで最もよく知られているシミュレーション結果は何ですか?上記の結果も保持されますか? [HS66]に改善はありますか?ステップの2テープTMでTMをより高速にシミュレートできますか?私たちは取ることができますであることをの代わりに?g (n )ω (f (n ))ω (f (n )lg f (n ))f(n)f(n)f(n)g(n)g(n)g(n)ω(f(n))ω(f(n))\omega(f(n))ω(f(n)lgf(n))ω(f(n)lg⁡f(n))\omega(f(n)\lg f(n))

1
漸近的な下限は暗号に関連していますか?
指数関数的な硬さなどの漸近的な下限は、一般に問題が「本質的に難しい」ことを意味すると考えられています。「本質的に」解読が困難な暗号化は安全であると考えられています。 ただし、漸近的な下限は、問題のインスタンスの巨大ではあるが有限のクラスが簡単である可能性を排除しません(たとえば、サイズが未満のすべてのインスタンス)。10100010100010^{1000} 漸近的な下限に基づいた暗号化は、特定のレベルのセキュリティを付与すると考える理由はありますか?セキュリティの専門家はそのような可能性を考慮していますか、それとも単に無視されていますか? 例としては、多数の素因数への分解に基づいたトラップドア関数の使用があります。これはある時点では本質的に難しいと考えられていました(指数関数が推測であったと思います)が、今では多くの人が多項式アルゴリズムがあるかもしれないと考えています(素数性テストのように)。指数関数的な下限の欠如について誰もあまり気にしていないようです。 私は、NP困難であると考えられる他のトラップドア機能が提案されたと考えています(関連する質問を参照)。私の質問はより基本的です:漸近的な下限が何であるかは重要ですか?そうでない場合、暗号化コードの実際的なセキュリティは、漸近的な複雑さの結果に関連していますか?

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