CNFからDNFへの変換がNPハードであることの証明


20

CNFからDNFへの変換がNPハードであることをどのように証明できますか?

私は答えを求めているのではなく、それを証明する方法についていくつかの提案をしています。


5
で、深い分析は、この紙に見てみるために「DNFにCNFを変換するには、」
はVor

@ A.Schulz:Steve Cookの論文の元の定義は、Cookリダクションを使用して定義しています。一般的なNP硬度en.wikipedia.org/wiki/NP-hardを
Kaveh

CNF <-> DNF変換は決定ではなく、言語であることが必要です。入力と出力を備えた関数であり、NPなどで決定問題に変換する必要があります。非決定問題はサイズの指数関数的な爆発につながることが証明されていると考えられます[たとえば、Vors ref]決定問題のNP完全版(存在する場合)は、おそらく大幅に簡素化されます。また、Vors refが示すように、CNF <-> DNF変換の実際の複雑さは、活発な研究上の問題です...圧縮アルゴリズムの効率にある程度の類似性があることに注意してください
...-vzn

2
それの場合@vzn質問は尋ねNPがない、-hard NPの -complete。これは、NPのメンバーシップが必要ないため、意思決定の問題になる必要がないことを意味します。
デビッドリチャービー

回答:


18

非公式:

DNFでは、式を真にするために、真となる任意の句を選択できます。つまり、特定のCNFと同等のDNFは、基本的にはCNFに存在するブール値に対するすべてのソリューションの列挙です。指数関数的な数の解が存在する可能性があることに注意してください。単一のソリューションでCNFのブール値を解決することはNP完全であるため、DNFに変換することは本質的にすべてのソリューションで解決することを意味します。したがって、少なくともブールSATと同じくらい困難であり、したがってNP困難です。

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