In a CNF formula, a clause contains one or more terms. Each term is either a variable, or the negation of a variable. The only limitations we will place on the clauses (for this problem) is that if a clause mentions a variable (or its negation) once, then it must not mention the same variable (or its negation) again. Therefore, both of the following clauses are disallowed: (a ∨ b ∨ a) (a ∨ b ∨ ¬a) However, your program might well generate similar clauses with different negation patterns. The following are four different clauses: (a ∨ b),(a ∨ ¬b),(¬a ∨ b),(¬a ∨ ¬b)

nikakede

nikakede

Answered question

2022-09-05

Discrete Math Clause Count Question
In a CNF formula, a clause contains one or more terms. Each term is either a variable, or the negation of a variable. The only limitations we will place on the clauses (for this problem) is that if a clause mentions a variable (or its negation) once, then it must not mention the same variable (or its negation) again. Therefore, both of the following clauses are disallowed: ( a b a ) ( a b ¬ a ) However, your program might well generate similar clauses with different negation patterns. The following are four different clauses: ( a b ) , ( a ¬ b ) , ( ¬ a b ) , ( ¬ a ¬ b )
Part (a) - In general, as your program runs, it will generate larger and larger clauses, with a maximum of v terms per clause, if there were v variables mentioned in the original formula. Calculate the number of possible clauses which have exactly n terms, if the original formula mentioned v variables
Part (b) - Calculate the sum total number of clauses (of various sizes) that your program might generate, if the original formula mentioned v variables.
Part (c) - Suppose the original formula mentioned v variables, but every single clause had two or fewer terms. Calculate the total number of clauses which your program might generate.
Part (d) Based on your result from Part (b), give a very rough (thousands, millions, etc) estimate of how many clauses your program might generate if v = 10, and the clauses in the original formula can be of any size. What would happen if v were to double? How does the count change?

Answer & Explanation

darkflamexivcr

darkflamexivcr

Beginner2022-09-06Added 14 answers

Step 1
a) You have v variables. How many clauses can you form that have n variables? There are ( v n ) ways to choose the n variables. For each of the n variables, you have a choice of the variable or its negation. There are 2 n choices. So, in total S n = ( v n ) 2 n
Step 2
b) This is simply the sum of S 1 + S 2 + . . . + S v
Step 3
c) This is simply S 1 + S 2
Step 4
d) Compare the answer in part (b) for v = 10   a n d   v = 20

Do you have a similar question?

Recalculate according to your conditions!

New Questions in Discrete math

Ask your question.
Get an expert answer.

Let our experts help you. Answer in as fast as 15 minutes.

Didn't find what you were looking for?