Quantum computing is here to change the way we envision, design, and develop applications
July 25, 2019
Among the various mysteries surrounding quantum physics, one that offers a brain-freeze moment to explorers, researchers, and enthusiasts alike is quantum entanglement: the idea that two particles in the universe can be connected such that they can instantly share their physical states, no matter how great the distance between them. The two particles may reside on opposite ends of the universe, billions of light-years apart, and yet their states somehow remain entangled.
This notion and its implications are so bizarre that when Einstein first discovered it, even he was baffled. He discarded his own observation, calling it “spooky action at a distance”.
Recently, however, researchers at the University of Glasgow published a research paper stating that they have made Einstein’s spookiness visible for the first time in the form of an image of two entangled photons.
Picture Credits:https://www.engadget.com/2019/07/12/bell-quantum-entanglement-image-university-of-glasgow/
With such advancements taking place in the field of quantum computing, one should be very clear that the artefacts, architecture, development paradigms, and even the design aesthetics for applications, solutions, and integrations of the future will have to go through a tremendous mind-shift. Keeping the above context in mind, the remainder of this article explores why quantum computing is a challenge and how would it impact our thought, design, and development process.
It wasn’t until the 1980s that quantum computers were first proposed. However, they were hard to envision, let alone develop. One of the earlier ideas proposed was to simulate the quantum realm using conventional computers. However, we soon learned that it wasn’t possible, primarily because a quantum computer would have to record every possible quantum state the system could be in. That was different from classical computing, where there could only be one known state of the system. A conventional computer operates in the form of bits, which can either be 0 or 1, but not both at the same time. However, in quantum computing, the quantum equivalent of classical bits is called quantum bits (qubits). Due to a concept called superposition (remember Schrödinger’s cat that was dead and alive at the same time?), qubits can simultaneously hold values of both 0 and 1.
Now suppose we want to develop a quantum system that operates based on the superposition of electrons. Let’s take a simple case of recording a system of 40 electrons. Since under quantum mechanics, the electron may or may not be at a position at a given time, we’ll have to develop a system that tracks a configuration of 240 states. From a conventional computing standpoint, to store 240 quantum states of electrons, we’d require 130GB of memory, which seems pretty reasonable. However, simply add one more electron position in the system and the memory requirement will double to 260GB. Fast forward to a system that plays with a few hundred electrons’ superpositions, and the memory required to store the possible quantum states will exceed the number of particles in the known universe!
Simple arithmetic leads us to the conclusion that our conventional computers simply can’t simulate quantum dynamics. It also suggests that the era of quantum computing will be entirely different from the era of conventional computing since new hardware needs to be designed that will operate on an entirely new set of rules, tools, algorithms, and interfaces.
Remember how we began the article with a discussion of quantum entanglement? One other difference between qubits and conventional bits is that in a computer program written for today’s hardware, two bits operate independently of one another, i.e. if we reverse a bit from 0 to 1 or 1 to 0, no other bits in the system are affected. In the case of qubits, on the other hand, thanks to quantum entanglement, changing the state of one qubit may impact other qubits in the system. If you look closely, this feature will make quantum computing blazingly fast and will have a huge impact on the software solutions of today. I’m going to discuss two such implications here:
- A lot of encryption techniques that require a public key are considered safe and provide an adequate measure of control against brute-force attacks that will stand no chance against quantum computing, once realized to its full potential. In information security and cryptography, we’ll need a brand new set of algorithms and methods for performing encryption.
- Software developers would require brand new hardware and an entirely new set of tools and technologies that can handle such complexities (qubit entanglement) and offer insights. To develop a system where the state of the system can be altered by changing one qubit, the integrated development environment, debugging mechanisms, and development language constructs should provide such insights.
I’d like to conclude by quoting a concrete example with the hope that it will demonstrate how quantum computing will impact the way we look at problems, and how we design and propose solutions for those problems. Almost every one of us uses maps and calculates routes while travelling to different destinations. Map and route applications serve us well… until we’re in the middle of a traffic jam that couldn’t be predicted before. Or could it, use quantum computing?
Let’s suppose there are two bridges you could cross to reach your destination. If one suffers from congestion, people tend to take the alternative bridge, causing congestion on that route, too. The congestion on the second bridge, while viewed to be independent of the first one, is still subject to the congestion of the first traffic jam.
Today’s conventional traffic jam and route calculation systems would have to take into consideration every actor in the system, every moving object on the map, and each one’s speed and direction. The system would then chalk out every path to predict what the future state of the second bridge will be like due to increased inflow at the first bridge. This is extremely complicated.
On the other hand, instead of traversing every single traffic route one by one, quantum computing could simply rely on qubits and their entangled states to reduce computation. Two qubits representing the state of traffic flow at the two bridges could be entangled, giving a real-time preview of how inflow at the first bridge will impact traffic moving across the second bridge.
This is just one classic problem among thousands that are now under review by individuals and companies working in the space of quantum computing around the world. While the results might not be proven yet, quantum computing offers insights into a promising future in which humanity’s problems will be better addressed.