My understanding is that Ladner's theorem is basically this:
P != NP implies that there exists a set NPI where NPI is not in P and
NPI is not NP-complete
What happens to this theorem if we assume that P = NP rather than P != NP? We know that if NP Intermediate doesn't exist, then P = NP. But can NP Intermediate exist if P = NP?
NPI must imply that it is in NP, but that it is not NP-complete.
If P = NP, then all problems in P and NP will be NP-complete, because any problem will be reducible to another one in polynomial time (∅ and Σ* cannot be NP-complete, because we can't map an arbitrary problem to either of them - we won't have anything to map to for the positive/negative case. However, since they are in P, we don't care about them for the purpose of this question.)
Since all problems in NP are NP-complete, NPI cannot exist.
You missed one property of NPI: Every element of NPI is in NP (but not in P). This is clearly impossible if P=NP, so if P=NP, NPI must be empty.
If P=NP, then NPI cannot exist assuming that it is a subset of NP, as all of NP is in P and thus the "not in P" part of the definition of NPI would not hold for any problem. So the class NPI would be empty in that case.
Ladner's theorem in its classical formulation does not state anything about the case where P=NP.
From basic logic, $A\rightarrow B$ does not state anything about $not(A)$... unfortunately.
Furthermore, if $P=NP$ and $NP$ is Cook-reducible to $NP-complete$... then it would mean that most problems that we compute in computing (addition, Fourier Transforms, sorting) are reducible to, say, subset sum.... assuming that Cook's theorem is valid. This would be quite mind-bending.
But from Ladner's theorem, we just can say anything about the case $P=NP$.
Related
Definition 1 (usual definition)
A problem B is NP-Complete if
B is in NP
For C in NP, C is polynomal-time reducible to B
Definition 2 (in a few documents)
A problem B is NP-Complete if
B is in NP
if B admits a polynomial-time algorithm, then all problems in NP also admit a polynomial-time algorithm
(as in "On the Inherent Intractability of Certain Coding Problems,..., Berlekamp, McEliece and Tilborg" and other documents
Definition 1 is the definition of NP-completeness you get if you define reducibility to be polynomial-time mapping reducibility (sometimes called polynomial-time many-one reducibility). That is, you’re allowed to reduce one problem to another by doing polynomial work to transform the input, then make a single call to the target problem. This is the standard definition of NP-completeness.
Definition 2 is the (nonstandard) definition of NP-completeness you get if you use polynomial-time Turing reducibility (called Cook reductions), in which you are allowed to spend polynomial time including an arbitrary number of calls to an oracle (solver) for the problem you’re reducing to.
By definition, any problem in NP can be reduced to a problem in NP-Complete. However, let's say we have two arbitrary problems X and Y in NP. Is it necessarily true that X is reducible to Y?
I'm unclear on the aspect of reduction between two arbitrary problems of a particular complexity class, so any guidance would be appreciated.
In principle there is no reason why an arbitrary problem should be reducible to another.
For a concrete example, it is known that factorization of an arbitrary integer with n bits is in NP, but it is is believed to both not be in P and not to be NP-complete. Therefore traveling salesman is not reducible to integer factorization.
https://en.wikipedia.org/wiki/NP-intermediate has a list of other problems that are in the same category, and there is no reason to believe that, for example, graph isomorphism is reducible to factoring or vice versa.
Assuming P != NP
The euler diagram shows a part not part of P and NP-complete. I read on wikipedia that this set is called NP-Intermediate.
Euler Diagram
I have some doubts as to how are NPI problems defined?
An NP-intermediate problem is a decision problem that
is in NP (that is, "yes" answers can be verified in polynomial time),
is not in P (that is, there is no polynomial-time algorithm for solving the problem), and
is not NP-complete.
That last criterion can be stated in a number of different ways. One way to say this is that there is no polynomial-time mapping reduction from SAT to that particular problem.
These problems are primarily of theoretical interest right now because we don't know if any NP-intermediate problems exist - if we could find one, we'd have a problem in NP that's not in P, meaning that P ≠ NP! However, they're interesting because if we can prove that P ≠ NP, then we know that there are some problems in NP that are too hard to be solved in polynomial time, but which aren't among the "hardest" of the hard problems in NP (the problems that are NP-complete).
In the event that P = NP, then there would not be any NP-intermediate problems because you couldn't have a problem in NP but not in P. If P ≠ NP, then Ladner's theorem guarantees at least one NP-intermediate problem exists, but does so by specifically constructing a problem that is highly artificial and designed solely to be NP-intermediate in that case. Right now, with a few exceptions (notably the graph isomorphism problem), all the problems we know of in NP are either squarely in P or known to be NP-complete.
Can any one clear my doubt please?
suppose I have a problem A which is known to be in NP-complete. and I have a another problem B for which we don't know the complexity class.
if I reduce A to B in polynomial time . we can say B also is in NP-Complete.
but..
if I reduce B to A in polynomial time . why can't I say B also in NP-Complete?
if I reduce A to B in polynomial time . we can say B also is in NP-Complete.
No, we can say that B is NP-hard. Completeness requires membership in NP as well, which does not follow from the assumptions.
For example, we can reduce 3SAT to the Halting Problem. The Halting Problem is not in NP (it's not even decidable).
if I reduce B to A in polynomial time . why can't I say B also in NP-Complete?
We can say that B is in NP. One algorithm for B is to use the reduction and then solve A. B might be an easy problem like "length of the input is odd".
If A is NP-complete, you can reduce any problem in NP to A. The NP-complete problems are the hardest problems in NP.
If you can reduce A to B in polynomial time, it means that B is "at least as hard as" A, because if you can solve B, then becomes easy to solve A. So, if A is NP-complete and those are (by definition) the hardest problems in NP, B is also NP-complete (assuming B is in NP, otherwise it's just NP-hard).
On the other hand, being able to reduce B to A is like being able to kill an ant with a bazooka. You obviously can do it, but it doesn't mean that killing an ant is "bazooka-complete".
I know if I reduce an NP-complete problem to a unknown problem P then I'm sure that P is itself NP-complete. And I know if I reduce a Problem P to an NP-complete problem there is no conclusion. So I want to give an example to show that we can reduce a Polynomial solvable problem P to an NP-complete one.
If I reduce an NP-complete problem to a unknown problem P then I'm
sure that P is itself NP-complete
No, this is not well formulated. If an NP-complete problem A is reducible to a problem P all we can say is that any problem in NP is reducible to P. To say that P is NP-complete we need to know additionally that P is itself in NP.
What you probably intended to say was
If I reduce an NP-complete problem to some a unknown problem P in NP then I'm
sure that P is itself NP-complete
Now to your original question.
give an example to show that we can reduce a Polynomial solvable
problem P to an NP-complete one
Consider the problem known as 2-SAT: Given a boolean formula in conjunctive normal form such that each disjunction contains at most two variables tell it if is satisfiable.
Solving this problem following an algorithm by Aspvall, Plass & Tarjan (1979) involves building an implication graph and finding all its strongly connected components. The paper proves that the formula is satisfiable if and only if the implication graph does not contain a strongly connected component that include some variable together with its negation. It also shows that this algorithm is linear in the size of the formula encoding.
So
there exists a linear algorithm for 2-SAT.
2-SAT is reducible to unrestricted boolean satisfiability problem known as SAT.
This gives an example of a polynomially solvable problem (2-SAT) that is reducible to an NP-complete problem (SAT).