Evidence of exponential speed-up in the solution of hard optimization problems?
arxiv.org
arxiv.org
> ... a non-combinatorial approach
> to hard optimization problems that
> ... finds better approximations than
> the current state-of-the-art.
So it appears that they're finding approximate solutions, so already it's rather less significant than the title suggests.Then:
> We show empirical evidence that
> our solver scales linearly with
> the size of the problem, ...
We know that for most NP-Complete problems, most instances are easy. The question then is whether they are testing their algorithms on instances that are known to be hard. There's a chance they're doing something like finding factors of random integers, which we know is easy in almost every instance.I'm deeply pessimistic.
That is, a polynomial algorithm for the approximate problem would be just as significant as one for the exact version.
So it's not clear what they're actually doing, but if they can solve NPC problems they would say that. So I expect that they are getting approximate solutions that are not then NPC.
My first concerns, namely the usage of analog methods to solve NP-complete problems, lies along the same lines as this post: https://www.scottaaronson.com/blog/?p=2212
Moreover, from what I can see, and as you mention as your original concern, the extent of proof for the 'exponential-speedup' claim exists in the form of some benchmarks, hardly a proof that their method actually works on all instances, which would be needed to show that it is a approximation algorithm as commonly defined.
The purpose of my post was to highlight that for some problems (for example, TSP), even a really crappy approximation algorithm would imply P=NP. As highlighted by the authors of this paper, MAX-EkSAT is in a similar situation, though judging by https://www.cse.buffalo.edu/~hungngo/classes/2006/594/notes/..., unlike TSP, approximation to SOME ratio is possible, though there exists aratio >1 which cannot be beat unless P=NP.
I was simply trying to address the statement: "So it appears that they're finding approximate solutions, so already it's rather less significant than the title suggests. ", since an actual approximation algorithm for some ratio really WOULD be significant (showing P=NP).
I can't fully articulate the reasons for this though.
The fully polynomial-time approximation scheme (FPTAS) for the knapsack problem only runs in so-called pseudo-polynomial time:
https://en.wikipedia.org/wiki/Pseudo-polynomial_time
This means that the runtime is polynomial in the numeric value of the knapsack. Since the encoding of that numeric value only takes logarithmic space (unless you are using unary encoding), the runtime is in fact again exponential in the size of the input.
For this reason, the knapsack problem is called weakly NP-complete:
https://en.wikipedia.org/wiki/Weak_NP-completeness
One can show that, unless P=NP, a so-called strongly NP-hard optimization problem with polynomially bounded objective function cannot have a fully polynomial-time approximation scheme:
https://en.wikipedia.org/wiki/Polynomial-time_approximation_...
SAT, Hamiltonian circuit etc. are strongly NP-complete:
https://en.wikipedia.org/wiki/Strong_NP-completeness
Thus, an FPTAS for these problems would indeed imply P=NP.
https://en.wikipedia.org/wiki/MAX-3SAT#Theorem_1_(inapproxim...
Travelling salesman problem? Can't you get to within a factor of 2 of optimal by constructing a minimum spanning tree:
Once you have a MST (which can be built efficiently), the total weight of the tree is a lower bound for the total distance of a TSP solution. However, you can construct a TSP path that traverses each edge of the MST twice; which means that we know that this path (which is easy to find) is at most twice the total cost of the optimal path.
The title doesn't suggest anything about exact solutions as far as I can tell.
> We know that for most NP-Complete problems, most instances are easy. The question then is whether they are testing their algorithms on instances that are known to be hard. There's a chance they're doing something like finding factors of random integers, which we know is easy in almost every instance.
I don't know how they choose the problems they choose to solve but I assume this information is in the paper? If you are skeptical then why not read it and report your findings? Simply expressing your skepticism doesn't seem valuable.
In the jargon of mathematical optimization, there's a difference between "solution" and "approximation". The paper's title says "solution". I would expect the title to say something like "2-approximation" or "(1+ϵ)-approximation" instead.
At the same time, it's pretty well known that the kind of problem instances arising in practice and in those challenges are not hard instances. In other words, this also means that their result is extremely unlikely to be relevant for the P=?NP question.
https://news.ycombinator.com/item?id=8652475
And here's Scott Aaronson's debunking:
https://www.scottaaronson.com/blog/?p=2212
If these guys could really solve NP complete problems, they should have some amazing concrete results to show at this point, which they don't.
They provide their SAT solver as a service that you can try.
A related paper I recommend in this context is NP-complete Problems and Physical Reality by Scott Aaronson:
Previous work: https://arxiv.org/pdf/1411.4798.pdf
Their web page says: "We are currently in Alpha Test. Users can submit problems via our SaaS portal in Conjunctive Normal Form (CNF), which ultimately represents the normal form of Boolean propositions for the problem’s variables and constraints"
I have no problem providing real, hard SAT instances in CNF. It should be really easy to verify whether they have something good, unless they have a size restriction.
There have been many, many examples of people achieving significant improvements on many classes of NP-complete problems, and more come out every year, of course the more general your improvement the better. Modern SAT solvers with learning are such an improvement.
The claim of "exponential" seems very dodgy to me, they are running over a fixed set of benchmarks, it's hard to measure an exponential improvement over such a set.
I will wait until I see this peer reviewed, after a brief skim read I am a little worried about how big the circuits they are making are.
EDIT: they mostly compare against 3 specially crafted classes of random problems. Noone really cares about random problems, and it looks to me like they made random problems their system would be particularly good at dealing with. That sets off alarm bells for me.
One of the claims in the fine paper that started the discussion is that there's a need to perform several flips at once to find better solution. The paper I cite does something very similar - it walks along chained variables postponing flips until energy lowers for sure.
They also claim their solver has O(vars) time complexity for many problems, including ones with high density (clause/variable ratio). But nothing revolutionary.
It's like back-propagation for digital logic.
The magic seems to lie in the so called self organizing logic gates detailed
"SOLGs can use any terminal simultaneously as input or output, i.e., signals can go in and out at the same time at any terminal resulting in a superposition of input and output signals ... The gate changes dynamically the outgoing components of the signals depending on the incoming components according to some rules aimed at satisfying the logic relations of the gate. ... A SOLG ... can have either stable configurations ... or unstable ... configurations. In the former case, the configuration of the signals at the terminals satisfies the logic relation required ... and the signals would then remain constant in time. Conversely, if the signals at a given time do not satisfy the logic relation, we have the unstable configuration: the SOLG drives the outgoing components of the signal to finally obtain a stable configuration."
This is sort of like supervised training of a neural net. I think. Test cases with both inputs and desired outputs are needed, and applying them to the network pushes the parameters towards values that yield the desired outputs. It's kind of like deliberately over-training a neural net to encode some explicit function.
The paper is vague about how you train this thing. It seems like it has to be driven by test cases, but they don't say much about that. It's not clear that this scales. It ought to work for small numbers of gates, but for large numbers, does this process converge?
People who do massively important work typically telegraph quality by doing earlier good work. That isn't always true, but it is commonly true.