Preprint
Article

This version is not peer-reviewed.

Note for the P Versus NP Problem (II)

Submitted:

11 November 2024

Posted:

12 November 2024

Read the latest preprint version here

Abstract
The P versus NP problem is a cornerstone of theoretical computer science, asking whether problems that are easy to check are also easy to solve. "Easy" here means solvable in polynomial time, where the computation time grows proportionally to the input size. While this problem's origins can be traced to John Nash's 1955 letter, its formalization is credited to Stephen Cook and Leonid Levin. Despite decades of research, a definitive answer remains elusive. Central to this question is the concept of NP-completeness. If even one NP-complete problem could be solved efficiently, it would imply that all problems in NP could be solved efficiently, proving P equals NP. This research proposes that a notoriously difficult NP-complete problem can be solved efficiently, thereby potentially establishing the equivalence of P and NP. This work is an expansion and refinement of the article "Note for the P versus NP problem", published in IPI Letters.
Keywords: 
;  ;  ;  ;  

1. Introduction

The P versus N P problem is a fundamental question in computer science that asks whether problems whose solutions can be easily checked can also be easily solved [1]. “Easily” here means solvable in polynomial time, where the computation time grows proportionally to the input size [1,2]. Problems solvable in polynomial time belong to the class P, while N P includes problems whose solutions can be verified efficiently given a suitable “certificate” [2].
The central question is whether P and N P are the same. Most researchers believe that P is a strict subset of N P , meaning that some problems are inherently harder to solve than to verify. Resolving this problem has profound implications for fields like cryptography and artificial intelligence [3,4]. The P versus N P problem is widely considered one of the most challenging open questions in computer science. Techniques like relativization and natural proofs have yielded inconclusive results, suggesting the problem’s difficulty [5,6]. Similar problems, such as the V P versus V N P problem in algebraic complexity, remain unsolved [7].
Resolving the P versus N P problem is often described as a “holy grail” of computer science. A positive resolution could revolutionize our understanding of computation and potentially lead to groundbreaking algorithms for critical problems. The problem is listed among the Millennium Prize Problems. While recent years have seen progress in related areas, such as finding efficient solutions to specific instances of N P -complete problems, the core question of P versus N P remains unanswered [8]. A polynomial-time algorithm for any N P -complete problem would directly imply P equals N P [9]. Our work focuses on presenting such an algorithm for a well-known N P -complete problem.

2. Background and Ancillary Results

N P -complete problems are the Everest of computational challenges. Despite the ease of verifying proposed solutions with a succinct certificate, finding these solutions efficiently remains an elusive goal. A problem is classified as N P -complete if it satisfies two stringent criteria within computational complexity theory:
(1)
Efficient Verifiability: Solutions can be quickly checked using a concise proof [9].
(2)
Universal Hardness: Every problem in the class N P can be reduced to this problem without significant computational overhead [9].
The implications of finding an efficient algorithm for a single N P -complete problem are profound. Such a breakthrough would serve as a master key, unlocking efficient solutions for all problems in N P , with transformative consequences for fields like cryptography, artificial intelligence, and planning [3,4].
Illustrative examples of N P -complete problems include:
  • Boolean Satisfiability (SAT) Problem: Given a logical expression, determine if there exists an assignment of truth values to its variables that makes the entire expression true [10].
  • Exact k-Coloring Problem: Given a graph G and a positive integer k, determine if there exists a valid coloring of G such that exactly k vertices have the same color and no adjacent vertices have the same color. This problem is equivalent to finding an independent set of size k, an N P -complete problem [11].
