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

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

2
問題がNP完全であることを証明するために、問題間の縮約を構築するにはどうすればよいですか?
私は複雑なコースを取っているのですが、NPCの問題を減らすのに苦労しています。問題間の削減を見つけるにはどうすればよいですか?使用できる一般的なトリックはありますか?問題がNPCであることを証明するように要求する問題にどのようにアプローチすればよいですか?

3
NPで「明らかに」ではないNP完全問題
私が読んだすべての完全性証明(覚えている)で、問題がにあることを示し、それがであることを示すことは常に些細なことです。 -ハードは...ハードな部分です。何 -completeの問題は、その多項式時間検証非常に非自明であるこれらは何ですか?NP\textbf{NP}NP\textbf{NP}NP\textbf{NP}NP\textbf{NP}

1
正規表現ゴルフはNP-Completeですか?
この最近のXKCDストリップと最近のブログ投稿に見られるようにPeter Norvig(および後者を特徴とするSlashdotの物語)から、「regex golf」(正規表現分離問題と呼ばれることもあります)は、セットAのすべての単語を受け入れ、単語を受け入れない最短の正規表現を定義するパズルです。セットB. Norvigの投稿には、適度に短い候補を生成するためのアルゴリズムが含まれており、彼のアプローチはNP完全なSet Cover問題の解決を伴うことに注意しますが、そしてもちろん、彼だけが必ずしもアルゴリズムではないため、彼の解が最適であるとは限りません。また、他の確実な多項式時間アルゴリズムが同等またはより良い解を見つける可能性もあります。 具体性のために、また最適化の問題を解決する必要を避けるために、正規表現分離の最も自然な定式化は次のようになると思います。 2(有限)与えられたセットとB、いくつかのアルファベットを超える文字列のΣを、長さの正規表現があり≤ kの中のすべての文字列受け付けAをし、内のすべての文字列を拒否するBは?AAABBBΣΣ\Sigma≤k≤k\leq kAAABBB この特定の分離問題の複雑さについて何か知られていますか?(とBを文字列の有限セットとして指定しているため、問題のサイズの自然な概念はAとBのすべての文字列の合計の長さであることに注意してください。これはkからの寄与を圧倒します)。それは NP完全である可能性が非常に高いと思われますが(実際、何らかのカバー問題への削減が期待されます)、いくつかの検索は特に有用なものを見つけていません。AAABBBAAABBBkkk

2
問題がNP完全である可能性があるかどうかを知るための経験則
この質問はStackOverflowに関するコメントに触発されました。 Garey Johnsonの本や他の多くのNP完全問題を知っていることは別として、問題がNP完全な問題のように見えるかどうかを知るための経験則はありますか? 厳密なものを探しているのではなく、ほとんどの場合に機能するものを探しています。 もちろん、問題がNP完全であること、またはNP完全問題のわずかな変形であることを証明する必要があるたびに。しかし、証明に急いで行く前に、証明の肯定的な結果に一定の自信を持つことは素晴らしいことです。

2
意思決定問題の最適化バージョン
この質問は、Computer Science Stack Exchangeで回答できるため、Theoretical Computer Science Stack Exchangeから移行されました。 7年前に移行され ました。 各最適化/検索問題には同等の決定問題があることが知られています。たとえば、最短経路問題 最適化/検索バージョン: 無向無加重グラフと2つの頂点与えられた場合、と間の最短経路を見つけます。G=(V,E)G=(V,E)G = (V, E)v,u∈Vv,u∈Vv,u\in Vvvvuuu 決定版: 無向無加重グラフ、2つの頂点、および非負の整数与えられた場合、長さが最大でであると間にパスがありますか?G=(V,E)G=(V,E)G = (V, E)v,u∈Vv,u∈Vv,u\in VkkkGGGuuuvvvkkk 一般に、「 stを見つけてください!」「x \ in X st f(x)\ leq kがありますか?」になります。x∗∈Xx∗∈Xx^*\in XX ∈ X F (X )≤ Kf(x∗)=min{f(x)∣x∈X}f(x∗)=min{f(x)∣x∈X}f(x^*) = \min\{f(x)\mid x\in X\}x∈Xx∈Xx\in Xf(x)≤kf(x)≤kf(x) \leq k しかし、その逆も真です。つまり、すべての決定問題に対して同等の最適化問題がありますか?そうでない場合、同等の最適化問題がない決定問題の例は何ですか?

