Even if you do not have a background in physics or mathematics, I have conviction that quantum computing will be one of the most exciting technologies of the future.
Why? Because quantum computers will enable things like:
- Better stock portfolio construction (maximising mean return while minimising the variance)
- Quantum machine learning (either using quantum algorithms to speed up classical learning or learning from quantum data)
- More precise medicine (allowing simulations that are not currently feasible)
And many more things.
However, despite its wonderful and interesting use cases, it is less understood by the majority.
I’m not an expert in quantum computing, or even physics or computer science myself.
But even if you aren’t an expert, having a foundational understanding of the emerging technologies that will fundamentally shift many different industries is important.
And I hope to do just that for you.
Classical Computers
Before we get into quantum computers, it is useful to recap how a classical computer works.
In the device you are using to read this writing right now, every information is stored in binary form, which means all information is broken into 0s and 1s. In classical computers, each bit stores either a 0 or 1.
For example, in binary, numbers are represented as the following.
0: 0
1: 1
2: 01
3: 10
4: 11
5: 100
6: 101
7: 111
8: 1000
9: 1001
But why would we do this? This looks like an inefficient way of representing numbers.
We do this because our computers are made up of electronic components in discrete current, that can only either be on or off at any given time (like a lightbulb).
In fact, you can think of the classical computer as a device with countless “lightbulbs” that turn on and off in different combinations to represent information.
In the old days, people used to physically turn big switches on and off in massive computers to do just that.
Problems that involve a lot of computations, especially the ones that scale quickly with the problem size, often cannot be solved on classical computers.
A famous example of such problems is the traveling salesman problem:
Is there a path with a maximum of x km that visits n number of cities and return to the origin?
At first glance an innocent looking problem, there is no feasible algorithm to reliably solve this problem as the number of cities increase.
The simplest approach given 5 cities could take 120 different tries to solve. Not too bad.
But if given just 15 more cities, it could require 2.43 x 10¹⁸ attempts.
To put that into perspective, that is:
2.43 x 1,000,000,000,000,000,000.
Even more clever algorithms developed by computer scientists could take 4.19 x 10⁸ different tries. And don’t even bother start thinking about 100s of cities.
And the examples of quantum computer use cases I mentioned, such as simulating our response to new drugs and constructing portfolios of stocks run into similar problems.
So how can quantum computers help?
Quantum Computers
Imagine a coin with a head and a tail. If you flip it, it will be either at a state of head or tail.
But if you spun the coin?
You can think of it as being in different probabilities of ending up in a head or a tail. If you spun the coin fair and square, it is in 50% chance of ending in a head and 50% chance of ending in a tail.
Maybe as the coin starts to topple towards one side, one outcome will be more likely than the other until it finally stops either in a head or tail for us to observe.
This is the analogy for qubits (quantum bits, instead of bits in classical computers). While classical computers can only be in 0s and 1s, qubits are in a superposition of 0s and 1s, like the spinning coin.
Superposition is a jargon for the ability for something to be in multiple states simultaneously. In a sense, the spinning coin is simultaneously a head and a tail at the same time.
In physical implementations, qubits are represented by things that are in superposition between two distinct states, like photons, electrons and many others.
Why is this useful?
Consider a computer with one classical bit. It can only represent 1 or 0 at a given time.
But a qubit can represent both 1 and 0 at the same time since it is in a superposition of those states.
Take this to 2 bits and 2 qubits. Regardless of the number of bits, classical bits can only represent one state at a time.
Meanwhile, 2 qubits mean they can be in superposition between:
00
01
10
11
So representing 4 different states simultaneously.
As you might have noticed by now, given N many qubits, quantum computers can represent 2^N states and process all of them in parallel.
Having as many as 50 qubits will already allow you to process 1.13 x 10¹⁵ different states simultaneously!
For the example of portfolio optimisation, given a number of stocks, you can consider all possible combinations of those stocks at the same time.
Given a large number of stocks, classical computers would not be able to do this in a practical timeframe.
This is the main strength of quantum computers over classical computers.
Current State Of Quantum Computers
Quantum computers are still a work in progress, still in heavy research and development stage rather than practical everyday usage.
Until June 2021, IBM’s 65-qubit quantum computer was the largest in the world.
As of August 2021, that is now beat by China’s Zuchongzhi which has 66 qubits.
It demonstrated the advantage of quantum computers by completing a sampling task that would take a classical computer about 8 years to complete in just over an hour.
Some other well-known researchers in the space are Google, Microsoft and Honeywell.
Currently, the biggest challenge with quantum computers are on the hardware side. Controlling sub-atomic qubits in a reliable manner is a huge engineering task (especially as the number of qubits in the system scales), and even the state-of-art quantum computers today are prone to some level of random errors.
Despite this, the developments in quantum computers are accelerating, and the next decade will likely see some very exciting use cases that will shift many different industries.
Further Resources
Quantum Country (https://quantum.country/qcvc): First-principles introduction to quantum computing
IBM Quantum(https://quantum-computing.ibm.com): Visualised programming for quantum circuits