Poly-time algorithm for deciding Hilbert Nullstellensatz. A proof of P=NP
arxiv.org
arxiv.org
However if i read the first sentence of the abstract correctly, they are claiming to have a constructive proof (i.e. they found an algorith). So can't we just check the proof by using their alleged algorithm on some np-hard problems?
Either A, it doesn't work, showing the paper is incorrect. Or B it works, showing that even if it doesn't prove the paper fully correct, it shows that at least something interesting is going on.
For all possible solutions (there are at most 2^p(x) where p is some polynomial), Check if that solution is correct.
This of course takes exponential time. Just because you have an algorithm to solve np problems doesn’t mean you’ve done something useful.
* yes i am aware that this falls apart if there is a very high constant or the algo is n^1000.
Not necessarily. An algorithm may be polynomial but impractical for all but the most trivial cases. Moreover the algorithm may be very difficult to implement correctly.
Ease of implementation could definitely be an issue.
In electronic design automation we have to deal with NP-hard problems all the time. One approach is to use algorithms that are worst-case exponential but that finish quickly most of the time even for fairly sizable problems, or that fail to provide a solution for some cases. SAT solvers are a typical example. Another, for an optimization problem, is to provide a good solution that is not necessarily optimal.
> Conjecture. There is no polynomial time algorithm for deciding <some problem>. […] [A variant of the problem] is NP-complete. […] Theorem 2. There is a constructive algorithm for deciding [the variant problem]. The number of basic steps to do this [is bounded by something that is, I think, intended to be polynomial, although there is a hidden exponent of k and a direct exponent of n].
I don’t see any justification or source for the statement that the variant problem is actually NP-complete. Even if their proof was correct, wouldn’t it just disprove a conjecture?
The closest the paper gets to actually talking about time complexity is:
> As it is mentioned in [3], there is no sense to make use of the formal definition of Turing machine for this problem. From practical point of view, it is much more useful to show existence of a polynomial-time constructive algorithm for solving it ([2]). Therefore, in the next section we will introduce our own definitions and notations, describing a kind of a formal computer, more practically oriented, but resembling that of a Turing machine.
But the so-called "formal computer" is only described in extremely hand-wavy and informal terms, and no attempt is made to relate the number of "steps" it would perform to the running time of a corresponding Turing machine.
That really sounds suspicious to me. Why not just solve this version directly with these changes. That should have been a more straightforward proof.
https://scottaaronson.blog/?p=304
(I haven't looked at the paper linked in the title.)
It's like "you're interested in P = NP? I assume you've never heard of Turing machines, right?".
And 7, of course.
I’m not sure about that. I have never seen the notation Z_2 being used for the Gaussian integers, for example. Their notation is not quite standard and this is often a bad sign. Also the abstract on arxiv is full of latex commands…
For some reason, my brain totally slipped over that when skimming the abstract. I was like “Gaussian integers are a real thing, ℤ₂ is a real thing, okay, cool”.
I didn't realize P vs NP was supposed to be an open problem in the BSS model. I thught that this solution was an early result. The catch is simply that it doesn't apply to the Turing machine model which is what most people think of when they hear of P vs NP.
There is a wonderful and mathematically accessible book from the 1990s about the BSS model: Complexity and Real Computation, by Lenore Blum, Felipe Cucker, Michael Shub, and Steve Smale. I thought it was going to open up into a big field, but I don't know if much happened with it.
See also: https://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smal...
Thus, I'm very skeptical of claims that P=NP.
In general a nice way of thinking about what NP is are the set of formula that have polynomial time checkable proofs.
At the other end of the spectrum, the USPTO won't look into anyone's claim to have invented a perpetual motion device. And the social networks will flag me if I claim that my one cool trick will stop covid transmission. Sometimes you don't have to look closely into a claim to be pretty sure it's false, and possibly harmful in some way.
_Should_ there be any upstream filtering on arxiv posting when an unknown person claims to have an extremely surprising result, and their reference list suggests that they may be disconnected from the literature in the relevant field? Is there any kind of claim that _should_ be proactively rejected?
I think the algorithm is probably NP but it still could be useful for solving NP-hard problems.
Edit: For a math paper, this paper is badly written, structured, and organized even if the argument turns out to be correct. (Which is ~0% chance.)
>As usual, if the solution does not exist, the process is terminated with a message "No solution at Level 2, Identity 2"
It is not good enough to draw a conclusion without a detailed explanation for a substantial claim like this 'proof'.
For example, bad can mean confusing or poorly written.