13

This is my first post after being a passive user for some time now. I wish to ask some questions if I may. I am not a mathematician but my question relates to the field of maths/computer science. In particular, the P vs NP problem. I am aware that this is a problem that elite professionals have not yet been able to solve ...

Regardless, I would like to ask:

If a person who is neither a mathematician nor a programmer were to come up with a flowchart or a series of steps written in basic English that allegedly provides a solution to one of the P vs NP problem, would that be counted as 'proving' that P = NP .. in order to claim the Clays Institute prize :) ? Or is it a must for one to write the solution as mathematical proofs / computer program?

Thank you.

Raphael
  • 73,212
  • 30
  • 182
  • 400

3 Answers3

19

A Turing machine, it must be remembered, is a kind of flowchart. So is the structure of a computer program generally. So turning "a flowchart" into a formal answer to the problem should be fairly easy, if it actually did work. Indeed, if one started with a terribly formal answer to P versus NP, most computer scientists would try to find a formulation of it which did come as close as possible to a plain english description in order to get as strong an understanding of the solution as possible.

But there is a fundamental problem with the sort of question that you're asking. What does it mean for someone who would be able to solve P versus NP — and by showing that they are equal, no less — to not actually be either a computer scientist or a mathematician? Perhaps they are not employed professionally as a computer scientist or mathematician, but this is beside the point if they have the skill to solve what some (Scott Aaronson, for example) describe as the most important mathematical problem we've ever considered. If someone has the training (or has even self-taught) to successfully tackle the problem, and also to clearly communicate the solution to others by identifying the major sub-routines and their roles in solving e.g. SAT or HAMPATH, then whether they are employed or even have degrees is an irrelevant detail; they are nevertheless in that case a mathematician or a computer scientist. Better still if they can describe how their solutions overcome classic obstacles such as oracle results, such as oracles A for which PANPA (or the opposite) by showing specifically what sorts of structure in the problem the algorithm takes advantage of, which would not be accessible in the oracle model. The problem, however, is that most people who dream of solving P versus NP as amateurs or outsiders seem to lack the communication skills to actually describe their work adequately, or (by virtue of not having read enough) they are unaware of results which would make their approach to solving the problem doomed from the start.

As with all dreams of glory these days, there is a basic problem with the fantasy of being the one to resolve P versus NP. The problem is that it's bound to be nearly impossible. Not actually impossible, mind you, or at least not necessarily impossible; just nearly so. As someone bright with ambition, it is possible for one to lose sight of the fact that there are many other bright people: many of whom have also thought about the problem; and many of whom are brighter than oneself, even by a couple of orders of magnitude. And that there have been such bright people for as long as the problem has been around; and yet it remains unsolved. Yes, it's possible in principle that everyone is thinking about it the wrong way, and have been for decades. But is that really particularly likely? Nobody should expect themselves to be the one person who can spot the one sign-error that everyone else is making, because if everyone else is making that error then there must be something about the problem that will lead one to make the same mistake. Or — in the more likely event that the reason why the problem remains unsolved is not that people keep making simple mistakes or haven't yet thought of the one simple trick that dissolves the whole thing — what makes the problem fundamentally difficult is essentially an objective difficulty of the problem, and no clever dancing steps will allow one to simply waltz gracefully past all obstacles; that what is required is an approach which is not merely novel, but quite profound, identifying subtle structures that there was good reason for nobody to have seen before. The sort of structure which one is most likely to spot by thinking continuously about the problem for years.

If you want to be realistic about what it would take to solve the P versus NP problem, you might compare it to similarly famous breakthroughs in the past few decades, such as the proofs of the four-colour theorem, Fermat's Last Theorem, or the Poincaré conjecture. They might have simpler proofs someday, but the original proofs take you far into the wilderness to get you to the end (or in the case of the Four Colour theorem, the route is very long and repetitive). There's no particular reason to suspect that P versus NP will be different; so that if in the end it is resolved by an amateur, chances are extremely strong that it would be by someone with similar background knowledge and awareness of techniques of someone who is academically trained. Any realistic amateur who dreams of solving P versus NP would do well to keep that in mind.

Niel de Beaudrap
  • 4,241
  • 1
  • 18
  • 32
16

"No", you can use "basic English".

If you succeeded, you would have created a constructive proof. Proofs in mathematics are often a mix of "basic English" as you call it and mathematical formulae, but they need not contain either to be a valid proof.

Suppose you have such a flowchart, what you need to prove—i.e. argue—is, that your algorithm works for every problem instance. The way you do that is entirely up to you, as long as the proof is unambiguous and all the premises you assert have been shown to be true.

Having done that, you have a mathematical proof in your hands. So really, I should have said "Yes" at the beginning, you do need a mathematical proof.

phant0m
  • 499
  • 3
  • 12
-6

A proof that P = NP might get accepted by a mathematical journal, but it will never be accepted by the elite professionals. The reasons is that they know that P != NP (at least for all practical purposes). They also know that it is unbelievable difficult to prove this, so even a proof that P != NP will be received with a healthy amount of skepticism by the elite professionals.

The elite professionals have more elaborate reasons than that many bright minds tried and failed to construct a polynomial algorithm for NP or prove N != NP. However, they reasonably expect that this argument should be the most convincing for a layperson. They are probably right that reference to barriers related to relativizing proofs, natural proofs or algebrizing proofs are rarely convincing for a non-expert. If too many "amateurs" try to resolve P vs NP in a certain way (for example by logical resolution, or by reducing it to a linear programming problem), then somebody will go through the pain (this sometimes takes years) to prove that this specific angle of attack is likely doomed to fail.

Edit I'm delighted that this answer continues to attract (negative) feedback. Let me therefore replace the second part of the answer (which seems unrelated to the feedback, but may distract from the main point) by the following quote from Truth vs Proof:

We could remain agnostic, saying that we simply don’t know, but there can be such a thing as too much skepticism in science. For example, Scott Aaronson once claimed that in other sciences P != NP would by now have been declared a law of nature. I tend to agree. After all, we are trying to uncover the truth about the nature of computation and this quest won’t go any faster if we insist on discarding all evidence that is not in the form of mathematical proofs from first principles.

This change is not intended to reduce the amount of feedback, but to make it perfectly clear that this answer is serious about the fact that the experts "know that P != NP", even so they can't proof it.


23 Nov 2013 Thanks again for all the feedback. For the record, the answer now has 7 downvotes, 1 upvote and 14 comments (8 by me). Due to the amount of comments, interesting references and justifications given in the comments are hidden, so I decided to add some of them here:

  • As Gödel himself wrote to von Neumann, if P=NP were true "for all practical purposes", then his incompleteness theorem would only be true in theory, but effectively false in practice.

  • In his 1971 paper, Stephen Cook ... unable to produce counterexamples for the Davis-Putnam procedure (solved by Haken 1985). Today, many techniques, results and counterexamples are available for "disproving" proposed efficient NP-solvers. Also P = NP contradicts the "law of conservation of difficulty", the "qualitative infinitary <-> quantitative finitary" correspondence, ...

  • A long time ago, Scott Aaronson wrote this comment:

    anonymous: You claim (as being fact!) that 3SAT is a language in NP that cannot be computed in polynomial time. But you cannot prove it. Is that your scientific method? Yes. As a firm believer in science and reason, I strive to distinguish clearly between what I can prove and what I merely know is true.

  • Scott is famous for trying to demonstrate what it means that he "knows" something, for example by betting $200,000: scottaaronson.com/blog/?p=458

Thomas Klimpel
  • 5,440
  • 29
  • 69