13

Coming from a math background, it seems interesting to me that on the whole computer scientists tend to work under the assumption that $P \neq NP$. While there is no proof either way, generally, unless something can be specifically unproven in both math and science it is taken with a fair amount of strength. I feel that in the years and years people have spent trying to disprove $P = NP$, the fact that no proof has been discovered yet would at least lead some computer scientists to work within the parameters of viewing $P = NP$ as possibly true. However, I often see people working within the framework of it not being true and I was wondering why? It seems more conservative to assume that $P = NP$ in many fields. I've read countless articles about how many computer science and CS-adjacent fields would have to change a lot of their current methodology if $P = NP$ was proven to be true, so why is this not assumed? While it is unlikely to be proven either way any time soon, it just seems somewhat odd to rely so heavily on the a conjecture like that. It almost seems paramount to assuming that Goldbach's conjecture is invalid as there is no proof for it either.

Eli Sadoff
  • 273
  • 1
  • 6
  • 9
    Goldbach's conjecture isn't the correct analogy. Why do number theorists work under the assumption that the Riemann hypothesis is true? – Peter Shor Jan 02 '17 at 17:27
  • @PeterShor That's exactly what I am saying. It tends to be that if something cannot yet be disproved that people err towards the side of acceptance. – Eli Sadoff Jan 02 '17 at 17:28
  • 2
    These aren't random opinions based solely on the fact that nobody has disproved stuff; they're informed opinions. Nobody has disproved the existence of a projective plane of order 12, but nearly everybody thinks it doesn't exist. – Peter Shor Jan 02 '17 at 17:30
  • @PeterShor I was not claiming that they are random opinions. Additionally, projective planes exist rather trivially (e.g. the extended Euclidian plane). – Eli Sadoff Jan 02 '17 at 17:33
  • Oops; typo. I meant to say projective plane of order 12 (corrected now). – Peter Shor Jan 02 '17 at 17:33
  • @PeterShor Ah. I think on the whole the Riemann hypothesis is the best comparison when it comes to quintessentiality and doubt. – Eli Sadoff Jan 02 '17 at 17:35
  • @EliSadoff if you argue otherwise you will be called crazy. Mind that if you want a career would you go against the tide or glide with it. I do not think there is any reason unlike other scientific disciplines. It is a matter of belief by some people who think they have a better chance of knowing the area (in all humility). – Turbo Jan 02 '17 at 17:58
  • @AJ. That's completely legitimate. I'm not in this field (well not very much at least. I'm a computational scientist so I work with algorithms a fair amount but not enough to delve into P = NP very often), but I was trying to get an explanation. Thanks! – Eli Sadoff Jan 02 '17 at 18:00
  • 6
    @AJ "if you argue otherwise you will be called crazy" ... if you had an interesting argument, then it would be far from crazy, in my mind. It would be extremely important. In several cases where researchers have assumed something similar to P=NP, we have been able to derive a contradiction. E.g. the time-space tradeoffs for SAT. (Note: the current question under discussion is not in the ballpark of an interesting argument. It asserts that P=NP is the more conservative assumption, with no reasons given.) – Ryan Williams Jan 02 '17 at 20:18
  • 3
    In a way, if we assume that P=NP, then a large part of the field would be just closed. No more hardness of approximation, explicit constructions, some crypto primitives. If this was true, what other interesting questions could we ask? – Igor Shinkar Jan 02 '17 at 20:22
  • 11
    I don't think OP has seriously done his homework on this question. This is discussed in many placed. See for example https://rjlipton.wordpress.com/2009/09/18/why-believe-that-pnp-is-impossible/, http://www.scottaaronson.com/blog/?p=1720, the links Domotor has given, any book on complexity theory.. – Sasho Nikolov Jan 02 '17 at 23:46
  • @SashoNikolov The links you gave a great. As a disclaimer, I am not from the computer science field, but instead from the mathematics field, and was wondering as a matter of TCS principal as to why this was such and the answer was provided to me. I on the whole, albeit rather unfairly, ignore wordpress/blog links because they seem to be less credible, but perhaps I should no longer continue this practice. Thank you! – Eli Sadoff Jan 03 '17 at 00:57
  • 1
    A significant amount of CS is about designing algorithms for concrete problems. Assuming P=NP without knowing the algorithm to prove it is unhelpful for algorithm design. On the other hand assuming P is not equal to NP allows us to move forward with existing algorithms/heuristics while we wait for the truth to be revealed. – Chandra Chekuri Jan 03 '17 at 11:04
  • @EliSadoff there are several blogs by well-known TCS researchers which are quite reliable. Similarly to how Tao's and Gowers's blogs in math are quite reliable. – Sasho Nikolov Jan 03 '17 at 12:23
  • @RyanWilliams I just meant there is not that much energy in the community as a whole to take $P=NP$ as a plausibility (just for example look at point #3 here). – Turbo Jan 03 '17 at 18:53
  • @ChandraChekuri it is standard exercise to construct a poly-time SAT solver assuming that P=NP – Igor Shinkar Jan 03 '17 at 19:21
  • @IgorShinkar sure, my point is that it is not helpful as an algorithm that can actually be used. Do you disagree? – Chandra Chekuri Jan 04 '17 at 10:47
  • @ChandraChekuri I agree. Running over all Turing machines is not very efficient from an algorithmic point of view. Still, there are several examples, where in the beginning there is a polytime algorithm with bad constants, and then it is improved. – Igor Shinkar Jan 14 '17 at 17:55

3 Answers3

15

As a rule of thumb, for any unsolved problem people tend to conjecture the statement that starts with a universal quantifier - since if it started with an existential one, then one would expect to have a solution found. Other than this, this topic has been discussed at several other places, see https://en.wikipedia.org/wiki/P_versus_NP_problem#Reasons_to_believe_P_.E2.89.A0_NP or https://rjlipton.wordpress.com/conventional-wisdom-and-pnp/.

Update: Or the very recent Chapter 3 here: http://www.scottaaronson.com/papers/pnp.pdf

domotorp
  • 13,931
  • 37
  • 93
  • As much as I like this answer (and I like it a lot), I'm a bit concerned: you can phrase the statement $P = NP$ in several ways. Some examples: $\forall$ languages $L$ we have $L \in P \iff L \in NP$; OR $\exists$ algorithm $A$ s.t. $A$ runs in poly-time and $A$ accepts $w$ iff $w \in SAT$; OR $\forall$ NP-complete languages $L$ we have $L \in P$; OR $\exists$ NP-complete language $L \in P$. Some of these statements start with existential and some with universal quantifiers, so clearly we can't apply your rule (universal quantifier implies probably true) to all of the statements. – Mikhail Rudoy Jan 02 '17 at 21:17
  • @Mikhail: Indeed! I'm not sure how one could formalize which option to pick. – domotorp Jan 02 '17 at 22:35
  • 1
    @MikhailRudoy: You have to be careful to specify first-order versus second-order quantifiers. When you say "$\forall$ languages $L$" that's a second-order quantifier, but when you say "$\exists$ algorithm $A$" it's a first-order quantifier. So the "$\exists$ algorithm $A$" formulation has zero second-order quantifiers, and is thus closer to the true "logical complexity" of the statement "P=NP." As a first-order sentence, this version of "P=NP" indeed begins with an existential quantifier. (Though this doesn't completely resolve your objection, it does resolve your specific examples.) – Joshua Grochow Jan 02 '17 at 23:31
  • 3
    There are many exceptions. Before the monster group was proved to exist, it was a conjecture that started with an existential quantifier. And for one of the Clay problems (the Yang-Mills one), the conjectured outcome starts with an existential quantifier. – Peter Shor Jan 02 '17 at 23:51
  • @JoshuaGrochow. If you could explain (or link me to something explaining) what exactly you mean by zeroth-, first-, and second-order quantifiers in this case, that would be super helpful. – Mikhail Rudoy Jan 03 '17 at 00:15
  • 1
    @MikhailRudoy: https://en.wikipedia.org/wiki/Second-order_logic – Joshua Grochow Jan 03 '17 at 16:16
  • In the simplest form we know of P vs. NP, it is $\Sigma_2^0$. $\Sigma_1^0$ formulas are computably verifiable while $\Pi^1_0$ formulas are computably refutable. If a $\Pi^0_1$ is false it would be computable refutable. – Kaveh May 07 '17 at 00:15
0

Researchers work under the assumptions they think are more plausible. In the case of complexity theory almost every experts thinks $P \neq NP$, so they work under that assumption, therefore we have more conditional results with $P \neq NP$ assumption than $P = NP$.

It also helps that in the case of $P = NP$ problems have simpler answers (e.g. it implies that $P = BPP$, etc.) where as there are more possibilities in the case of $P \neq NP$. But that doesn't means we don't have conditional results with $P = NP$. If you want to have a look at how things would look like in that case check what Russell Impagliazzo calls the Algorithmika in his five worlds.

Also check out Status of Impagliazzo's Worlds?

Russel gave a talk at IAS workshop on his worlds in 2009 (video).

Kaveh
  • 21,577
  • 8
  • 82
  • 183
-1

As a rule of thumb, for any unsolved problem people tend to conjecture the statement that starts with a universal quantifier - since if it started with an existential one, then one would expect to have a solution found.

There is a hidden difference between conjectures equivalent to a $\Pi_1^0$ sentence like Riemann hypothesis and conjectures equivalent to a $\Pi_2^0$ sentence like $P \neq NP$. We sort of already know some algorithms (i.e. universal search algorithms like Levin search or Hutter search) which would be polynomial time in case $P = NP$ (well, Levin search only works for syntactic subclasses of $F(NP\cap coNP)$=TFNP like PPA or integer factorization, and Hutter search ...), but that still doesn't settle the $P \neq NP$ conjecture.

I've read countless articles about how many computer science and CS-adjacent fields would have to change a lot of their current methodology if P=NP was proven to be true, so why is this not assumed?

You probably mean that we should assume a non-zero probability that $P=NP$, for example by assuming that $P=NP$ with probability 0.01% and $P \neq NP$ with probability 99.99%. Many computer scientists will claim that this is more or less what they do, but they don't see how this assumption should alter what they write in their papers in any substantial way.

What they could do different would be to state the relation between runtimes achieved by reductions between problems more explicitly. But how much more explicit? Should they try to work less with $f(n)=O(g(n))$ and more with $f(n)\sim g(n)$ ($\lim_{n\to\infty}\frac{f(n)}{g(n)}=1$) and $f(n)\lesssim g(n)$ ($\limsup_{n\to\infty}\frac{f(n)}{g(n)}\leq 1$) for stating resource estimates in theorems? The question is just whether this is realistically possible, since even basic tools like the master theorem are formulated in terms of $f(n)=O(g(n))$, and it is unclear how complicated they would become in terms of $f(n)\lesssim g(n)$ (or whether such a formulation would be useful at all).

Thomas Klimpel
  • 3,043
  • 18
  • 44
  • 1
    One of the justifications for big-oh notation in many uniform machine models is that the constants are not robust to the model. For example, see the Linear Speed-up Theorem. (And then I think we still use big-oh in non-uniform models because we're actually using them to try to understand uniform models...) – Joshua Grochow May 07 '17 at 02:18
  • @JoshuaGrochow Even so big-oh notation can invite misuse, I don't think it needs much justification. It often succinctly expresses exactly what we want to say. I just tried to find similarly succinct notations for situations were we could be more explicit. (When we find ourself referring to the proof instead of the theorem, then this is a typical situation where we probably should be more explicit. This comes up in explanations how constructive/intuitionistic logic can be helpful.) – Thomas Klimpel May 07 '17 at 19:36