4

From this question, I had the debate about how problems harder than NP are proved.

I said that intuitively I understand it as (from this video explaining that some problems are provably harder than NP):

Generalized chess is harder than NP, and is EXPTIME-complete for the decision problem "Given an nxn board with a given position, can white force a win?" because the proof would require an exponential amount of steps to show that each branch of the tree eventually leads to a win. Therefore it's not in NP.

And a user replied:

Your first paragraph is faulty. It has the form "because this one algorithm I thought of takes exponential time, the problem must not be in NP". That's faulty -- maybe there's some other algorithm you haven't thought of that's better.

I'll admit I'm still new at this and the user that wrote the above comment has much more experience in the field than I do. So I trust this user is correct. However, the explanation the video gave seems very intuitive. But can anyone explain why the video's explanation is wrong?

My thought process is as-follows. One of the definitions of NP is "the set of all decision problems for which the instances where the answer is "yes" have efficiently verifiable proofs of the fact that the answer is indeed "yes"." So let's assume I get a certificate $c$ that claims to answer the decision problem "Given an nxn board with a given position, can white force a win?" In order to do this, the verifier must check every single possible branch of the tree of moves to check that each one leads to a forced win. This cannot be done in less than exponential time and thus is provably harder than NP.

rb612
  • 499
  • 3
  • 14

2 Answers2

5

The fault lies in this statement:

So let's assume I get a certificate $c$ that claims to answer the decision problem "Given an nxn board with a given position, can white force a win?" In order to do this, the verifier must check every single possible branch of the tree of moves to check that each one leads to a forced win.

The second sentence might be right, but it might not. Perhaps there is a cleverer, faster way that the verifier can check a certificate, or a cleverer format for the certificate that makes it easy to check. How do we know that's impossible? We don't. That would need proof.

The argument has made an assumption about how a verifier "would have to" behave, without substantiating or proving that assumption. This is basically an argument from failure of creativity: "I can't think of any other strategy a verifier could plausibly use, so there must not exist any valid strategy". Needless to say, this is not a persuasive form of argument.


For instance, let me give you an example. Suppose we replace "generalized chess" by "generalized tic-tac-toe", which works as follows: we have a nxn game board, and the first person to get three in a row wins. Try working through the same argument. It's tempting to draw the same conclusion, that generalized tic-tac-toe is NP-hard. But there are reasons to doubt that conclusion: for instance, this form of generalized tic-tac-toe is always a first-player win when you start from the empty board, for all $n>3$.

There are better examples. In particular, there are games where there are in fact polynomial-time algorithms to play optimally, but the algorithm/strategy is not at all obvious, and if you weren't already aware of it, you might be inclined to be persuaded by the above reasoning that the game is NP-hard. Examples include Nim, Brussels Sprouts, and Wythoff's game. This illustrates that the line of reasoning can't possibly be right -- it leads you to draw conclusions that are false.

D.W.
  • 167,959
  • 22
  • 232
  • 500
-3

Usually running time analysis is applied to algorithms, not applications. It is possible there is some as-yet undiscovered algorithm that solves chess in polynomial time.

The reference to chess being "NP complete" assumes a tree-search algorithm, such as minimax, is being used. Brute force minimax runs in exponential time. For example, even if there are only two choices every move, then the size of the tree is a $2^N$ where N is the number of moves. Exponential running time is considered non-polynomial. (a polynomial algorithm has a running time $a_1N^b + a_2N^{b-1} + a_3N^{b-2} + ...$, where a and b are constants).

Tyler Durden
  • 708
  • 1
  • 4
  • 14