Who needs qubits? Factoring algorithm run on a probabilistic computer
arstechnica.com
arstechnica.com
Skimming over the paper it seems their method of translating factorization to the optimization problem consists of simplifying equations without justification that this can be done efficiently. I suspect that their preprocessing step is already NP-hard.
The second and more important issue, is that the overall strategy---of translating a problem with a sub-exponential classical complexity (via the Number Field Sieve) to an optimization problem with exponential runtime---is not expected to succeed, as confirmed by careful measurements in our paper.
Their pre-processing seems like simply expanding out their cost function that's of the form E= (F - XY)^2. Of course it's a lot of multiplications since X and Y are binary and multi-dimensional. Not sure if it would be NP-hard though.
Then, you perform operations where the value interacts with alternate values for itself (i.e. the full wave-function) - a bit like the double-slit experiment. For example, you can end up with a new 8-bit value where the probability distribution is the Fourier transform of the previous one's distribution.
So, if you can engineer the initial probability distribution to be "interesting", you can then sample its Fourier transform - using only the 8-qubit values, and not storing 2^8-point distribution in an array. Scale that up, and you could calculate a useful 2048-bit Fourier transform (or more accurately: observe a random sample from the result) with a 2048-qubit system, instead of a 2^2048-point array.
It's not obvious to me how stochastically-changing bits of state can get anywhere close to self-interacting (double-slit-like) calculations.
x = rand() % 2
Then mathematically, x is a p-bit. That is, it is in a classical "superposition" having value 0 with probability 0.5 and having value 1 with probability 0.5.So you don't need any special hardware to do classical probabilistic computations. You just need a source of entropy and a standard computer.
Now it might be that a different architecture than the standard von Neumann processor+memory one could give a polynomial speedup for certain problems. And that would be fine. But the focus of this Ars article as well as the Nature letter abstract is on p-bits, which seems nonsensical to me.
(Added later) I see there is an emphasis on the bits fluctuating or evolving over time, annealing I guess. We could of course simulate this on a standard computer, but not as easily. Still I am reminded of Aaronson's soap bubbles...
Needs to be a tunable random number and technically needs to be "true" as mentioned.
But I don't think that the authors would disagree with your larger point - their point is to provide polynomial speed-up over digital computers for a certain class of problems. That this can be done with classical computers isn't exactly a deep insight, it's rather obvious.
Not sure why anybody would make the effort of researching this idea, or even why ars would publish an article on it.
If it can just take as long as they want, then the probabilistic part is basically irrelevant and you're probably looking at https://en.wikipedia.org/wiki/PSPACE
In any case, I very much doubt they'd made any real breakthrough in factoring numbers.
Essentially, a qubit can have a superposition over 0 and 1 and operations upon that qubit will change the probability and then when you "pop it" to read it out you will get the output that you want depending on the program that you set up.
By contrast, this "pbit" works by having some probability between 0 and 1 and this is represented by something, for example a time varying flicker between 0 and 1 which is weighted by the same aforementioned probability. Then, operations upon the pbit can change the probability depending upon the program and you read it out by sampling to see what the output of it is supposed to be.
If so, wouldn't it suffer from the Monte Carlo integration issue? Namely, in theory it is nearly independent of the number of dimensions, but in practice as your number of dimensions (here the number of bits, pbits or qubits) goes up you will get worse results?