Easily the most bizarre technology on the horizon is quantum computing. It is so un-intuitive, don’t be surprised if you first don’t get it.

At the atomic level, the smallest level, things don’t exist in the way you and I are familiar with. Atoms made their constituents: electrons, protons, neutrons – don’t exist as distinct points. Rather they exist as a probability wave. Seriously. The atomic constituents only convert to a point in space when you interact or observe them. That means that an atomic constituent **exists everywhere** in its wave **at the same time**. Fundamentally a probability (distribution) curve defines where a wave will collapse into a point when it is interacted with.

Thinking Exponentially, why does this even matter? Imagine you have a safe with the dial between 1-100 and the combination is 3 numbers. You need to try up to 100*100*100 (1 million) combinations to open it. With a quantum computer, because things exist in different states the same time, you would **try all combinations at once**. You don’t need to go through each one at a time. I know it sounds unbelievable, but its the way it works.

By Thinking Exponentially once step further, a quantum computer consists of qubits. Which is just a fancy term for probability wave that is both 0 and 1 simultaneously. Qubits are strung together through a quantum process called entanglement. The more qubits you have, the more powerful your quantum computer. Today quantum computers are only a few qubits in length but are doubling every year or two. A **general purpose quantum computer**, with enough qubits, could easily crack almost every security and encryption system in the world. How many? 256 general purpose qubits would likely decode military grade, as little as 40 would crush most consumer encryption. Even 20 qubits would greatly simplify decoding most encryptions today.

The applications of quantum computing are pretty niche. Accessing secure communications is the big one. It can also be applied to solving problems that have large search spaces. By large I mean there are not enough computers on the planet to try all the combinations. For example, when a protein folds in a cell, figuring out what it turns into could be solved with a quantum computer.

In Vancouver there is an interesting company called D-Wave that has serious financing to create a **special purpose quantum computer**.

Programming a quantum computer is a non trivial task. It is not programmed like a traditional computer. There are no sequence of commands – a quantum computer is not a Turing Machine. You have to define your question and answer in a way that is expressed through a relationship of qubits. Then you cause the wave function to collapse in just the right way and possibly read the results in a MRI machine.

Quipper is a one of the world’s first attempts to create a quantum computer programming language.

Keep in mind that **special purpose **quantum computing is relatively easier than **general purpose** quantum computing. Similar to how a PC graphics card is different than a general CPU processor. General purpose quantum computing has greater potential but special purpose quantum computing will scale initially much more quickly.

Google and Nasa recently announced a project to work together with D-Wave quantum computer.

In Waterloo Canada, Mike Lazaridis of Blackberry materially helped create the Institute for Quantum Computing. The field is advancing quickly and may one day parallel computing.

## Trackbacks/Pingbacks

[…] that you know technology scales exponentially, what once seems impossible becomes quite possible. Quantum Machines, Robotics, and Brain to Computer interfaces are just the […]