The provided examples represent a small subset of the extensively studied N P -complete problems relevant to our current work. Functional Problems and Decision Problems are two fundamental categories of computational problems: They differ in the nature of their outputs. Many functional problems can be transformed to decision problems and viceversa. Functional many-many polynomial-time reduction is a type of reduction in computational complexity that allows transforming instances of one problem into multiple instances of another problem, where the solution to the first problem depends on the solutions to these multiple instances. Even though this type of reduction is more flexible than the traditional many-one reduction, it still preserves the essence of N P -hardness. A bipartite graph, denoted as B = ( U , V , E ) , is an undirected graph characterized by the existence of two node sets U , V and edges in E that only connect nodes from opposite sets [12].
Definition 2.1. 
Exact Bipartite Expansion (XBE) Problem
INSTANCE: An n-vertex bipartite graph B = ( U , V , E ) and positive integers b and c.
ANSWER: A b-subset of U with exactly c neighbors in V.
REMARKS: This functional problem belongs to N P -hard: We can simplify the original problem of finding a b-subset of U with at most c neighbors in V to multiple instances of the current problem of determining if there exists a b-subset of U with exactly c neighbors in V such that 1 c c (We can disregard the case where c = 0 as it is straightforward) [13]. This serves as a clear illustration of a functional many-to-many polynomial time reduction.
An independent set V is a subset of vertices in a graph G where no two vertices in the set are connected by an edge. In addition, a vertex cover (sometimes called a node cover) of a graph G is a subset of its vertices, denoted by V , such that every edge in G has at least one endpoint in V .
Definition 2.2. 
Exact Independent Vertex Cover (XIVC) Problem
INSTANCE: An undirected graph G = ( V , E ) and a positive integer k.
QUESTION: Is there set V of exactly k vertices such that V is both a vertex cover and an independent set in G?
REMARKS: Solving the X I V C problem is akin to determining a 2-coloring of a bipartite graph such that one of the partitions contains exactly k vertices. This task can be accomplished in polynomial time, given the efficient solvability of the 2-coloring problem in bipartite graphs.
Formally, an instance of Boolean Satisfiability (SAT) Problem is a Boolean formula ϕ which is composed of:
(1)
Boolean variables: x 1 , x 2 , , x n ;
(2)
Boolean connectives: Any Boolean function with one or two inputs and one output, such as ∧(AND), ∨(OR), ¬(NOT), ⇒(implication), ⇔(if and only if);
(3)
and parentheses.
A truth assignment for a Boolean formula ϕ is a mapping from the variables of ϕ to the Boolean values { true , false } . A truth assignment is satisfying if it makes ϕ evaluate to true. A Boolean formula is satisfiable if it has at least one satisfying truth assignment. The SAT problem asks whether a given Boolean formula is satisfiable [11].
A literal is a Boolean variable or its negation. A Boolean formula is in Conjunctive Normal Form ( C N F ) if it is a conjunction (AND) of clauses, where each clause is a disjunction (OR) of one or more literals [9]. A 2 C N F formula is a C N F formula in which each clause contains exactly two distinct literals [9].
For example, the following formula is in 2 C N F :
( x 1 ¬ x 2 ) ( x 3 x 2 ) ( ¬ x 1 ¬ x 3 )
The first clause, ( x 1 ¬ x 2 ) , contains the two literals x 1 and ¬ x 2 . We define the following problem:
Definition 2.3. 
Exact Monotone Xor 2-Satisfiability (XX2MSAT) Problem
INSTANCE: An n-variable 2 C N F formula with monotone clauses (meaning the variables are never negated) using logic operators ⊕ (instead of using the operator ∨) and a positive integer k.
QUESTION: Is there exists a satisfying truth assignment in which exactly k of the variables are true?
Finally, we introduce the last problem:
Definition 2.4. 
Exact Adjacency Set (XAS) Problem
INSTANCE: A directed graph G = ( V , A ) and a positive integer k.
QUESTION: Is there set V of exactly k vertices such that for all ( u , v ) A either ( u V and v V ) or ( u V and v V )?
REMARKS: We define a k-vertex set V satisfying these conditions as an “adjacency-set”.
By presenting the N P -completeness and an efficient solution to Exact Adjacency Set, we would establish a proof that P equals N P .

3. Main Result