2
DominosaはNPハードですか?
この質問は、Computer Science Stack Exchangeで回答できるため、Mathematics Stack Exchangeから移行されました。 6年前に移行され ました。 Dominosaは比較的新しいパズルゲームです。(n+1)×(n+2)(n+1)×(n+2)(n+1)\times(n+2) グリッドで再生されます。ゲームが始まる前に、ドミノの骨 (0,0),(0,1),…,(n,n)(0,0),(0,1),…,(n,n)\left(0,0\right),\left(0,1\right),\ldots,\left(n,n\right) (完璧なタイリングを構成する)グリッド上に配置されています。次のステップでは、ドミノのボーンが非表示になり、数字のみが表示されます。ゲームの目的は、ドミノの骨の元の配置を回復することです。ここでゲームをプレイできます:http://www.puzzle-dominosa.com/: ルール: ルールは簡単です。グリッド上のすべてのドミノの場所を見つける必要があります。ドミノは数字のペアです。各ペアは1つしか持てません。 パズルの比較的小さな部分を解決する多項式アルゴリズムがいくつかあります。また、典型的なDominosaグリッドには少なくとも2n2+o(n)2n2+o(n)2^{\frac{n}{2}+o\left(n\right)}ソリューション。 DominosaはNPハードですか?

1
文字列内の最長の繰り返し(散乱)サブシーケンス
非公式の問題声明: ACCABBABACCABBABACCABBABなどの文字列が与えられたとき、左から右に赤い文字のみを読むと、読むのと同じ結果が得られるように、いくつかの文字を赤、いくつかの文字を青に色付けします。青い文字のみ。 例では、次のように色を付けることができますACCABBABACCABBABA\color{blue}{C}\color{red}{CAB}B\color{blue}{AB} したがって、CABCABCABは繰り返しサブシーケンスであると言いACCABBABACCABBABACCABBABます。また、最長の繰り返しサブシーケンスです(確認しやすい)。 最長の繰り返しサブシーケンスを効率的に計算できますか? 正式な質問: 文字列といくつかのkkkについて、長さ繰り返し部分シーケンスがkkk文字列に存在するかどうかを決定するのはNP困難ですか? その場合:どの問題をこの問題に減らすことができますか? そうでない場合:効率的なアルゴリズムとは何ですか?(明らかに、このアルゴリズムを使用して、最長の繰り返しサブシーケンスを計算できます) ボーナス質問: アルファベットのサイズが定数で制限されている場合、それらは常に長さ繰り返し部分シーケンスになりn/2−o(n)n/2−o(n)n/2 - o(n)ますか? (これはバイナリアルファベットに当てはまることが知られています。) 編集2:ボーナス質問に対する否定的な答えは、少なくとも文字のアルファベットで既に知られています555。実際、サイズがアルファベットの場合、長さが単に最も長い繰り返しサブシーケンスを持つ文字列があります。これを表示するには、ランダムな文字列で十分です。結果はすでに存在していましたが、見落としていました。ΣΣΣO(n⋅Σ−1/2)O(n·Σ−1/2)O(n · Σ^{-1/2}) 編集: 注: 一部の人々は、「サブシーケンス」と言うときに「サブストリング」を意味します。しません。これは、サブストリングを2回見つける問題ではありません。

