Wednesday, September 13, 2006

Not to Be Confused With Q*bert

Greetings Squaddies! Welcome back.

Today's question comes from Andy who asks:

What makes a quantum computer so different (and so much faster) than a
conventional computer?
For those old school individuals in the audience, I could make a joke that the quantum computers eat their Wheaties. Newer members to the consumer collective might appreciate it more if I said that the quantum computer slept in a Holiday Inn Express last night. Ha ha, ho ho, it is to laugh.

What makes quantum computers so different, and potentially so much faster (the key word being potentially) comes down to bits. Doesn't it always? Maybe not.

In a classical computer (the computers we know and love today) bits are the building blocks for a computer's instructions and contain either a 1 or a 0. The bits may be saved as a punch out on a punch card, or the magnetization on a hard drive or the charge on a capacitor's plate. By sequencing these bits together and putting them through various logic gates, computers can perform the instructions we ask them to. The thing to keep in mind here, and this will be important when we talk about quantum computers, is that in a classical computer, a bit is either a 1 or a 0 which means that if you have a 1 and you need a 0 you need to do some transformation on it, through a logic gate for example, to do so.

Quantum computers, on the other hand, also uses bits, which also contain 1s and 0s, however due to the joy of quantum mechanics, namely superposition, a quantum bit, or qubit as they're called, can be a 1, a 0 and a superposition of the two all at the same time. Quantum mechanics gives you three bits for the price of one, cutting out the middleman and passing the savings directly on to you.

This superposition allows quantum computers to be exponentially faster than classical computers. Let's take a register that contains three bits. Such a register can have 8 possible values (2^3). With a classical computer, the register can only have one out of those 8 possible values in it at any one time. A quantum computer on the other hand, has all 8 values in the register at the same time. Not only can the quantum computer have all the numbers in the register at the same time, but operations can be performed on all 8 numbers at the same time. Let's say we have an extremely slow and simple computer that can perform an operation on a value in the register every second. For a classical computer it would take 8 seconds for every possible value in the register to have an operation performed upon it. A quantum computer could do the same operations in all possible values in one second. Now, you could get the classical computer to perform an operation on all possible values in the register in one second, provided you had 8 registers and each register had a unique value and had the operation performed upon it in parallel.

It is important to point out that a quantum computer can't do more things, or different things than a classical computer, it can just do them in less time and with less memory. Take factorization for example. If you were to take two very large prime numbers and multiply them together, it wouldn't take you, or a classical computer very long to come up with the answer. Now if we were to take the product of those two numbers and try and figure out what was multiplied with what to get that number, it would take you, and a classical computer much, much longer to do so. Many data encryption models are based on this fact. It is possible for a classical computer to factorize extremely large numbers, but the amount of time it would take to do so is so huge that the act may as well be impossible. For a quantum computer on the other hand, this would be a piece of cake, and in reality, should someone come up with a quantum computer tomorrow that had the same computational abilities as a classical computer, most data encryption and data security as we know it today would be kaput. We're talking some serious, black box in "Sneakers" kind of shit.

This doesn't mean that you have to cancel your Paypal account just yet, as we're a long way off from having such a functioning quantum computer. As we discussed in previous posts, as you increase the complexity of a quantum system, so does the chance that the system will interact with the outside environment and collapse into one state or another. In order for a quantum computer to approach the level of a classical computer, you'd need a pretty complex system with a pretty high risk of decoherence. Presently, I think the largest quantum computer has been either 5 or 7 qubits. Impressive, no doubt, but nothing you'll be playing Unreal Tournament 2007 on any time soon.

Will we see a quantum computer in our lifetimes? It's hard to say, as the present limitations are based on what we know of science today, and what we know of science today will be vastly different from what we know of science tomorrow. Personally, I'll be happy if we don't ever see one, because I have a hard enough time as it is explaining to my mother-in-law how to sort her email by sender without bringing quantum superposition into the conversation.

HowStuffWorks.com - How A Quantum Computer Will Work, Kevin Bonsor
The Quantum Computer - Jacob West, Cal Tech
Wikipedia - Quantum Computer
Centre for Quantum Computation - A short Introduction to Quantum Computation

3 comments:

CatSpit said...

Think you mean 2^3 up there buddy boy.

This message brought to you by annoying snarks anonymous 2006.

k o w said...

This is the first I've heard of a quantum computer.

Brandon Cackowski-Schnell said...

Thanks for pointing out the mistake, it has been corrected. I'm glad you found it as when I was editing the post, I found that some of my sources had been cut off.

I was never any good at checking my work. ;)