This is an important result.
Theorem 3.1. 
X A S is in N P -complete.
Proof. 
We can build a single or multiple X A S instances for any given n-vertex bipartite graph B = ( U , V , E ) and positive integers b , c of the well-known X B E problem inside of the complexity class N P -hard: To reduce the problem X B E to X A S , construct a directed graph G with two levels by duplicating each vertex in U just n 2 times and directing all edges from V to U. Given such a directed graph G, then ask for an adjacency-set with exactly k = b · n 2 + c vertices. Vertices without adjacent vertices are not considered in this algorithm, but they can be easily included with minor modifications. Indeed, this would be analogous to identifying an adjacency-set of size k = b · n 2 + c within G, contingent upon the presence of b isolated vertices in the original set U (prior to vertex duplication) such that b = b + b . Since X B E is N P -hard, and we have shown a polynomial-time reduction from the problem X B E to X A S , it follows that the functional variant of X A S is also N P -hard. This is a prime example of a functional many-to-many reduction that can be completed in polynomial time. Consequently, the decision variant of X A S is N P -complete. □
This is a main insight.
Theorem 3.2. 
The problem X A S can be reduced to X X 2 M S A T in polynomial time [14].
Proof. 
We can build an equivalent X X 2 M S A T instance for any given instance G = ( V , A ) of the X A S problem:
(1)
Variables:
  • Create a variable for each vertex v in the original graph G. Denote this variable as v itself.
  • For each edge ( u , v ) in G, introduce two new variables denoted by x u v and x v u .
(2)
Clauses:
  • For each edge ( u , v ) in G, construct three clauses using the new variables:
    -
    ( u x u v ) : This enforces that either u is true or the new variable x u v is true (XOR).
    -
    ( x u v v ) : This enforces that either the new variable x u v is true or v is true (XOR).
    -
    ( x v u x u v ) : This guarantees that x u v and x v u have different truth values. Note that x v u is not used elsewhere, so it only enforces there is exactly one true variable per each edge ( u , v ) over the new variables x u v and x v u .
  • Key Points about the Construction:
  • The first two clauses for each edge ( u , v ) ensures that both variables u and v for an edge have the same truth value. This is because they represent the “state” of the edge (both in the adjacency-set or both outside). By definition, a vertex adjacency-set cannot have any outgoing edges pointing to vertices outside the adjacency-set. Therefore, no edge can exist where one vertex belongs to the solution and the other does not.
  • The third clause for each edge ( u , v ) together ensure that exactly one of x u v or x v u is true in a satisfying truth assignment. Take into account this condition enforces always a true variable for each edge for every possible satisfying truth assignment.
  • Mapping between XAS solutions and XX2MSAT assignments:
  • A satisfying truth assignment in the X X 2 M S A T formula corresponds to a valid adjacency-set of exactly k vertices in the original graph G if:
    -
    Vertices variables assigned true represent the vertices in the adjacency-set V .
    -
    New variable x u v assigned true represents that the corresponding edge ( u , v ) has both endpoints outside the adjacency-set.
    -
    New variable x v u assigned true indicates that the corresponding edge ( u , v ) has both endpoints within the adjacency-set.
  • Why this construction works:
  • The clauses enforce that a satisfying truth assignment must have consistent values for a vertex and its corresponding edge variables.
  • A k > -vertex adjacency-set property translates to k original variables (vertices) being true in the satisfying truth assignment, along with exactly one true variable from the pair of new variables x u v and x v u per each edge depending on the specific adjacency-set.
  • Equivalence and Complexity:
  • There exists a satisfying truth assignment for the X X 2 M S A T formula with exactly k + A true variables if and only if there exists an adjacency-set of exactly k vertices in the original graph. ( A represents the number of edges in the graph).
  • Since X A S is known to be N P -complete, this shows that X X 2 M S A T is also N P -complete.
