サイズNのSAT(ブール充足可能性)問題のインスタンスの数?


7

SAT問題のインスタンスのサイズは、(ブール)変数の数によって測定されると思います。サイズNのSAT問題のインスタンスの総数はいくつですか?

これは、CNFやDNFなどの正規形を使用して、N個のブール変数によって形成できる「明確な」数式の数を数えることになると思います。

更新:この質問は、3SATケースについて部分的に回答されていますhttps ://cstheory.stackexchange.com/q/2168/15553

別個のの数は次のとおりです。

C=2N×2(N1)×2(N2)/3!=4N(N1)(N2)/3

1
どのような論理演算子が許可されていますか?任意の言語で単語を数える方法を知っていますか?
ラファエル

1
この問題が発生する状況は何ですか?動機は何ですか?なんで気にするの?どのように答えを使用しますか?そして....あなたは何を試しましたか?質問する前に自分で質問に答え、真剣に取り組み、何を試したかを質問に示してください。
DW

申し訳ありませんが、この質問について考えるのが一時的に忙しいのですが、時間があるときに更新します:)
Yan King Yin

回答:


6

3-Conjunctive Normal Form(3CNF)(すべての句に正確に3つのリテラルがある)を検討し、繰り返される変数を含む句を許可する場合は、 N 変数異なる3SAT句の数は (2N)32N すべてのリテラルが無視されない、または否定される可能性があるためです。

したがって、(繰り返される節のない)異なる3CNF式の総数は 2(2N)3

ただし、3CNF式の「サイズ」(たとえば、決定問題の入力と見なされる)は通常、その表現のサイズであるため、注意してください。たとえば、アルファベットを使用してΣ={0,...,9,,",} 3CNF式 (x1x¯2x3)(x2x¯3x¯4) 文字列で表すことができます:

1,-2,3,2,-3,-4

その長さは14です。


5

節は、n個の変数に対するリテラルで構成されます。インスタンスが別個の句のサブセットであると仮定しましょう。節のパワーセットとしてインスタンスの数を計算できることは明らかですが、そのためには、まず有効な節と見なすものを明確にする必要があります。

一般的には、各変数のいずれかであろう表されるそのリテラルの一方または両方によって、あるいはそれがされる図示しません。変数が表される場合、正のリテラルのみ、負のリテラルのみ、またはその両方で表すことができます。各変数には4つの可能なケースがあり、n変数、4可能な句。私たちが持っているnull句を除外する41 句全体、およびnullインスタンスを除く、 2411 可能なインスタンス。

もちろん、任意の変数の両方のリテラルを含む句は特に有用ではありません。それぞれがすべての割り当てによって満たされます。これらの句は実際には制約を追加しないため、制約句に注意を向けましょう。

そうすることで、変数が両方のリテラルをとる可能性を排除するため、変数ごとに3つの可能なケースが残されます。 可能な句。null句とnullコレクションを再度除外すると、211 可能なインスタンス。

k-SATの場合、各句には正確にk個のリテラルがあります。明らかに、kk個の変数を選択する方法。ただし、節ごとに正確にk個のリテラルが必要なので、各変数は、正または負のリテラルでのみ表すことができます。したがって、2kk k句、および 22kk1 k-satのインスタンス。

最後に、正確にc句を含むインスタンスの数を決定することもできます。

  • null句を除くすべての可能な句: 41c
  • 制約句の場合: 1c
  • k句の場合: 2kkc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.