3
NP完全性の教育-チューリング削減対カープ削減
コンピューターサイエンス専攻にNP完全性を教えるのに最適な方法についての質問に興味があります。特に、Karp削減またはチューリング削減を使用してそれを教える必要がありますか? NP完全性と削減の概念は、すべてのコンピューターサイエンス専攻が学ぶべきものだと思います。しかし、NP完全性を教えるとき、カープ削減の使用にはいくつかの欠点があることに気付きました。 第一に、カープの削減は一部の学生にとって不必要に混乱させるようです。削減の直感的な概念は、「問題Xを解決するアルゴリズムがあれば、それを使用して問題Yも解決できます」です。これは非常に直感的ですが、カープの削減よりもチューリングの削減にはるかに良く対応します。その結果、NP完全性を証明しようとする学生は、直感に惑わされ、誤った証明を形成することがわかります。両方の種類の縮約を教えようと試み、カープ縮約のこの側面を強調することは、不必要な形式主義のように感じられ、不必要な授業時間と不必要な技術的詳細のように感じることに学生が注意を払うことがあります。このより制限された削減の概念を使用する理由は自明ではありません。 カープ削減とチューリング(クック)削減の違い、およびそれらがどのようにNP完全性の異なる概念につながるかを理解しています。カープの削減により、複雑さのクラス間の区別がより細かくなります。したがって、複雑性理論を真剣に研究するためには、カープ削減が明らかに正しいツールです。しかし、これを学んでいるだけで複雑性理論に進まないコンピューターサイエンスの学生にとって、この細かい区別が重要であるかどうかは、彼らがさらされるために重要です。 最後に、学生として、私は「トートロジー」のような問題に出くわしたとき戸惑っていたのを覚えています。たとえば、ブール式を与えられ、それがトートロジーであるかどうかを確認します。紛らわしいのは、この問題が明らかに難しいことです。そのための多項式時間アルゴリズムは、P=NPP=NPP=NP; この問題を解決することは、明らかにトートロジーの問題を解決するのと同じくらい難しいです。ただし、直感的にトートロジーは充足可能性と同じくらい困難ですが、トートロジーはNP困難ではありません。はい、今日これがなぜそうなのか理解していますが、当時私はこれに戸惑っていたことを覚えています。(結局、頭を突き抜けたのは、どうしてNPハードとコNPハードを区別するのかということです。とにかく、それは人為的なものであり、実践によってあまり動機付けられていないようです。実際の観点から見ると、co-NPの硬度はNPの硬度と本質的に同じ実際的な結果をもたらすように思われますが、なぜこの区別にすべてがこだわるのでしょうか?はい、私は知っています答えですが、学生として、私はこれが主題をより不可解でやる気が少ないと感じただけだったことを覚えています) だから、私の質問はこれです。NP完全性を生徒に教えるとき、カープ削減またはチューリング削減を使用して教える方が良いですか?チューリング縮約を使用してNP完全性の概念を教えようとした人はいますか?もしそうなら、それはどうでしたか?チューリング簡約を使用して概念を教え、カープ簡約に関連する概念上の問題をスキップした場合、非自明な落とし穴または欠点はありますか? 関連:こことここを参照してください。文献でKarpリダクションを使用する理由は、NP硬度とco-NP硬度を区別できるためです。ただし、この能力がすべてのCS専攻で取られるべきアルゴリズムクラスの学習目標にとって重要であるかどうかの教育学的観点に焦点を当てた答えを与えていないようです。同様の議論があるcstheory.SEのこちらも参照してください。

5
NPでこの決定できない問題がないのはなぜですか?
明らかにNPには決定できない問題はありません。ただし、ウィキペディアによると: NPは、答えが「はい」であるインスタンスが決定論的チューリングマシンによって多項式時間で検証可能な[..証明]を持つすべての決定問題のセットです。 [...] 多項式時間で実行される問題の検証者が存在する場合にのみ、問題はNPにあると言われます。 ここで、次の問題を検討してください。 ディオファントス方程式が与えられた場合、整数解はありますか? 解決策を考えると、それはそれが本当にいることを多項式時間で検証するのは簡単ですですソリューション:ちょうど式に数字を差し込みます。したがって、問題はNPにあります。ただし、この問題を解決することは決定できないことが有名です! (同様に、「このプログラムはN番目のステップで停止する」という「はい」解決策はNステップで検証できるため、停止の問題はNPにあるはずです。) 明らかに、私の理解には何か問題がありますが、それは何ですか?


2
計算は簡単だが検証が難しい問題はありますか?
P NPであると仮定すると、NP完全問題は「解決が難しいが、確認しやすい答えがあります」。正反対、つまり、正しい答えを計算するのは簡単ですが、任意の目的のソリューションを検証するのは難しい問題を考慮することは意味がありますか?≠≠\neq このような問題は次のいずれかを意味すると思います。 すべての正解を単純に計算することで検証を実行できるため、与えられた入力に対して指数関数的に多くの「正解」解答。 一部の「正しい」答えは簡単に計算できますが、他の答えは見つけるのが困難です。

3
下限を証明することは本当に可能ですか?
計算上の問題がある場合、そのような計算の下限を見つけるタスクは本当に可能ですか?私はそれが単一の計算ステップがどのように定義され、どのモデルが証明に使用されるかを要約すると思いますが、それを考えると、実際に一般的に下限を証明しますか?私が意味することは、私たちは「問題のように何かを証明することができるであるより速く解くことができないではなく、」問題のある時間「で解決することができる時間またはより高速な」?XXXt(X)t(X)t(X)XXXt(X)t(X)t(X) 特に下限とその証拠に関する情報を見つけようとしましたが、興味のあるもの、主題に関する書籍/論文/ウェブサイトに関する推奨事項を実際に見つけることができませんか?