In essence, the proof demonstrates that solving X X 2 M S A T is equivalent to finding an adjacency-set of exactly k vertices in the X A S problem. This implies that X X 2 M S A T inherits the N P -completeness property from X A S . □
These are the main theorems.
Theorem 3.3. 
X I V C P .
Proof. 
Given the efficient solvability of the 2-coloring problem in bipartite graphs, we claim that the XIVC problem can be accomplished within polynomial time. This is a straightforward dynamic programming algorithm similar to solve subset sum: Let ( A 1 , B 1 ) , ( A 2 , B 2 ) , ( A p , B p ) be the sides of partitions A i and B i in a connected component i of the bipartite graph B = ( U , V , E ) , such that every vertex in a single partition has the same color.
Now, we create a dynamic programming table D P [ i , t ] that stores whether it is possible to have a bipartite graph with exactly t vertices on one color using the i first components. The bi-dimensional boolean array D P , having dimensions ( p + 1 ) by ( k + 1 ) and zero-based indexing, is initialized. All elements are assigned the value false , with the exception of the element at index ( 0 , 0 ) which is assigned the value true (i.e., D P [ 0 , 0 ] = true ). Using the recurrence
D P [ i , t ] = D P [ i 1 , t A i ] D P [ i 1 , t B i ] ,
we correctly decide whether there exists an entire partitioning of exactly k vertices with the same color after by examining D P [ p , k ] , where is the cardinality set function. The recurrence evaluates D P [ i , t ] as false for any i and t that do not satisfy 0 i p and 0 t k . This is a polynomial time algorithm since the running time is bounded by O ( U + V + E + p · k ) . Identifying 2-color partitions takes O ( | U | + | V | + | E | ) time using breadth-first search algorithm (BFS), while finding k vertices of the same color requires O ( p · k ) iterations. We can easily determine if a graph is two-colorable by performing a breadth-first search and assigning alternating colors to the nodes. Every connected component is partitioned into two sets using two colors. For isolated vertices, one of the sets is empty. Similarly, the dynamic programming algorithm to solve subset sum (in this specific variation) can be solved by systematically checking all possible values from 0 to k using each pair of partitions for every connected component. □
Theorem 3.4. 
X X 2 M S A T P [14].
Proof. 
There is a connection between finding a satisfying truth assignment in XX2MSAT with exactly k true variables and finding a set of exactly k vertices that is both a vertex cover and an independent set in a specific graph construction.
Here’s a breakdown of the equivalence:
(1)
Graph Construction:
  • Each vertex in the new graph represents a variable in the XX2MSAT formula.
  • Edges are created between variables based on the structure of the 2 C N F clauses: If two variables appear in a clause (e.g., ( x y ) ), then an edge is drawn between the corresponding vertices in the graph.
(2)
XX2MSAT and the Graph:
  • A truth assignment in XX2MSAT where exactly k variables are true directly translates to a set of exactly k vertices in the constructed graph where true variables correspond to the vertices included in the set.
  • The properties of XX2MSAT clauses ensure that:
    -
    Vertex Cover: The chosen vertices cover all the edges (due to the structure of the clauses and the way edges are formed). This satisfies the vertex cover condition.
    -
    Independent Set: The chosen vertices don’t have any edges connecting them (because the variables are connected in the graph, and only one variable from each clause can be true). This satisfies the independent set condition.
Therefore, finding a satisfying truth assignment with exactly k true variables in XX2MSAT is indeed equivalent to finding a set of exactly k vertices that fulfills both vertex cover and independent set requirements in the corresponding graph. However, we know the problem of finding a set of exactly k vertices that is both a vertex cover and an independent set can be solved in polynomial time. Consequently, the instances of the problem XX2MSAT can be solved in polynomial time as well. □
This is a key finding.
Theorem 3.5. 
P = N P .
Proof. 
A polynomial-time solution to any N P -complete problem would establish the equivalence of P and N P [9]. Given that Exact Adjacency Set is an N P -complete problem, a polynomial-time solution for it, as presented here, would directly imply P equals N P . □

