Most of what your hear about quantum computers focuses on their quantum nature - and their potential to solve unsolvable problems. Quantum theory plays heavily in these discussions with topics such as:
- Superposition - used to represent multiple states (multiple numeric values) simultaneously in a similar way.
- Quantum entanglement - allows qubits, which behave randomly, to be perfectly correlated with each other.
- Interference bias - the measurement of a qubit toward a desired state or set of states.
- Coherence/decoherence - a process in which the environment interacts with the qubits, uncontrollably changing their quantum states and causing information stored by the quantum computer to be lost.
There are dozens of other properties, but lets take a moment, without swimming in quantum physics, to describe the most basic and foundational aspect of quantum computing: quantum devices (qubits) can possess a combination of both 0 and 1 states at the same time.
Moreover, a qubit can become “entangled” with the other qubits so that the behavior of a qubit can influence the behavior of many. Thanks to these unique characteristics, adding more qubits produces a network effect that rapidly gives quantum devices more compute power than their classical alternatives.
Another unique aspect is that, because we are so enamored of massive datasets, quantum is cable of drawing inference from relatively small datasets because it can analyze the data from a multitude of perceptions simultaneously. Not all ML/AI applications have the luxury of large datasets.
Understanding quantum computing - scenarios from IBM
An aspect of superposition and entanglement is the amazing speed that quantum computers can exhibit with certain problems An example of this, from IBM, shows the network effect and the exponential processing speed-up for a simple problem:
Imagine you want to seat 10 fussy people at a dinner party, where there is only one optimal seating plan out of all the different possible combinations. How many different combinations would you have to explore to find the optimal?
The answer: 2 people = 2 combinations; 5 people = 120 combinations; 10 people = 3,628,800 combinations. Obviously, real problems for optimization can easily result in trillions of combinations and even the most powerful supercomputers could not complete the problem. Quantum computer can solve that in a heartbeat.
Another example from IBM:
Grover's search: suppose you need to find one item from a list of N items. On a classical computer you'd have to check N/2 items on average, and in the worst case you would need to check all N.
Using Grover's search on a quantum computer, you would find the item after checking roughly the square root N. To find one item in a list of 1 trillion, and each item took 1 microsecond to check:
Classical computer: About 1 week
Quantum computer: About 1 second
But if you approached a quantum computer you might think, “How do I work this?” In truth, a quantum computer isn’t really a computer at all. According to Dr. Itamar Sivan, CEO of Quantum Machines, Quantum Computing, Progress, and Prospects:
Although reports in the popular press tend to focus on the development of qubits and the number of qubits in the current prototypical quantum computing chip, any quantum computer requires an integrated hardware approach using significant conventional hardware to enable qubits to be controlled, programmed, and read out
It needs a lot of help from a surrounding environment including conventional computers. A quantum computer needs three elements to perform: a quantum computer and an orchestration platform of (conventional) hardware, and software. There is no software in a quantum computer. The platform manages the progress of their algorithm through, mostly laser beam pulses. The logic needed to operate the quantum computer resides with and is controlled by the orchestration platform.
Existing “classical” computers are, after many decades, excellent at accomplishing an enormous range of tasks. On the other hand, there are relatively few tasks that quantum computers can excel at, though when they do, the results are dramatic - “exponential.” But in any quantum application, the data chores, front and back, require processing by classical computers, such as cleaning and formatting data and presenting results generated for decision -making. This is all part of the “orchestration” of quantum computing.
Orchestration should make it possible to switch from one to another in a single line, and support the ability to change the optimizer used in a variational quantum algorithm to compare performance - without writing additional code. Additionally, this should make it possible to combine source code from multiple frameworks and libraries, eliminating the drudge work of standing up new environments, and freeing up time to focus on running actual experiments.
Another aspect of orchestration is “models,” or algorithms that quantum engineers write for the quantum computers to execute. There already no-code/low-code tools for writing algorithms. Just a few years ago, it required a Physics PhD to write at the low-level, and it was different for each machine. The rapid development of tools for orchestration in the last few years allows the developer to simply use a handful of APIs to generate the code.
Arthur Strauss discusses hybrid classical-quantum algorithms, considered today as the best candidates for demonstrating quantum advantage in the very near future:
In fact, those algorithms are specifically designed to cope with limitations inherent to the physical reality of the current hardware (e.g coherence times, connectivity issues, gate errors) while enabling the possibility of solving concrete computational problems (e.g combinatorial optimization, chemistry simulations, machine learning tasks, etc.).In hybrid algos, quantum resources are exploited for computing small subroutines in a wider classical algorithm. In a nutshell, the statement of this kind of algorithm is as follows:
We know that the quantum computer is not good at computing everything, so let’s focus its use on a sufficiently small subtask where we can hope that it will give us an interesting result. This result can then be processed on a classical computer to solve our input problem.
From a purely practical perspective, a hybrid approach is the most efficient, cost effective and productive way to approach quantum. Leaning on classical devices to perform those tasks in the quantum computing process for which they are best suited, and for which they have been optimized over the last fifty years, is not only the right path, it is the only best path.
The reason for this is that, as we have argued, quantum devices and classical devices don’t just solve problems differently; they solve different problems. This is the case today as it will be five and ten years from now.
That’s why it’s a bit of a misnomer to say that “quantum computing will do this or that.” The fact of the matter is, the real revolution will be driven by the combined power of classical and quantum - in more and more powerful hybrid solutions.