2
#SATを解決するために時々効率的なアルゴリズムはありますか?
してみましょう通常のAND、OR、およびNOT演算子と、いくつかの変数からなるブール式も。Bの満足できる割り当ての数をカウントしたいと思います。それは私がの変数に真理値の異なる割り当て数を見つけたい、であるBそのためBが真の値をとります。例えば、式A ∨ Bは 3つの満足割り当てを有します。(∨ B )∧ (C ∨ ¬ Bは) 4を有しています。これが#SAT問題です。BBBBBBBBBBBB∨ Ba∨ba\lor b(∨ B )∧(C ∨ ¬ B )(a∨b)∧(c∨¬b)(a\lor b)\land(c\lor\lnot b) 明らかに、この問題の効率的な解決策は、SATの効率的な解決策を意味しますが、これはありそうにありません。実際、この問題は#P完全であり、SATよりも厳密に難しい場合があります。したがって、保証された効率的なソリューションを期待していません。 しかし、SAT自体の本当に難しいインスタンスは比較的少ないことがよく知られています。(たとえば、Cheeseman 1991、「本当に難しい問題はどこにあるか」を参照してください。)通常の枝刈り検索は、最悪の場合は指数関数的ですが、多くのインスタンスを効率的に解決できます。解決方法は、最悪の場合指数関数的ですが、実際にはさらに効率的です。 私の質問は: 一般的なブール式の充足可能な割り当ての数をすばやくカウントできるアルゴリズムは、そのようなアルゴリズムが一般的なインスタンスで指数関数的な時間を必要とする場合でも既知ですか?可能なすべての割り当てを列挙するよりも著しく優れたものはありますか?

2
Logical Min-Cut NP-Completeですか?
この質問は、Computer Science Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 Logical Min Cut(LMC)問題定義 が重みなし有向グラフであり、とが 2つの頂点であり、がから到達可能であると仮定します。LMC問題は、次の制約に従ってエッジを削除することで、から到達不能にする方法を研究しています。s t V t s t s GG=(V,E)G=(V,E)G = (V, E)ssstttVVVtttssstttsssGGG 削除されるエッジの数は最小限でなければなりません。 頂点のすべての出口エッジを削除することはできませんGGG(つまり、外向きのエッジを持つ頂点では、外向きのエッジをすべて削除することはできません)。 この2番目の制約は、論理的削除と呼ばれます。そこで、tがsから到達できないようなGのエッジの論理的で最小限の削除を探します。GGGtttsss ソリューションの試み LMC問題の論理的除去制約を無視すると、重みなし有向グラフの最小カット問題にGGGなるため、多項式で解くことができます(最大フロー最小カット定理)。 LMC問題の最小除去制約を無視すると、再びDAGで多項式的に解くことができます。kはsから到達可能で、tはkから到達できないような頂点見つけます。次に、sからkへの任意のパスであるパスpを考えます。ここで、パスpをサブグラフとして考えてください。答えはサブグラフすべての出口エッジになります。頂点が多項式時間で DFSによって見つけられることは明らかです。残念ながら、このアルゴリズムは一般的に機能しませんkkkkkkssstttkkkpppssskkkpppp k GGGGpppkkkGGG 任意の有向グラフの場合。 ダイナミックプログラミング手法でLMC問題を解決しようとしましたが、問題を解決するために必要な状態の数が指数関数的になりました。さらに、3-SAT、max2Sat、max-cut、cliqueなどのいくつかのNP-Completeの問題を、なんとか削減できなかったLMC問題に還元しようとしました。 個人的には、がバイナリDAG(つまり、2次を超えるノードを持つノードがないDAG)であっても、LMC問題はNP完全であると思います。GGG ご質問 LMCの問題は、任意の有向グラフでNP-完全ですか?(主な質問)GGG LMCの問題は任意のDAGでNP-Complete ですか?GGG LMCの問題は、任意のバイナリDAGでNP-Complete ですか?GGG

2
「NP完全」最適化問題
この質問は、Computer Science Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 最適化の問題の複雑さに関して出くわした用語に若干混乱しています。アルゴリズムのクラスでは、NP完全として記述された大きな節約の問題がありました。しかし、最適化問題の文脈でNP完全という用語が何を意味するのか正確にはわかりません。これは、対応する決定問題がNP完全であることを意味するだけですか?そして、それは最適化の問題が実際にはもっと難しいかもしれないことを意味しますか(おそらくNPの外で)? 特に、NP完全決定問題は多項式時間検証可能ですが、対応する最適化問題の解決策は多項式時間検証可能ではないようです。それは、問題が実際にはNPにないことを意味しますか、それとも多項式時間検証可能性はNP決定問題の特性に過ぎないのですか?

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