Quantum Computing for Dummies
nsanch writes "I just noticed this article at Cryptome. It's one of the better explanations of quantum computing I've ever read, and it's pretty thorough too, detailing some algorithms, including one that the author wrote. Seems it'll be a while before we ever get to see one in action though. " It's true-it'll be sometime before a true quantum computer is actually in use. Very good article, tho'.
Computers in the Turing sense have to have a finite set of internal states: they then move between the states depending on the input to the computer. Otherwise it'd just be a transformer, converting one form of analogue data into another. It'd be an electrically-powered barometer.
So it depends a lot on the processing of your "computer" as to whether it really is one. Is there no digitisation at any point, at all? Does it not react to its input in a way suggesting it has discrete internal states, other than producing an analogue output with a fairly simple relationship to its input?
Factoring is not an NP time problem. Nobody has ever claimed it was. It just seems hard in practice.
Cryptosystems that are based on NP problems are safe even with quantum computers, so long as you square the complexity (like, double the key size).
Scary isn't it?
Nah, *coooool*.
And then there's that everything Kasparov does just might come about through transformation of bits by gates, and that's just...waah, that's nifty.
--
"HORSE."
"HORSE."
-Flaming Carrot
Ok will all you people who were blabbling about the uselesness of OTP over the weekend please shut up now? Sure, the guy's program sucks, and you can't go using a pad "over and over again", but hey, it's open source, so fix it! PGP stands for "Pretty Good Privacy" and that it is. It's just not absolute privacy. If it can theoretically be done then it will be. We went to the dam moon, and only fifty years prior to that it was thought impossible. We think about PGP that way today but in ten years it will be toast. Yes it will take all of the atoms in the universe, each acting as a computer 1000000 times more powerful than all the computers we have today, all connected together in a beowulf cluster the lifetime of a million universes to crack your 4096 bit PGP key by doing an exaustive search. But that aint going to be how it's broken.
Um, geez, I don't even know enough to be incompetent, but best as I can figure QCs aren't more powerful per se than Turing Machines, it's just that they're a way to fit a very large number of Turing Machines into a very very small space. Anyone who actualy knows what they're talking about, please feel free to smack/moderate me down.
--
"HORSE."
"HORSE."
-Flaming Carrot
Same goes for the "quantum" scheme!
We all know that Earth is one big computer that is calculating the question for life, the universe and everything. If it is a quantum computer, then when the mice read off the answer it will colapse the system and the earth will sudenly stop existing in it's current state of quantum flux.
If only Vorgon construction fleets had quantum state analizers as standard issue. It would save them alot of time. "we have to clear out this world for a highway. Lets just observe its quantum state and colapse it." Plus there would be much fewer pissed of mice in the universe.
This would NOT disprove Church's Thesis. Any problem that can be accomplished by the massive parallel qualities of a quantum computer could be accomplished by searching through all possible quantum states with a turing machine.
Remember that computability theory does not care at all about speed. Just power. Quantum computing does not add any power.
What quantum computers do, is give us a method of building a non-deterministic turing machine. If someone could implement a non-deterministic turing machine with a quantum computer (I think it could be done), then programming many problems would be trivial.
60 years ago, before computers were avalable, or even existant, the best encryption avalable was worked out by Nazis on pen and paper (don't mention the war). Encryption like this was able to be cracked by the US millatary in a week; but imagine what 12bit incryption would have been like back in those times. It would have been impossible to crack, yet now it is generally regarded as a simple task for a home computer to crack. Yes, PGP and algorithims like that will be obsolete, and a simple task for QCs, but the software industry will adapt quickly, and as before encryption WILL be invented which WILL tax these computers. Think back 5 years, running WordPerfect 5.1 on a DOS box at 4MHz. If someone said they had a 400MHz computer, would you assume you would be able to write messages quicker, because your program would be lightening fast, and wouldn't crash. Now fire up Word2000 on your PII 400 and see how stable it is.
Quantum computers can *not* do arbitrary nondeterministic computations. If they could, the factoring algorithm would be trivial (just guess the factors and verify that their product is the number you want to factor). Instead, Peter Shor had to devise a very clever scheme based on estimating the period of a long sequence. Quantum computers are restricted to operations that are definable by a unitary matrix. So while they can effectively get exponential amounts of parallelism, the kind of things they can do in parallel is severely restricted.
Just watch, we develop a unified theory over /. and wont' realize it:)
Heh you guys have been suckered into this "zen/voodoo/mystical" QM crap.
The mystery here is how no one yet disputed Einsteins theory of relativity which prohibits things from being allowed to go faster than light.
IF that was out of the way, we'd happily go on discovering how gravity and magnetism fit into the picture and have a unified theory in the works.
Until then, we are stuck thinking that the chair isn't really there because we haven't looked at it recently.
My head hurts.. I think I need to play qUAKE for a while to ease the throbbing.
But Seriously, this stuff is very cool. Once those are out, I guess it won't matter if you have a 4096 or 8192 bit PGP key... you're still toast!
SpamapS -- Undernet #Linuxhelp
As other people have pointed out already, this would not make P=NP. That's a purely theoretical question, regardless of what practical applications there are.
Recall that the 'N' in NP means "non-deterministic". What we have here is a non-deterministic computing machine, almost. (See below to find out why I say almost.) Thus, this machine could compute any problem in NP in polynomial time, whereas a deterministic one can only do those in P. If NP != P, then this machine simply has a wider range of problems it can feasibly compute.
The reason I have to qualify this with an "almost" is that we don't have pure non-deterministic computing. Look at the example in the article of finding the pair (1,0) out of all four binary pairs. We non-deterministically find the answer in one or two steps. However, while the answer exists in some state now, we can't extract it, so we don't really have the answer yet. Unfortunately, we have to run through a deterministic set of steps to extract that answer. Thus, we don't have a purely non-deterministic computing machine.
The question that arises, then, is how much this additional extraction step factors into the computation. If the steps are fixed within polynomial bounds of the size of the problem, then a QC actually could compute any problem in NP in polynomial time, since the deterministic portion would be polynomial time, and the non-deterministic portion is also polynomial time. Unfortunately, I suspect that the extraction may sometimes take more than polynomial time, in which case we've lost the benefit of the non-determinism in the deterministic portion.
-Snibor Eoj
Another thought has caught my mind...
In the article, he talks about how a tiny jolt will flip the polarity from up to down, or down to up, and a lesser jolt will give it a probability of being one way or the other.
Question is: How finely measured do these jolts have to be? What does it do to the computation if we accidentally end up with 49/51 probabilities instead of 50/50? Are we capable of consistently providing that exact measurement of juice? Is this going to be a limiting factor to the technology?
Anyone know any of this stuff?
-Snibor Eoj
Polynomial problems are said to be in NP since they are a subset of NP, so it is not right to say factoring is not in NP, since all polynomial problems are "in" NP. There are also problems that are NP hard but not NP complete, meaning they are harder than polynomial, but that a fast solution to one of them doesn't solve all other NP problems.
Factoring is known to NOT be NP-complete.
Factoring might be NP hard, or might be polynomial.
P might be the same as NP.
So fast factoring on a quantum computer doesn't mean all NP problems are easy.
It is not known if quantum computers can solve NP complete problems in polynomial time. Most people doubt it.
Computer scientists certainly are working to try to understand the new complexity classes which result from the presence of quantum computers. I'm not quite sure if they have a class which is NP hard to a quantum computer, but even harder to a classical computer as Kreep suggests, but I am sure people think about such things.
I am not aware of crypto systems based on NP complete problems. Even these might turn out to be breakable, if P=NP or if P=NP when you have a quantum computer. If anyone knows of a crypto system based on an NP complete problem (rather than just one that is NP hard) I'd like to take a look at it.
Nearly all the papers in the field come out first on the web at quant-phys.
John
Factoring has not been shown to be NP-complete. Of course that does not imply that your concluding idea is incorrect. Which leads me to the question,"Are there any interesting problems more difficult than NP-complete problems?" Can any of you answer this?
BQP (the class of problems "efficiently" solved by a QC) is not known to equal NP. There has been evidence either way, so it is not a closed problem yet.
Another introduction can be found off the execelent e-print archive of LALN: http://xxx.lanl.gov/abs/quant-ph/9809016
Sort your phone book to reduce search time from N/2 to log2(N). No decent looker-upper system will do more than twenty comparisons to find one entry from among a million.
>>What stops a programmer from say recording all the quantum states of the gates during an execution of the code in other qubits and after the culculation completes, reviewing what you saved up?
>>Quantum mechanics. In order to save the states you have to read them. If you read them, you destroy them. If you can't read them until the operation is through, you have a black box.
Not nessecerely. Quantum duality implies that you don't have to know the state of the particle to be able to 'replicate' it on another particle.
So, therefore debugging would be possible just like it is now.
Just my 2 cents
Actually, it has never actually been proven that factoring problems are NP-complete. So the fact that quantum computers may be able to solve them in polynomial time may be more of a demonstration that they are not in fact NP-complete rather than that P=NP. As has been pointed out by others, there has yet to be a quantum algorithm demonstrated that solves a problem that is KNOWN to be NP-complete in polynomial time.
That's not exactly true. The flaw is that all operations you perform on either the original particle or the new one, will effect both. Thus if you duplicate the state and then read the state of this duplicate, you would still cause the wave function to collapse for the original particle. So, therefore debugging would NOT be possible just like it is now.
depends what you call simple, analogue computers can add, subtract, divide, multiply, integrate, differentiate, do fourier transforms etc. Their main problem is that noise is always increased, limiting the number of steps you can perform.
:)
The only digitisation would be due to the electrons
-Yarn - Rio Karma: Excellent
According to the Hitchhikers guide to the Universe, i believe the answer to life's question is 42. Hopefully someday in the future, we'll be able to check this answer.
an enigma wrapped around a paradox driven by a paradigm shift
a little dab'll do ya...
What kind of site is cryptome.org? It looked pretty crypytic to me...
Here.
--
Industrial space for lease in Flatlandia.
BUT THE REAL MAGIC transpires when a two-qubit gate acts on a particle that is in a superposition of spin states. ;-)
Kinda like mutliple personalities.
Seriously though, it was a very interesting article, especially for blockheads such as myself, and I'm just hoping that they're over-estimating the time it'll take to develop this into something usable.
Insert mind here.
Would you even need to write code for quantum computers ? Couldn't they just run every possible program simultaneously and see which one came up with the right answer ?
I heard about this a couple of years ago and I still have a lot of unanswered questions.
A Pure Math Major I once knew explained to me that Quantum Computers could factor large numbers in polynomial time (a fact the article confirmed). This means RSA would be transparent to anyone with a QC. It seems that any current cryptographic system would suddenly become obsolete, as the computer could simultaneously check every key/password and give you the correct one.
This is almost like proving P=NP (for those of you who don't know any Complexity Theory, encryption and 'one-way' algorithms are possible because we think P=NP is untrue; but it has never been proven). But it's a little bit different.
In a way, it's like defining a new model of computation, the first one since the Turing Machine. (I wonder if this disproves Church's Thesis, which states that the Turing Machine is the most powerful model of computation possible.) It would redefine the boundaries of P and NP. Thus, we may find a new class of NP-complete problems, that would allow the foundation for totally new encryption schemes.
(These schemes would not exist for modern computers, as our current machines would not be able to break the code even WITH the key!)
It's probably a good thing that QCs are a long way down the line. I'm sure it would be easy to interface one to a current computer, and then the Internet, and crack everything on it. How could the transition possibly safely occur, short of dismantling the Internet while everyone buys a new computer?
Anyone seen the movie 'Sneakers'?
This year I finally completed the traditional math requirements for Computer Scientists after completing Differntial Equations and 3 dimensional Calculus. If this article is indicative of future requirements for Computer Science majors, learning the newest API's and algorithyms might not rank high on our requirements. I didn't particularly enjoy my introduction to quantum mechanics course, but it might be prudent to take another semester of physics. Being forced to solve the Shrodinger equation to develop a new program will certainly put a new twist on coding.
I heard quantum computers are related to parallel universes somehow,
and I heard about a "EPR bridge" on the tv show "sliders".
Can someone explain to me what does it mean?
Does it mean that every outcome of the superpositiion is in a different universe?
(ie for a 500 atom computer it will happend it 500^2 universes?)
---
The day Microsoft makes something that doesn't suck,
---
I'm going to live forever, or die in the attempt.
Academically more complete; however, I still felt that there were some leaps in reasoning... maybe I am just an uninitiated one ;)
frank
A truth that's told with bad intent, Beats all the lies you can invent. -- William Blake
I could install a supercharged dragster engine in my Nissan pickup truck; unfortunately, if the excessive power didn't rip my transmission apart or spin all the rubber off my tires, I doubt that I could control the acceleration. My point is that as a general purpose computer this technology will be useless unless someone developes tools that will make normal developers smarter.
The operation of today's processors are easy to understand. They perform one step at a time progressing from known state to known state. And yet most of the software available is infested with bugs. One of the easiest ways to debug this software is to single step through the code with a debugger in order to completely understand its operation. If we now introduce a system that cannot be read until the final answer is available, how will software improve.
Does anyone remember how 'self-modifying code' was going to save us all? Why aren't genetic algoritmns taking over programmer jobs? It's something that is understood in all engineering circles. More is not always better. If you can't harness and control the energy then it will usually do more harm than good.
Aah, change is good. -- Rafiki
Yeah, but it ain't easy. -- Simba
I could install a supercharged dragster engine in my Nissan pickup truck; unfortunately, if the excessive power didn't rip my transmission apart or spin all the rubber off my tires, I doubt that I could control the acceleration. My point is that as a general purpose computer this technology will be useless unless someone developes tools that will make normal developers smarter.
The operation of today's processors are easy to understand. They perform one step at a time progressing from known state to known state. And yet most of the software available is infested with bugs. One of the easiest ways to debug this software is to single step through the code with a debugger in order to completely understand its operation. If we now introduce a system that cannot be read until the final answer is available, how will software improve.
Does anyone remember how 'self-modifying code' was going to save us all? Why aren't genetic algoritmns taking over programmer jobs? It's something that is understood in all engineering circles. More is not always better. If you can't harness and control the energy then it will usually do more harm than good.
Please note that I'm not saying that this technology can't be created. What I'm saying is that if it does become mainstream, the average programmer won't be intelligent enough to write and debug programs with it.
Aah, change is good. -- Rafiki
Yeah, but it ain't easy. -- Simba
The article sounded to me as an approach to creating an artificial brain, especially the part about complex molecules-computers submerged in brine.
Yet I've got a comment. Massively parallel computing is very possible with the present tech. All you have to do is to merge processing capability into the memory chips, leaving only the most complex operations (like floating point) to the CPU, and eventually overcoming the very idea of CPU. In such a system, the example with the "telephone directory" can be exactly as fast. I.e. one set of data is filled with "telephone directory" another set of the same topology - with blank data except for the "street address" fields that has to be filled with the known "street address". Then these two layers can be compared in one cycle if their corresponding memory cells are interconnected by processing cells. This means that to accomplish that particular kind of task one has to arrange "processing-capable memory" in cells of two independent memory bits plus one elementary processing unit. By increasing the number of independent memory bits served per processing unit, the resulting array will eventually become capable of tensor-like calculations.
All in all, it's a highly simplified example of the "neuron net" idea. (The BRAIN is still lurking around, isn't it?)
The great shame is that all that stops the idea, is the higher cost of combined memory/processor type silicon plus the inertia pertaining to computer industry.
(you can also reply to agorabasta@usa.net)
I thought I saw somewhere that quantum computers weren't limited to base 2 computations? Oh never mind that was just a futurama episode.
01011001110102
All these discussions of Quantum Computing assume that one can generate arbitrarily complex superpositions that will evolve according to the Hamiltonian until we, the users, feel like it and collapse the wave function. Thus the basic idea is premised on this voodoo/zen/mystical aspect of QM that supposedly what causes the collapse of the wave function is human consciousness. If you haven't been suckered into this nonsense, there are various other viewpoints as to what causes collapse of the wave function. The simplest assume a constant collapse (rate of x per unit mass per unit time). The most interesting (IMHO) assume that what causes the collapse is that the discrepancies between the gravitational curvature generate by the different superpositions grows beyond a Planck length. (Lots of handwaving here as to exactly what that means of course.) Why does this matter? Because it sets a limit of how large these quantum computers can be (theoretically, not just practically), and that limit may not be especially large. (For more details on the stuff I mentioned about collapse of the wave function, read Chapters 5 and 6 of _Shadows of the Mind_ by Oliver Penrose, pretty much the only QM book aimed at the public that's not complete crap.)
They're calling it "3 dimensional calculus" now? Arrggh. I think I liked "multivariable analysis" better.
The problem you bring up is exactly why schools have to concentrate harder on teaching students to research and solve problems. Whatever facts you learn in college, be sure they will be largely obsolete or irrelevant in 20 years. Your problem solving skills will last your lifetime.
Jim
Here's a link that will work: http://cryptome.org/qc-grover.htm
-- $SIGNATURE
Boiled down to its essentials, any computer must meet two requirements: it must be able to store information as strings of 1's and 0's, or bits
If this is the case what is this analogue computer that I built? Admittedly binary computers are what are used on our desks with monitors attached, but analogue computers are often used for temperature control etc. Any why cant a computer operate on muliple levels? It could even be faster.
-Yarn - Rio Karma: Excellent
I think the speach that you want to was talking about quantum switching, which I belive is different than quantum computing. Quantum computing is about using the nature of quantum mechanics to form systems to solve problems, whereas quantum switching refers to using quantum mechanical properties of a device to make a really small switch that behaves like transistors to in modern digital circuits. I haven't seen the article about the molecular switches by HP yet, but I think that is allong the same line.
Anyhow, I wasn't there so maybe I'm reading too much into it. This is just how I've thought of the situation.
Matt
In the article, the author states that he knows the know outcome. He also states that observing the computation destroys the state of the superposition. So, what this means is that I still don't quite understand exactly how this works. If only one state provides the 'answer', and that the answer is returned by observing the state to return the answer. wtf?
In the immortal words of Socrates, who said; 'I drank what?'
This just sounds like standard probability until you get to the part he glosses over. Sure, I need N computational units, and I can evaluate N^2 states.
Look: 8 bits can store a value (or a state) from 0-255. If you initialize this byte from a random number generator, you have a superposition of 256 states until you tell the user what the value is. Nothing quantum here, just normal probability. Don't forget, you actually have 8 1-bit CPUs.Then a miracle happens - I do a special calculation that collapses the probability to the solution.
When is someone going to explain this with a little less hand waving? Until they do, I'm skeptical that is anything more than a theory of calculation with random numbers.
Q: But how do you get that magical N/2 solution time?
A: Optimize your conventional algorithm for 8 CPUs and report back.
I went to an open forum with Craig Barrett(CEO Intel) and someone asked him a question about quantum switching. I just thought this would be an interesting input on the subject. Barrett thought it would be at least 20 years before they started to explore that option. Because according to Moore's Law they will be able to reduce the manufacturing process to about .05 micron. Right now they are at .18 micron. Then after it has become that small, they can start using 3 dimensional layers of transistors. So the transistor still has a long time ahead of it.
People, their what's for dinner.
Even better, imagine a Beowolf of THESE puppies!
Or, we can just get that autistic boy from "Mercury Rising" and do it today.
Seems a lot of slashdotters think quantum computers can solve any problem instantly. Not so. Read the paper!
MOST SEARCHES, OF COURSE, WOULD SCAN a list longer than four items. To do so, the algorithm might repeat the three quantum operations many times, nudging the system toward the desired state with every pass through the loop. What makes quantum searching so powerful is that, for a list of N items, the algorithm requires only about the square root of N steps to find its quarry-not the N/2 steps of the classical trial-and-error search. Thus a quantum computer could search a million-name phone book in 1,000 tries instead of half a million. The longer the list, the more dramatically the quantum algorithm will outpace its classical rival.