Recently I’ve been doing some research into quantum computing; I wanted to understand its current state in 2019 along with where it could be headed in the next few decades. Let me preface this by saying that I’m not a physicist, although I do have a basic understand of quantum mechanics. I would like to take the opportunity here to thank some friends who’ve advised me during the writing of this article.
Please check their links out here:
Dr. Elizabeth Heckmaier Ph.D (Experimental Particle Physicist)
Jessica Merizan (AI & Dynamics 365)
Daniel Price (Software Engineer)
I have read a lot of material from D-Wave, Google and IBM as they are all companies that are currently working on the challenges of quantum computing and publishing their work publicly.
Understanding Quantum Computing Basics
In the quantum computing space, today’s current computers are known as classical computers. A quantum computer isn’t a more powerful version of a classical computer, it’s a completely different kind of computer - it functions completely differently. A classical computers' most basic element is a bit, which is always in a state of either a one or a zero. Bits are strung together to compute information, the more bits the more information can be computed. A quantum computers' most basic element is a quantum bit or a qubit. A qubit is not in a state of precise value. It is anywhere and everywhere between one or zero; this is what makes it quantum in nature. This is also known as superposition. Qubits are strung together to compute information just like classical bits, but because qubits can be in many states simultaneously, much more information can be computed. For example, let’s take a modern Intel or AMD 64-bit processor. Each one of those bits can be either a one or a zero. It would take approximately 400 years to cycle through all the possible positions at a rate of 2 billion positions per second. IBM will soon launch a 53-qubit quantum computer, and this will be able to use superposition to be in all possible positions at once. So quantum computing should eventually be able to solve problems that are too complex for classical computers to solve in an acceptable amount of time. Classical computers can operate at room temperature, but quantum computers need to be kept in a specific environment to maintain the quantum state; also known as coherent superposition. Quantum computers need to be isolated from all radiation, light, sound, magnetic fields, vibrations and cryogenically cooled to 5000 Millikelvin, or 5 Kelvin (the colder the better) in order to operate. This is because qubits are extremely fragile and any disturbance cause the qubit to succumb to quantum decoherence. To put that temperature into perspective 20°C/68°F is 293.16 Kelvin and zero Kelvin is absolute zero, which is -273.15°C/-459.67°F.
Most of what you see in the image above is the infrastructure to maintain the environment needed for the qubits to be in superposition. I mentioned earlier that quantum computers are not just ‘better computers’; the reason for that is that classical computers are very good at telling us 4 + 4 = 8, because 4 + 4 does indeed equal 8 and that is absolute. However, the world around us is not absolute, it is quantum in nature. So we require quantum computers to solve quantum problems. An example: let’s say that we want to accurately predict the weather down to the smallest detail for the next week. We could find all the variables, create an algorithm and enter it into a classical computer. The computer might be able to complete the program but it would be 100 years too late simply because it cannot crunch the data any faster.
The Current State of Quantum Computing in 2019
Currently there are several challenges that prevent quantum computing from becoming mainstream. Currently quantum computers are large and require entire rooms, much like the classical computers in the 1950’s. There are a lot of similarities between the development of classical computers and quantum computers, such as fault tolerance. Classical computers are very reliable - it receives instructions and it follows them reliably. Errors that exist are introduced in the code or another abstraction layer and not in the integrated circuit itself. Quantum computers are not that reliable yet. Another problem is storage of quantum information. Quantum computers have a lot of infrastructure to maintain the environment because it’s necessary for it to operate. However, there’s a time limit that the qubits can stay in superposition and store the data.
At the time of writing Google, IBM and D-Wave Systems are developing quantum computing technology. IBM have made a web portal allowing the general public access to quantum computers, and are creating abstraction layers to interact with them in ways which are familiar to classical computer programmers. If you’re interested, you can check it out here.
Development of quantum computers is in the early stages still. They are not currently fault tolerant and not powerful enough to be used in a commercially meaningful way. Google has recently claimed to have made a lot of progress in the quantum computing space, however rivals have disputed the claims.
Hopefully in time, quantum computers will enable us to solve problems by processing much more complex data that would take even our current and best supercomputers a long time to process. Here’s a few examples of problems that quantum computing will be able to work on:
- It will be possible to model weather patterns, being able to accurately predict the weather, prepare for natural disasters and possibly counteract climate change.
- It will be possible to model the brain and work on drug research, potentially finding a cure for conditions like alzheimer’s disease, various cancers and multiple sclerosis.
- All current encryption will be able to be easily broken with quantum computing, but it will also be able to generate even stronger encryption.
- Using quantum entanglement, data transfer at incredibly high speeds will be possible. Even with current technology and fibre optic cables, data transfer from one side of the planet to the other can take a long time. Quantum entanglement would enable data to be transferred across the Earth, and even larger distances - such as between planets, instantaneously.
All of these examples are decades away at this point. There are still problems that need to be solved. One of these problems is fault tolerance. Classical computers are very reliable - you give it instructions and it reliably follows them. Almost all errors are errors introduced in the code or another abstraction layer, not in the integrated circuit itself. Quantum computers are not that reliable yet. Another problem is storage of quantum information. Quantum computers have a lot of infrastructure to maintain the environment because it’s necessary for it to operate. However, there’s a time limit that the qubits can stay in superposition and store the data. A lot of the problems that need to be solved are very similar to the problems that occurred during the development of classical computers.
A Future With Quantum Computers
In my final paragraph I’d like to briefly explore the hypothetical future, and I maybe allowing my love of science fiction and my imagination to run away with itself, but in any case here’s my thoughts.
If we are able to successfully model the brain using quantum computers, would we also be able to model human behaviour and predict human actions? Could pre-crime and accurate prediction of the future become possible? If we are able to build an accurate model of typical human behaviour, would we be able to develop androids that are more human than human? If we develop quantum computers that can predict human behaviour, will we put them in positions of trust over us? I think these are questions we’ll be asking ourselves and debating in the coming decades as quantum computing development progresses.
I hope you’ve found this article interesting and thought provoking. If you have any questions or comments, please leave them below. Please consider supporting my work with PayPal.
-Mike