NP Completeの言語は通常の運用で閉鎖されますか?


8

オンラインで調べてみましたが、明確な説明は見つかりませんでした。2つのNPC言語のUnionとIntersectionが、必ずしもNPCにあるとは限らない言語を生成することは、私には理にかなっています。NPC言語が補完、連結、およびクリーンスター操作の下で閉じられていないことも本当ですか?


1
注:通常の操作は、和集合、連結、およびクリーネスターであり交差および補完ではありません
A.Schulz

なぜ交差して補完しないのですか?通常の操作の正式な定義はどこにも見たことがありません。
Tushar 14

@Tushar Indeed:union、concatenation、Kleene starは通常の演算ですが、union、intersection、complementはブール演算です。ウィキペディアを参照してください。
Hendrik Jan 2014年

@Tushar:これらの操作は正規表現を構築するために使用されるためです。
A.Schulz 2014年

回答:


15

この回答に記載されている例のすべてについて、私はあることを、アルファベットを取っている。言語そのノート{ 0 1 } *は間違いないNPの -complete。{0,1}{0,1}

  • NP完全言語のクラスは共通部分で閉じられていません。いずれかのためにNP -complete言語  、聞かせてL 0 = { 0 、W | W L }及びL 1 = { 1 、W | W L }L 0と  L 1が共にNPの -completeが、L 0L 1 = LL0={0wwL}L1={1wwL}L0L1L0L1=

  • NPコンプリート言語のクラスは、組合のもとでは閉鎖されていません。所与NP -complete言語と  L 1せ、前の部分からのL ' 0 = L 0{ 1 W | W { 0 1 } * } { ε }及びL ' 1 = L 1{ 0 W | W { 0 L0L1L0=L0{1ww{0,1}}{ε}L ' 0および  L ' 1が共にNPの-completeが、 L ' 0L ' 1 = { 0 1 } *L1=L1{0ww{0,1}}{ε}L0L1L0L1={0,1}

  • NP完全言語のクラスは、連結によって閉じられません。前の部分のNP完全言語と  L 1を考えます。両方の言語が含まれているので、  ε、我々はL ' 0 L ' 1L ' 0L ' 1 = { 0 1 } *L0L1εL0L1L0L1={0,1}

  • NP完全言語のクラスは、Kleene starの下で閉じられていません。いずれかのためにNP -complete言語  L { 0 1 }であるNPの -completeが、 L { 0 1 } * = { 0 1 } *LL{0,1}(L{0,1})={0,1}

  • NP完全問題のクラスが補完の下で閉じられる場合、NP  =  coNPです。これが真実であるかどうかは、複雑性理論における主要な未解決の問題の1つです。


補語を除いて、NP完全な言語はそれらすべての下で閉じられていませんか?それともPですか?
Adjit 2017

@アジット 私はそれらのどれの下でもNPが閉鎖されていないことを証明しました。
David Richerby 2017

あなたの特定の言語のために。しかし、私{0, 1}*はどのようにしてNPが完全ではないかを見ていません。たとえば、2つのNP完全な言語の共通部分を使用する場合、NP完全な言語を取得して、共通部分の下でNPを閉じるべきではありませんか?
Adjit 2017

{0、1} *と空の言語は規則的であるため、NP-Completeではなく多項式時間で決定できます。@DavidRicherbyは、交差がNP-Completeではない2つのNP-Complete言語が存在することを示しました。これは、NPCが交差点で閉じられていないことを証明するには十分です。
weirdev

@weirdevいいえ!Σ は、他の言語がそれらに還元しないため、NP完全ではありません。それらがPに含まれていると言うだけでは十分ではありません。Pの言語がNP完全であってはならないことはわかりません。Σ
David Richerby

-2

ここで、NP言語のユニオン、インターセクション、連結、およびクリーンスターの証明をご覧ください。NP完全言語についても同様の議論ができるようです。

表記については

  • 3-SATのような知られたNP完全問題を決定するOracleのこと。還元可能なチューリングの定義を見るA
  • L 2はNP完全言語ですL1L2
  • M 2は、 Aを使用して L 1 L 2を決定するチューリングマシンです。M1M2L1L2A
  • ある L 1L 2L3L1L2
  • L 3を決定するチューリングマシンです。M3L3

1からの共用体の場合、M 1M 2をサブルーチンとして呼び出すことにより、L 3を決定する新しいマシンを作成できます。次に、M 1またはM 2が呼び出されるたびに、Aも呼び出されます。したがって、M 3Aを使用してL 3を決定します。1からの引数により、M 3の実行時間はPであり、Aをサブルーチンとして使用するため、L 3はNP-Completeです。言い換えると、M3L3M1M2M1M2AM3L3AM3AL3のと同じ理由のためにNP完全であり、 L 1及び L 2は、 NP完全です。L3L1L2

同じ議論を交差させることができます、そして、同様の議論が連結、およびクリーンスターのために作られる可能性があるように見えます。

賛辞の場合、同じ理由で証明するのは難しいと思われるが、NPで賛辞証明するのは難しい


NP-completeness is defined in terms of many-one reductions, not oracle reductions. Further, the NP-complete languages are definitely not closed under union or intersection. If they're closed under complement, then NP=coNP, which is a major open question.
David Richerby

In Stephen Cook's 1971 paper[1] which defines NP-Completeness he uses a Query machine which is the same concept as an Oracle. You should also check out the link above on turing reducibility. [1] chell.co.uk/media/product/_master/1/files/…
joebloggs

@joebloggs: I can see from your argument that union and intersection of two NP-Complete languages is NP. However, it still doesn't prove whether it is NP-complete. You have to reduce the union or intersection of two NP-complete decision problem to a NP-complete decision problem to show that.
Tushar

@DavidRicherby: You say that the NP-complete languages are definitely not closed under union or intersection. I am interested in looking at the proof for that. Do you have any references for that proof?
Tushar

2
@joebloggs:引数はNP言語では機能しますが、NP完全言語では機能しません。言語LがNp完全であることを証明するには、Lから既知のNP完全言語への多項式簡約を提供する必要があります。デビッドの答えについては、空の言語と普遍的な言語の両方がPに含まれているため(したがって、それらもNPに含まれているため)、Pは共通部分の下で閉じていますが、NP完全ではありません。それが明らかになることを願っています!
Tushar 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.