Argument for P=NP

what if I did produce you such an algorithm, but wouldnt tell you how it worked?

You'd have to convince me that it runs in polynomial time. How are you going to do that?

You'd also have to convince me that it is always correct. How are you going to do that?

No finite number of observations can prove either of those things.

Now, there is a million dollar prize for this discovery

No, there is a million-dollar prize for a rigorous mathematical answer to the question of P vs. NP. Simply producing a program that appears to be quick for many inputs, but failing to produce a proof that the algorithm is correct for all inputs and that the number of steps the algorithm takes is always bounded above by a polynomial, would not be sufficient.

Do i get the 1 million prize? If not, why not? nowhere does it say that I must explain myself.

Yes, it very clearly says that. From http://www.claymath.org/millennium-problems/rules-millennium-prizes:

The SAB of CMI will consider a proposed solution to a Millennium Prize Problem if it is a complete mathematical solution to one of the problems.

If you don't explain your reasoning, you do not have a complete mathematical solution.

I simply communicate to people that setting such and such seed values for random number generators in any language gets you this particular magic function. Not very scientific, I agree, but surely possible, right?

No, it is not obviously possible. It is possible if and only if P = NP.

Does it have a non-zero chance of succeeding? Sure it does. So we have a non-zero probability of a very deterministic, concrete turing machine that walks and talks just like someone actually found a way to solve complicated problems quickly.

Again, you are confusing the fact that a "guessing" algorithm has a nonzero probability of success for any particular instance of a problem with the idea that there is a nonzero probability of the existence of an algorithm that can solve all instances of the problem. Those are not at all the same thing.

Again, extrapolating to non-determinism, if a non-deterministic TM can do this by expressing itself as a lot of deterministic TMs, then we may get lucky enough to happen to build one in our own Java code.

But perhaps no single one of those deterministic Turing machines solves the problem itself!

For any particular instance of the problem for which the correct answer is "yes," at least one of those deterministic Turing machines will correctly answer "yes." And for any instance of the problem for which the answer is "no," all of the deterministic Turing machines will correctly answer "no."

But that doesn't mean that there is any single one of those deterministic Turing machines that correctly answers "yes" for all instances!

  • For instance A of the problem, maybe deterministic Turing machine #84372103783 answers "yes" and the rest answer "no." Because at least one of the deterministic Turing machines answered "yes," the nondeterministic Turing machine answers "yes" and is correct.

  • For instance B of the problem, maybe deterministic Turing machines #548621004 and #264486767 answer "yes" and the rest answer "no." Because at least one of the deterministic Turing machines answered "yes," the nondeterministic Turing machine answers "yes" and is correct.

  • But none of the individual deterministic Turing machines solves all instances of the problem correctly! Deterministic Turing machine #84372103783 got instance B wrong (it answered "no" to that one), deterministic Turing machines #548621004 and #264486767 both got instance A wrong (they answered "no" to that one), and all the other deterministic Turing machines got both instances A and B wrong (they answered "no" to both of them).

So it is not at all clear that if there is a nondeterministic Turing machine that can correctly solve the problem in polynomial time then there must also be a deterministic Turing machine that can correctly solve the problem (all instances of the problem) in polynomial time. That is the P vs. NP question.

/r/math Thread