1. Introduction
The
P versus
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
includes problems whose solutions can be verified efficiently given a suitable “certificate” [
2].
The central question is whether
P and
are the same. Most researchers believe that
P is a strict subset of NP, 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
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
versus
problem in algebraic complexity, remain unsolved [
7].
Resolving the
P versus
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
-complete problems, the core question of
P versus
remains unanswered [
8]. A polynomial-time algorithm for any
-complete problem would directly imply
P equals
[
9]. Our work focuses on presenting such an algorithm for a well-known
-complete problem.
2. Background and Ancillary Results
-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 -complete if it satisfies two stringent criteria within computational complexity theory:
Efficient Verifiability: Solutions can be quickly checked using a concise proof [
9].
Universal Hardness: Every problem in the class NP can be reduced to this problem without significant computational overhead [
9].
The implications of finding an efficient algorithm for a single
-complete problem are profound. Such a breakthrough would serve as a master key, unlocking efficient solutions for all problems in
NP, with transformative consequences for fields like cryptography, artificial intelligence, and planning [
3,
4].
Illustrative examples of -complete problems include:
Boolean satisfiability (SAT): 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 [
11].
The provided examples represent a small subset of the extensively studied -complete problems relevant to our current work. A bipartite graph, denoted as , is an undirected graph characterized by the existence of two node sets and edges in E that only connect nodes from opposite sets.
Definition 1. Exact Bipartite Expansion
INSTANCE: An n-vertex bipartite graph and positive integers b and c.
ANSWER: A b-subset of U with exactly c neighbors in W.
REMARKS: This functional problem belongs to -hard [12].
An independent set 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 , such that every edge in G has at least one endpoint in .
Definition 2. Exact Independent Vertex Cover
INSTANCE: An undirected graph and a positive integer k.
QUESTION: Is there set of exactly k vertices such that is both a vertex cover and an independent set in G?
REMARKS: Solving the Exact Independent Vertex Cover problem is akin to determining a 2-coloring of a bipartite graph such that one of the partitions contains exactly k vertices [11]. This task can be accomplished in polynomial time, given the efficient solvability of the 2-coloring problem in bipartite graphs [11].
Formally, an instance of Boolean satisfiability problem (SAT) is a Boolean formula which is composed of:
Boolean variables: ;
Boolean connectives: Any Boolean function with one or two inputs and one output, such as ∧(AND), ∨(OR), ¬(NOT), ⇒(implication), ⇔(if and only if);
and parentheses.
A truth assignment for a Boolean formula
is a set of values for the variables in
. A satisfying truth assignment is a truth assignment that causes
to be evaluated as true. A Boolean formula with a satisfying truth assignment is satisfiable. The problem
asks whether a given Boolean formula is satisfiable [
10].
We define a
Boolean formula using the following terms: A literal in a Boolean formula is an occurrence of a variable or its negation [
9]. A Boolean formula is in conjunctive normal form, or
, if it is expressed as an AND of clauses, each of which is the OR of one or more literals [
9]. A Boolean formula is in 2-conjunctive normal form or
, if each clause has exactly two distinct literals [
9].
For example, the Boolean formula:
is in
. The first of its three clauses is
, which contains the two literals
and
. We define the following problem:
Definition 3. Exact Monotone Xor 2-satisfiability problem (EMX2SAT)
INSTANCE: An n-variable 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 4. EXACT CLOSURE
INSTANCE: A directed graph and a positive integer k.
QUESTION: Is there set of exactly k vertices such that for all either ( and ) or ( and )?
REMARKS: We define a k-vertex set satisfying these conditions as a “closure”.
By presenting the -completeness and an efficient solution to EXACT CLOSURE, we would establish a proof that P equals .
3. Main Result
This is a known result.
Theorem 1. .
Proof. We can build an equivalent EXACT CLOSURE instance for any given n-vertex bipartite graph of the Exact Bipartite Expansion problem: To reduce the problem Exact Bipartite Expansion to EXACT CLOSURE, construct a directed graph G with two levels by duplicating each vertex in U just times and directing all edges from W to U. Given such a directed graph G, then ask for a closure set with exactly vertices. Since Exact Bipartite Expansion is -hard, and we have shown a polynomial-time reduction from the problem Exact Bipartite Expansion to EXACT CLOSURE, it follows that the functional variant of EXACT CLOSURE is also -hard. Consequently, the decision variant of EXACT CLOSURE is -complete. □
This is a main insight.
Theorem 2. The problem EXACT CLOSURE can be reduced to in polynomial time.
Proof. We can build an equivalent instance for any given instance of the EXACT CLOSURE problem:
- 1.
-
Variables:
Create a variable for each vertex v in the original graph G. Denote this variable as v itself.
For each edge in G, introduce two new variables denoted by and .
- 2.
-
Clauses:
-
Key Points about the Construction:
The first two clauses for each edge 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 closure or both outside). By definition, a vertex closure cannot have any outgoing edges pointing to vertices outside the closure. Therefore, no edge can exist where one vertex belongs to the solution and the other does not.
The third clause for each edge together ensure that exactly one of or 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 CLOSURE solutions and EMX2SAT assignments:
-
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 -vertex closure 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 and per each edge depending on the specific closure.
-
Equivalence and Complexity:
There exists a satisfying truth assignment for the formula with exactly true variables if and only if there exists a closure of exactly k vertices in the original graph. ( represents the number of edges in the graph).
Since EXACT CLOSURE is known to be -complete, this shows that is also -complete.
In essence, the proof demonstrates that solving is equivalent to finding a closure of exactly k vertices in the EXACT CLOSURE problem. This implies that inherits the -completeness property from EXACT CLOSURE. □
This is the main theorem.
Theorem 3. .
Proof. There is a connection between finding a satisfying truth assignment in 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 formula.
Edges are created between variables based on the structure of the clauses: If two variables appear in a clause (e.g., ), then an edge is drawn between the corresponding vertices in the graph.
- 2.
-
and the Graph:
A truth assignment in 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 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
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 easily solved in polynomial time [
11]. Consequently, the instances of the problem
can be solved in polynomial time as well. □
This is a key finding.
Proof. A polynomial-time solution to any
-complete problem would establish the equivalence of
P and
[
9]. Given that
EXACT CLOSURE is an
-complete problem, a polynomial-time solution for it, as presented here, would directly imply
P equals
. □