from Hacker News

The 2-MAXSAT Problem Can Be Solved in Polynomial Time

by 9NRtKyP4 on 4/27/23, 12:11 PM with 102 comments

  • by tgflynn on 4/27/23, 3:07 PM

    I've spent a great deal of time over the last decade+ trying to find an efficient algorithm for NP hard problems and one thing I've learned is that this field is a graveyard for seemingly good ideas. Therefore I tend to be very skeptical of any paper that claims to solve such a problem but doesn't provide any empirical evidence that their solution works. I mean I've had hundreds of ideas and very few of them have survived without counterexamples appearing even for very small instance sizes.

    I first saw this paper yesterday when it was posted on HN but didn't make it to the front page and I'm uncertain about how much energy to put into it (unfortunately my health gives me very little to spare). So far I've only read the introduction and it doesn't obviously involve any advanced mathematics that I'm unfamiliar with so I could perhaps attempt an implementation.

    In addition to what I said above another factor arguing against investing much time in this is the fact that this was first published last year and nothing seems to have come of it in that time. Moreover it appears that the current paper is a revision from the one that was published last year. Does anyone know what the history of this was ? Were bugs found in the first version ?

  • by pfedak on 4/27/23, 4:56 PM

    Unsurprisingly, there's nothing here. Most of the paper describes a brute force search across all possible variable assignments in the form of a graph (with some pointless polynomial improvements like making it a trie), where you build a path of vertices representing each set of truth values that satisfies a given expression. This clearly has exponential size, which the author alludes to in the "improvements" section by noting it does "redundant work". This is addressed by collapsing the exponential graph down to have only one vertex for each variable*expression pair (if you ignore the trie) and adding exponentially many labels for the different paths to reach a given vertex. (incidentally, to the extent that it's described clearly, it seems like the improved layered graph would basically be the same as the original non-layered graph)

    The final complexity discussion uses the graph size constraint gained by the "improvement" but doesn't consider how to handle the extra labeling meaningfully. Basically, the pre- and post-improvement algorithms put the exponential work in different spots, and the sloppiness of the algorithm description (I mean, really, why tell us you're using a stack for BFS and then have "determine the subset of satisfied constraints" as a step) makes it easy to ignore.

    I'm also being a little generous with the algorithm itself. As described, some of the trie optimizations seem to make certain combinations of satisfied expressions impossible to notice, but I think it's not a big deal to make this part work. The properties of the trie structure (and of sorting the variables by occurrence, for that matter) don't seem to be used.

  • by mabbo on 4/27/23, 3:19 PM

    I have a hard time taking seriously anyone who publishes a paper like this truly believing they've solved P=NP.

    Remember the "faster than light neutrinos" thing? They published their stuff basically saying "Okay, we're really uncomfortable with this result so can someone explain what we've missed here?".

    Papers like this always feel like the author is surprised anyone is even doubting them. "What, it's just the hardest problem in your field, worthy of a Millennium prize, and I'm publishing it in some lesser-known journals with little peer review. What of it?"

    Come on. Have some modesty. Have some self-doubt! Reach out to Terry Tao and you know he'll happily explain your mistake and then help you write a better paper.

  • by rlili on 4/27/23, 2:11 PM

    For me, the following is a bit that seems particularly prone to be invalidated, even more so considering that the author doesn't present any proof of it:

    > Here, we notice that if we had one more span, <v3 , v4 , v5 >, for example, it would be connected to <v1 , v2 , v3 >, but not overlapped with <v1 , v2 , v3 >. Being aware of this difference is important since the overlapped spans imply the consecutive ‘’s, just like <v1, v1, v2> and <v1, v2, v3>, which correspond to two consecutive ‘’s: (c2 , ) and (c3 , ). Therefore, the overlapped spans exhibit some kind of transitivity. That is, if s1 and s2 are two overlapped spans, the s1 ∪ s2 must be a new, but bigger span. Applying this operation to all the spans over a p-path, we will get a ’transitive closure’ of overlapped spans.

  • by Ono-Sendai on 4/27/23, 1:54 PM

    Since the paper claims to give an algorithm for solving an NP-hard problem, e.g. it's a constructive proof, not just an existence proof, then presumably the author should be able to reduce some other problems to this one (2-Maxsat) and solve them as a demonstration.
  • by chriskanan on 4/27/23, 2:01 PM

    Usually when I see these things, I check if the author seems to have the right background. Yangjun Chen is a full professor at the University of Manitoba, but he doesn't seem to work in computer science theory.

    It looks like the paper was previously published in a relatively low impact AI conference last year. It seems like it should be in FOCS, STOC, or a prestigious math journal to have significant credibility.

  • by karmakurtisaani on 4/27/23, 7:54 PM

    Ah, but the question of P=NP has been already settled several times even, and as P!=NP too, see https://www.win.tue.nl/~wscor/woeginger/P-versus-NP.htm

    (To the ones who did not waste their best years doing theoretical computer science, this was in jest - the paper most definitely contains mistakes)

  • by js8 on 4/27/23, 3:30 PM

    Well, this is somewhat heartbreaking for me. I haven't read the paper, but the result sounds very plausible to me.

    I am also an amateur working on P=NP. Last week, I think I also proved that P=NP, but with a different method, and was about to seek publication.

    My result seems very similar to his, yet very different. I can prove that class of SAT which is intersection of 2SAT and XORSAT is NP-complete by reduction to 3-SAT. Then I follow the approach in Melville's Krom 1967 paper on 2-SAT, and prove that certain polynomial-sized logic (that corresponds to the intersection) is refutable complete. So you can essentially generate all formulas in that logic and if you don't find contradiction, the instance is satisfiable.

    I have also did some preliminary testing of my method, and was able to factor small integers with it. However, there was a bug.

    So, to sum up, I am not surprised that P=NP with a constructive and efficient algorithm. Take it for what you want. The future is gonna be interesting (crypto DOOMSDAY).

  • by erk__ on 4/27/23, 1:42 PM

    Also discussed a tiny bit yesterday https://news.ycombinator.com/item?id=35712326
  • by MPSimmons on 4/27/23, 3:28 PM

    >By the MAXSAT problem, we are given a set V of m variables and a collection C of n clauses over V. We will seek a truth assignment to maximize the number of satisfied clauses. This problem is NP-hard even for its restricted version, the 2-MAXSAT problem by which every clause contains at most 2 literals. In this paper, we discuss a polynomial time algorithm to solve this problem. Its time complexity is bounded by O(n2m3). Hence, we provide a proof of P = NP.

    Talk about burying the lede.

  • by jojohohanon on 4/27/23, 3:39 PM

    The first step is to encode some decent password cracking challenge into an NP complete problem - choose 3 SAT or something similarly well understood. Then encode that 3sat problem into the paper’s solution domain.

    If you get a password in polynomial time you are golden.

  • by haliskerbas on 4/27/23, 3:57 PM

    One of you is going to turn this into a puzzle and ask me in my next interview. I won't know the answer, but please don't laugh at me when you realize!
  • by geophile on 4/27/23, 12:32 PM

    P=NP alert
  • by marcodiego on 4/27/23, 2:33 PM

    "Hence, we provide a proof of P = NP."

    Now map a big, critical and difficult problem to the 2-Maxsat problem, solve it in polynomial time, get rich and come back to argue if it is really a proof of P = NP.

  • by hota_mazi on 4/27/23, 3:56 PM

    > Hence, we provide a proof of P = NP.

    Is this serious?

  • by rsrsrs86 on 4/27/23, 5:45 PM

    No proof inside?