Memcomputing NP-complete problems in polynomial time
arxiv.org
arxiv.org
The idea that analog computers are in some sense more powerful than Turing-complete digital computers comes back now and then. Here's a paper on that from 1998:
http://www.eetimes.com/document.asp?doc_id=1138111
"The neural network that represents the analog computer proves to be inherently richer than the standard Turing model."
The idea that having variables which can take on an infinite range of real-valued values fascinates some people. But you can't, not really. Resolution is limited by noise. Noise is inescapable, since electrons are discrete. Infinite resolution is impossible in a granular universe. Real numbers are a convenient fiction which cannot be realized in hardware. ("God created the integers; all else is the work of man." - Kronecker)
The author of the paper almost gets this. They mention the Nyquist-Shannon sampling theorem, so they know about Shannon. But they don't seem to be considering the problems of the noise floor. They also write "the multimeter of the hardware implementation analogically measures the integral over a continuous time interval, directly providing the result, thus avoiding the need of sampling the waveform and computing the integral". Amusingly, they're using a digital multimeter.
If your analog machinery can distinguish between a million different values in practice, that sounds like a lot! But it's equivalent to only twenty bits of a digital computer, and you can probably build the digital one much more easily, and it will probably be a lot more reliable.
Maybe you're going to go completely nuts and build a machine that can distinguish between a quadrillion different values. Much better, right? Well, that's still only about 50 bits.
Let's go really nuts. Let's say you had a machine that could represent numbers using the entire diameter of the observable universe (about 92 billion light years) with a resolution of one planck length (about 1.6e-35m, way smaller than any known particle or other object, and one of the smallest lengths related to any known physics). Even that is not so impressive. That's equivalent to about 205 bits of digital storage.
Um, yes. Distinguishing between 1000 signal levels is considered really good. 100 is more typical. There are 14-bit A/D converters, but they're really to give you some resolution on small signals and more dynamic range on signals where noise goes up with level.
Fucking exponential function :-!
The idea that having variables which can take on an
infinite range of real-valued values fascinates some
people. But you can't, not really.
Well that would mean it has an infinite amount of bits in memory, right? Because to set one variable to exactly pi would mean you set it to something that usually would need an infinite amount of bits.Definition: A computable number is a real number x such that there exists a total computable function f:Q->Q for which, given any r>0, f(r) is within r of x.
Proof: There are only countably many total computable functions, since each can be described as a finite string of symbols from a finite alphabet. Hence only countably many computable numbers.
http://www.scottaaronson.com/blog/?p=2053#comment-269770
Note the response from one of the authors of this paper:
http://www.scottaaronson.com/blog/?p=2053#comment-270906
And Scott's response to that:
Also, just curious as a parallel example, Tononi and co had their day in the sun on Aaronson's blog a few months back, and there was a vigorous back and forth including a great response from Tononi ; would you say that now IIT has been 'debunked'? If so, how do you justify that? If not, why not wait for the authors of UMM theory and its hardware extension to have a chance to reply? This is how progress is made in science, deliberation & iteration, not instant victories.
But Scott did convince me, at least, that this paper is nowhere near as relevant or important as the authors make it out to me.
Anyways, here's the lead authors page, for the curious: http://physics.ucsd.edu/~diventra/
I note that the lead author is a Physicist, which makes it even more suspect for me - Physics and Theoretical Computer Science share some of the same toolkit, but the tricks and corner cases in each case can be wildly different, meaning that even if someone is a world leader in one field, they can be a complete novice in another!
I think this all comes down to the claim that their "memcomputing" architecture allows you to put exponential amounts of data into a polynomial number of things. My best guess for where they went wrong is something like measuring an exponentially small voltage difference.
A good rule of thumb: if a proposed thing violates well-known bounds, like say the Bekenstein bound [1], and the authors don't mention this at all, that is not a good sign.
The paper would probably be fine if they took out everything implying that UMMs can be physically instantiated, but I dunno.
[1] I understand that this is largely theoretical, but it seems to be pretty much accepted by the Physics community AFAICT.
Idea analog computing is very powerful (in theory). Actual analog computing is also powerful. But one of the things digital avoids is: if each analog component is only faithful to a factor of (1-epsilon) then it is easy to run into problems where an n-stage analog system is off by (1-epsilon)^n ~ e^{-n episilon}. Which is exponentially bad in n (meaning if you assume epsilon=0 you may be assuming way an exponential amount of loss).
Also they are not ambitious enough. Assuming constant time arithmetic of the real numbers should get you more (like maybe even the halting problem).
[1] http://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox
[2] "God made the integers; all else is the work of man", Leopold Kronecker
Agreed. They do at least broach the idea though, this is from the companion paper (more theoretical):
"We have thus shown that a UMM is Turing-complete, namely it can simulate any Turing machine (whether deterministic or not). Note, however, that the reverse is not necessarily true. Namely, we have not demonstrated that a UTM can simulate a UMM, or, equivalently, we have not demonstrated that a UMM is Turing-equivalent. It is worth pointing out that, if we could prove that a UMM is not Turing-equivalent, some (Turing) undecidable problems, such as the halting problem [2], may find solution within our UMM paradigm, thus contradicting the Church-Turing hypothesis [2]. Although this is an intriguing–albeit unlikely– possibility, we leave its study for future work." http://arxiv.org/pdf/1405.0931.pdf
http://dl.acm.org/citation.cfm?id=682381
Regarding models like FPGAs, etc., these can all be simulated on boring old Turing machines with at most a polynomial time overhead, so it probably isn't what they are talking about here. It seems like they have some mixed analog digital model of a computer here, but the details are a bit obtuse. It wouldn't really surprise me if they were solving NP-hard problems given that regular old real arithmetic + thresholding /rounding can lead to some crazy behaviors.
They report solutions for a few small cases of subset sum, I would be more interested to see it run on something with say a few thousand variables.
(After all similar claims have been made about other analog systems, like soap bubbles, etc.)
> In conclusion we have demonstrated experimentally a deterministic memcomputing machine that is able to solve an NP-complete problem in polynomial time (actually in one step) using only polynomial resources. From complexity theory we then know that we are able to solve any other NP-complete problem in polynomial time. We stress again that this result does not prove NP=P, which should be proved only within the Turing paradigm.
I'm very confused by this statement. If their Universal Memcomputing Machine is able to solve any NP problem in polynomial time, what is the relevance of whether NP=P in a Turing machine context?
Also, this seems like a very important result, but my skepticism is really high.
Essentially does this mean that NP=P, in a non-Turing machine context?
I got the impression that they have a working memcomputing machine, albeit one that is non-universal.
One concern I have is in section VI-A. The author refers to the ability to read out of a collection of memory elements the sum of their contents. Since the sums are totally defined by the other numbers it doesn't seem that you can count those bits as additional information. Maybe I'm missing something, though. The bit after on Exponential Information Overhead seems more robust.
http://en.wikipedia.org/wiki/Subset_sum_problem#Polynomial_t...
Sentence A: "unlike the latter, UMMs are fully deterministic machines and, as such, they can ac- tually be fabricated"
Sentence B: " no experimental realization of such a machine, (...), has ever been reported"
Do you think it might be possible, given sentence A? Such machine would own quantum computing, wouldn't it?
As far as I know, you cannot have non-Turing machines - quantum computing notwithstanding.
It seems like common sense. To solve a problem, you need to do something, and then something else. Sometimes if something is something you do something, else you do something else.
That's how the world works and that's all anything can do and that's how a Turing machine works, and there is no other way.
In any case this sounds truly revolutionary.
Integer factorization is likely not an NP-complete problem at all. It is suspected (but not proven) not to be in the class of NP-complete problems. There is no reason to believe that an NP-complete problem solver can factorize integers in polynomial time.
Contrary to this machine it has been shown that quantum computers can solve the integer factorization problem in polynomial time through Shor's algorithm. But quantum computers are not known to be able to solve NP-complete problems in polynomial time.
Even quantum computers are far off factoring the RSA numbers because of the practicalities of the real world. The current world record Shor's algorithm computation is finding that 15 = 3 x 5.
You're misunderstanding the relationship between NP and NP-complete.
Integer factorization is in NP, which by definition means that anything that can solve NP-complete problems efficiently can also solve factorization. The question that's currently unresolved is whether factorization is easier than NP-complete, not harder.
I happen to have read the Wikipedia page on Shor's algorithm not an hour ago, and apparently they factored 143 without Shor two years ago. We're not quite there just yet, but 143 is getting a bit less laughable than 3x5.