SearcharxivSearch

arXiv subjects

Stepan G. Margaryan

Publications and source records attributed to Stepan G. Margaryan.

2 recordsLinked to original sources

Necessary and sufficient conditions for Boolean satisfiability

This is the second in a series of articles aimed at exploring the relationship between the complexity classes of P and NP. The research in this article aims to find conditions of an algorithmic nature that are necessary and sufficient to transform any Boolean function in conjunctive normal form into a specific form that guarantees the satisfiability of this function. To find such conditions, we use the concept of a special covering of a set introduced in [13], and investigate the connection between this concept and the notion of satisfiability of Boolean functions. As shown, the problem of existence of a special covering for a set is equivalent to the Boolean satisfiability problem. Thus, an important result is the proof of the existence of necessary and sufficient conditions that make it possible to find out if there is a special covering for the set under the special decomposition. This result allows us to formulate the necessary and sufficient algorithmic conditions for Boolean satisfiability, considering the function in conjunctive normal form as a set of clauses. In parallel, as a result of the aforementioned algorithmic procedure, we obtain the values of the variables that ensure the satisfiability of this function. The terminology used related to graph theory, set theory, Boolean functions and complexity theory is consistent with the terminology in [1], [2], [3], [4]. The newly introduced terms are not found in use by other authors and do not contradict to other terms.

cs.CC

Polynomial Time Algorithm for Boolean Satisfiability Problem

This is the latest in a series of articles aimed at exploring the relationship between the complexity classes of P and NP. In the previous papers, we have proved that the sat CNF problem is polynomially reduced to the problem of finding a special covering for a set under the special decomposition of this set and vice versa. That is, these problems are polinomially equivalent. This means that the problem of finding a special covering for a set under a special decomposition of this set, is an NP-complete problem. We also described algorithmic procedures that determine whether there is a special covering for a set under a special decomposition of this set. In this article we prove that all these algorithmic procedures have polynomial time complexity with respect to the length of input data. In addition, we will describe an algorithm that, given any Boolean function in conjunctive normal form (CNF), determines in polynomial time whether this function is satisfiable. We will prove that the time complexity of this algorithm is bounded by the cube of the length of the input data. Also, if the function is not satisfiable, the algorithm deduces this result noting the reason for this result. We have implemented an algorithm in Python, and successfully tested it on Boolean functions represented in CNF with tens of thousands of variables and tens of thousands of clauses.

cs.CC