4. Conclusion

A definitive proof that P equals N P would fundamentally reshape our computational landscape. The implications of such a discovery are profound and far-reaching:
  • Algorithmic Revolution.
    -
    The most immediate impact would be a dramatic acceleration of problem-solving capabilities. Complex challenges currently deemed intractable, such as protein folding, logistics optimization, and certain cryptographic problems, could become efficiently solvable [3]. This breakthrough would revolutionize fields from medicine to cybersecurity. Moreover, everyday optimization tasks, from scheduling to financial modeling, would benefit from exponentially faster algorithms, leading to improved efficiency and decision-making across industries [3].
  • Scientific Advancements.
    -
    Scientific research would undergo a paradigm shift. Complex simulations in fields like physics, chemistry, and biology could be executed at unprecedented speeds, accelerating discoveries in materials science, drug development, and climate modeling [3]. The ability to efficiently analyze massive datasets would provide unparalleled insights in social sciences, economics, and healthcare, unlocking hidden patterns and correlations [3].
  • Technological Transformation.
    -
    Artificial intelligence would be profoundly impacted. The development of more powerful AI algorithms would be significantly accelerated, leading to breakthroughs in machine learning, natural language processing, and robotics [8]. While the cryptographic landscape would face challenges, it would also present opportunities to develop new, provably secure encryption methods [8].
  • Economic and Societal Benefits.
    -
    The broader economic and societal implications are equally significant. A surge in innovation across various sectors would be fueled by the ability to efficiently solve complex problems. Resource optimization, from energy to transportation, would become more feasible, contributing to a sustainable future [3].
In conclusion, a proof of P = N P would usher in a new era of computational power with transformative effects on science, technology, and society. While challenges and uncertainties exist, the potential benefits are immense, making this a compelling area of continued research.

Acknowledgments

Many thanks to Sergi Simon, Jorge Félix and Melvin Vopson for their support.

References

  1. Cook, S.A. The P versus NP Problem, Clay Mathematics Institute. https://www.claymath.org/wp-content/uploads/2022/06/pvsnp.pdf, 2022. Accessed September 26, 2024.
  2. Sudan, M. The P vs. NP problem. http://people.csail.mit.edu/madhu/papers/2010/pnp.pdf, 2010. Accessed September 26, 2024.
  3. Fortnow, L. The status of the P versus NP problem. Communications of the ACM 2009, 52, 78–86. [CrossRef]
  4. Aaronson, S. P = ? N P . Open Problems in Mathematics 2016, pp. 1–122 [CrossRef]
  5. Baker, T.; Gill, J.; Solovay, R. Relativizations of the P = ? N P Question. SIAM Journal on computing 1975, 4, 431–442 [CrossRef]
  6. Razborov, A.A.; Rudich, S. Natural Proofs. Journal of Computer and System Sciences 1997, 1, 24–35. [CrossRef]
  7. Wigderson, A. Mathematics and Computation: A Theory Revolutionizing Technology and Science; Princeton University Press, 2019.
  8. Fortnow, L. Fifty Years of P vs. NP and the Possibility of the Impossible. Communications of the ACM 2022, 65, 76–85. [CrossRef]
  9. Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Introduction to Algorithms, 3rd ed.; The MIT Press, 2009.
  10. Schaefer, T.J. The complexity of satisfiability problems. Proceedings of the tenth annual ACM symposium on Theory of computing, 1978, pp. 216–226. [CrossRef]
  11. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness, 1 ed.; San Francisco: W. H. Freeman and Company, 1979.
  12. Diestel, R. Graph Theory; Springer (print edition); Reinhard Diestel (eBooks), 2024.
  13. Khot, S.; Saket, R. Hardness of Bipartite Expansion. Embedded Systems and Applications, 2016.
  14. Vega, F. Note for the P versus NP Problem. IPI Letters 2024, 2, 14–18. [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2025 MDPI (Basel, Switzerland) unless otherwise stated