views:

278

answers:

5

I went through a period of being interested in how quantum computers work and what they might be good for if they ever become practical. I know they are talked about for code-breaking. I was interested is using them for validating software by essentially trying all possible inputs (in parallel) and seeing if any error states are reached.

I know it's a bit of a blue-sky question, but I wonder if others are interested in quantum computers, how they might work, and what they would be useful for.

Added: Just for fun, let me throw out a mini-tutorial:

Suppose you've got N bits of memory to play with. Suppose you can load those bits (or some of them) with your input data. Then suppose there is a finite sequence of operations you can do on them (without using any additional memory) leaving the answer in them.

To do this with a quantum computer, it is only necessary that you make sure that the entire computation is reversible, by reserving some of the bits to record branches you took, so you can undo them. If you do that, then all the operations can be written as simple unitary matrix transformations on the N bits. (A unitary transform is a pure rotation in the N-dimensional coordinate system.) So performing the computation consists of applying a succession of pure rotations on the bit-vector.

If you do this, then if the N-bit vector is in a quantum computer, it can be initialized into a state where all 2^N (or fewer) possible inputs are superimposed at the same time in "parallel universes". Then if you do the computation, it is doing them all at the same time.

Now all you have to do to see if one of the inputs gives you a particular answer is to let it run to a particular state. If you halt it and examine the state, what it does is choose one of the universes at random and throw away all the rest. So what the Grover algorithm lets you do is, without halting it, accentuate the probability of the universes with the answer state. Then you run it forward, then backward, then forward, and so on for a number of iterations until the answer universe has very high probability. Then if you examine it, you have a high probability of seeing the answer you want.

Whew...

+3  A: 

I'm mildly interested, as I am in all science, but honestly I haven't spent a moment investigating them very deeply or thought about how they could be applied to problems that I work on. There's still so much for me to learn about how we apply the von Neumann-esque architectures that we use today.

Maybe multiple cores and massive parallelization is a half-step towards those kinds of problems. But I'm only crawling in that direction.

I have no idea how I'd program them for anything useful.

Danny Hillis, of Connection Machine and Long Now fame, used a machine to write a sorting algorithm that was optimized using genetic techniques. I wonder if revisiting something like that would be a worthwhile problem? Or perhaps a stable, faster linear algebra solution?

Is yours a rhetorical question? Do you have access to such a machine, with near-term plans to try your idea?

duffymo
It's not rhetorical. I'm thinking ahead to the point when they'll either be practical or we'll know why not. I like the problems you mentioned. The Grover algorithm is a way to do searching.
Mike Dunlavey
Thank you for the mention of Grover's algorithm. I was ignorant of it. Sounds like you're doing some great work. Good luck!
duffymo
I've written a simulation of it, just to get comfortable with the concepts. It's pretty nifty.
Mike Dunlavey
+2  A: 

A link: http://www.dwavesys.com/index.php?page=applications

ChrisW
Richard Feynman was listed as an influence by DWave's site - terrific. They're still far from being Dell: "Order your quantum computer here - get a free flat screen monitor and HP printer!" I wonder how far off?
duffymo
That's right. I think it was Feynman who introduced the idea of a "cursor bit" so you could examine part of the state without collapsing all of it.
Mike Dunlavey
Um, DWave doesn't exactly have a great reputation. I'd take their claims with a few tons of salt.
ShreevatsaR
Yeah, I wouldn't invest my pension in it. But I do like the creative thinking.
Mike Dunlavey
+5  A: 

During my Symbolic AI module at university I was asked to give a small presentation to the class on a certain subject, my subject being AI Applications. My subject in this presentation was Quantum Computing in AI.

If the information I write here is out-of-date/wrong/poor don't be too angry. I'm only a second-year CS student at a crappy university that is relying on his memory for most of these details.

The power of Quantum Computing appears to be its ability to work on things incredibly fast (due to its perceived states if I remember correctly). This will obviously completely change security, as white and black-hat hackers will jump on the opportunity to develop and stress-test the various methods of secure systems. If you're interested in Physics then this is the subject for you! If you want to read more about how Quantum Computers can be used in security by using Algorithms to factorise large numbers read this paper by Peter Shor.

Its power comes from the Qubit and a technique known as Quantum Interference. I could spend all day talking about it, but it'd be better for you to read about the double-slit experiment to see how quantum computing works.

