Over the last few weeks we have discussed several computing laws that have driven computing development over the past decades. We noticed that many of them have slowed down and some of them are dead. This means that our current development trends to build faster, more efficient computers using classic methods have come to an end. So what’s next?
There are several new technologies being developed to overcome the speed barriers we have hit with classical computing. One of those technologies is Quantum Computing, which will be the focus of this week’s article.
Quantum Computing is not as new as people may believe. It was a theoretical concept in 1980 when Richard Feynman and Yuri Manin expressed the idea that a quantum computer had the ability to simulate things that a classical computer could not. A great example of this is the simulation of molecular structures. Molecules increase in their complexity exponentially as the number of electrons in the molecule increase, making it nearly impossible to simulate a large molecule entirely with today’s largest computing platforms.
So how is this possible? To understand the power of a quantum computer, first we need to understand a little about how classical computers work. So here it goes. A classical computer stores information in bits. You can think of a bit as a tiny on/off switch; it is always either on or off, and cannot get stuck somewhere in between. Each additional switch increases the amount of information a computer can process. Modern computers have a 64-bit address space. This allows them to store and process single chunks of information as large as 64 binary digits. This can represent a number large enough to count seconds for 292 billion years. That seems like a lot, but we are currently reaching the computational limits of these systems.
A quantum computer works in a very different way. It utilizes the strange properties of quantum physics to store and manipulate data. There are two properties of quantum bits or qubits that make them ultrapowerful for certain computing problems. The first is superposition, which basically means that a qubit can represent a one, a zero, or an infinite number of states in-between one and zero. They hold a probability distribution of the likelihood that they are a one. The second is entanglement; this allows two qubits to become linked in a manner that modification to one qubit affects the other.
So what exactly does this mean? Well, a classic computer can only hold a single state, so although it can represent and compute numbers as large as 64-bits, it can only represent one number at a time. The power of superposition allows a quantum computer to hold all the states simultaneously. As an example, the first computers were 8-bit systems. They could hold values up to 256 and would hold, at most, three values simultaneously. An 8-qubit quantum computer can hold all 256 values simultaneously and do operations on all of them in a single operation. It is 256 times more powerful. But it is important to remember that a quantum computer is not really storing all the states, but rather the probabilities of each state occurring. This means it can actually give a wrong answer because it has no definite state. It runs entirely on the probability of being in a particular state.
The most powerful algorithm proven to work today on quantum computers, provided we overcome the stability issues, is Shor’s Algorithm which is designed to factor very large prime numbers. This algorithm would allow someone with access to a quantum computer to break modern cryptography schemes, making current network security impossible to maintain. Quantum Cryptography is becoming a major field of study in figuring out how to make cryptography quantum-proof before the processors become powerful enough to break the encryption. Next week we will talk a little about cryptography and what it means to you.