Quantum Computing — A Solution Architect’s Perspective
Introduction
Current computers represent everything in bits, which can take a value of 0 or 1. Think of a current computer bit like a light switch which can be on (1) or off (0). A two-bit computer, thus, can represent four states, one at a time (00, 01, 10, 11). A quantum computer represents everything in qubits, which can take a value of 0 or 1 or in the midst of 0 and 1. Quantum computer qubit is like a regulator which can be on (1) or off (0) or something in between. This enables a two-qubit computer to represent four states, all at a time (00 and 01 and 10 and 11) making it inherently efficient. The in-between nature is called superposition.
In a current computer, each bit is completely independent of another bit. In a quantum computer, two qubits can be entangled, i.e. the value of one of the qubits is related to the value of another at a particular instant of time. Superposition and entanglement can be harnessed to do computing involving simultaneous evaluation of a large number of values.
Quantum Computing — Wide Applicability
Optimization Problem:
An optimization problem involves maximizing or minimizing a target while satisfying constraints, e.g. assign crews to different airline flight segments to minimize total cost while ensuring that a crew rotation begins and ends in the same city. When the number of crew and airline flight segment increases, the optimization process becomes really complex due to the sheer number of options to be evaluated to find the best value. As mentioned in the introduction section, quantum computing is good at solving problems that involve simultaneous evaluation of a large number of options, e.g. evaluating all the combinations of crew assignment and airline flight segment.
Machine Learning and Big Data Processing:
Machine Learning is a technique that provides software systems the ability to automatically learn and improve from experience without being explicitly programmed. The process of learning begins with observations of the vast amount of data in order to look for patterns that help in making better software output for any new input data set.
It is observed that well-categorized input data helps in finding reliable patterns essential for future predictions. Bucketing and categorization is a daunting task since it involves dealing with big data (a very large amount of data). The problem can be addressed by using the simultaneous state handling (superposition) ability of quantum computing, i.e. the ability to evaluate a large number of data points at a go.
Quantum Process Modelling:
Quantum biology refers to applications of quantum mechanics to biological objects and processes. An example: birds’ ability to sense the earth’s magnetic field. According to research, the European Robin bird’s eyes have two entangled electrons that act as a compass against the earth’s magnetic field. This enables the small bird to navigate and travel great distances.
Quantum computer with inherent support for entanglement is a natural choice for modeling this navigation process. Simulating the same in a current computer is challenging, though not impossible.
Quantum Computer — A Co-processor
The use cases discussed above, point at multiple roles of quantum computing: optimization accelerator, superfast data processor and quantum system modeler, to start with. This abstraction helps us to encapsulate quantum processing as a service. Segregation of these services helps build scalable and maintainable software systems (see picture below).
On the other hand, there are tasks which are more suited for current computers as compared to their quantum counterparts, e.g. email, spreadsheets, and desktop publishing. This leads to the fact that quantum and current computing are likely to co-exist, with quantum computers acting as co-processors for specialized tasks.
Using quantum computers as co-processors or segregated services enables us to outsource quantum computing to a third party, e.g. a cloud platform. In the initial days, quantum computing will be expensive, so consuming the same as a service (platform as a service — PaaS) on-demand is a natural choice. Even if quantum computing cost goes down as the technology becomes cheaper, using it as PaaS will still be relevant, as software systems will use quantum co-processor only when required. As an example, any large logistics provider can use quantum-powered optimizer as a service on demand to deliver goods faster and cheaper.
Another point to ponder: the very nature of qubit is to be in a state 0 or 1 or both. This leads to probabilistic output instead of precise results. This probabilistic output needs to be fed to current computers for further processing to arrive at a useful outcome. This reinforces the idea that the current software system architecture will use quantum computing as a first iteration co-processing service.
To summarize, current business software solutions will continue to provide value to customers. They will be reinforced by quantum computing co-processor either for solving current problems faster or previously unthinkable tasks.