The conventional computer compromises of logic gates, whilst quantum computers have their own. As many of these computers have been built (hard-wired) to solve certain problems there are a multitude of different QLG (Quantum Logic Gates) proposed for different problems. Functionally, Quantum Networks are formed using these gates in a method known as Gate Arrays. If you require more information on this then the Ekert paper is the way to go.

Please note that the traditional way to represent the super-positions is as unit contra-variant vectors (one per Qubit) in an 2^n-dimension Hilbert space (where n is the number of Qubits). The gates are defined as rotating these universes and inevitably transforming the Qubit. One such gate is the Hadamard Gate.

Quantum AI has a bright future, but not for a long time. Many academics see Quantum Computing as the distant future of Computing, similarly to how Charles Babbage viewed his machine.

Sorry if this answer got a bit out of hand.

EnderMB
Yeah, the subject is not simple. Thanks for a different slant on it.
Mike Dunlavey
It's horrible for a student with no real Math or Physics experience. Luckily for me there is a wealth of information out there to help the average guy get to grips with some of the concepts.
EnderMB
Mike Dunlavey
@EnderMB: As to quantum computers being fast, any speed they get is due to the exponential parallelism. The actual operations are quite slow, at least for the mechanisms being explored at this time, such as magnetic resonance.
Mike Dunlavey
@EnderMB: I haven't yet seen the point of qubits. If you have a 10-bit system, its state is a superposition of 1024 universes, and that's what gets rotated as it evolves. A cubit superposes 2, so I'm not clear what they contribute as a concept.
Mike Dunlavey
+4  A: 

Just to clarify, the link you have there talks about verification of finite state machines. That could be a great thing in the HW market, but from there to software verification the way is long.

In particular, software runs over at least stack automata if not over Turing machines.

In addition, software verification without manual abstraction (a-la model checking) would require you to solve the halting problem. At best, a quantum computer can bring you from NP to P, it doesn't bring you from RE to R. Even if you run any infinite item in parallel, you can't in general determine if programs end. Though it is possible that for certain programs that can work.

Either way, I'll wait till I see an OS that runs on normal computers first. I can only imagine Quantum Computing's GPF... "The universe performed an illegal action and will now implode" or something like that.

Uri
"The universe performed an illegal action and will now implode" - I laughed at this. Puts a whole new quantum spin on "blue screen of death".
duffymo
You're right. It's a really fun problem, with lots of challenges. Clearly not practical now, maybe not in our lifetimes, but sooner or later it will either be a yes or a no. I looked at FSA because it was part way toward general universal interpretation.
Mike Dunlavey
Computers have finite memory, and someone around 2^(memory in bits) possible states. They are finite state machines. No solution to the halting problem is required.
derobert
@derobert: Yeah computers are finite if they are not allowed to grow. Like a Turing machine doesn't need an infinite tape, only as much tape as the current problem needs, either that or tape-factories at the ends. How this applies in the quantum world I'm not sure.
Mike Dunlavey
How did my answer become community-wikid? :)
Uri
@derobert: The halting problem has little to do with finite memory or not. It has to do more with the idea that you can't solve an infinite calculation in finite time.
Uri
BTW, universes are collapsing around us all the time, whenever "observations" are made.
Mike Dunlavey
@Uri: What I like about "community wiki" is it's not in that silly "rep" universe.
Mike Dunlavey
What I meant is that I didn't know you could community-wiki an answer, only topics...
Uri
+2  A: 

Are you kidding?

If half of what David Deutsch says is right this will be either the end of encryption or the end of encryption-breaking, and will make the central problems in chemistry, physics, and nano-tech knowing the question not finding the answer.

annakata
I'm no expert on all the ramifications.
Mike Dunlavey
degree in astrophysics ftw :P
annakata
"knowing the question not finding the answer" - overly optimistic. Scale of many problems and non-linearity won't yield so easily. Ph.D. in astrophysics? You aren't suggesting that what you'd call hard problems in your field will yield to a quantum computer, are you?
duffymo
IMHO, computation must evolve toward DSLs, in which problems are not so much solved as stated. However, this is orthogonal to quantum computing. It's about what happens at design-time, not run-time. (I wrote a book about that, for what it's worth.)
Mike Dunlavey
Your answer is mostly hype and BS, sorry. "Central problems in physics" were never a question of not having enough computing power. It was always about not knowing whether what the computer spits out makes sense or not. And there are encryption algorithms for which there is no fast quantum algorithm which breaks them.
quant_dev