At IFS Labs, we do a lot of things. We take our inspiration from consumer technologies and innovative solutions from a range of industries and apply these to IFS products. Some good examples of our work are around technologies like Augmented Reality or Chat Bots. However, we also do research that’s a bit further away from the day to day lives of our customers. One such topic is Quantum Computing. I’ve written this blog together with my colleague Pramuditha Rathnayake, to start explaining how it works and how it could potentially help us.
We need a new architecture
In the latest blog on Artificial Intelligence, we have discussed that computing power has grown tremendously over the past decades, to the point where the latest “traditional” supercomputer can perform a staggering 35,000 trillion operations per second. This is a monumental achievement and a real testament to the ingenuity of mankind.
Even though this processing power seems to be of a colossal scale, it’s not enough to simulate some of the hardest optimization issues we face today. To solve these, we need an architecture which can scale exponentially.
Current computing architecture is of a serial nature and not innately parallel processing friendly. Parallel processing helps to scale things easily. This is the reason why, in recent years, graphics processing units (GPU) were used to fill a part of this gap.
The Quantum Approach
Quantum computers approach this problem in a totally different manner. They have a completely different architecture of representing and manipulating bits. It gives quantum computers a unique advantage, but before we dive into that, we must first be familiar with some special quantum phenomena.
The Physics of Subatomic particles
Quantum physics is the study of the dynamics of subatomic particles. These subatomic particles exhibit some peculiar and unique properties which we can’t observe in classical objects. Quantum superposition and entanglement are the two most widely known quantum effects. For the purpose of increasing computing power, superposition is the most interesting of these two.
This phenomenon is the hardest to understand and visualize since nothing in our mundane, day to day lives behave this way. When in superposition (a special state a particle can be in) a property of a quantum particle can be in multiple states at the same time. (Ex – spin of an electron can be up and down at the same time).
An object can be in superposition only when nothing is interacting with it. The difficulty is that if we want to measure a property of that object, we have to interact with the object in some manner. Therefore, as soon as the superposition is observed, it will collapse and revert to one of the more classical values (0 or 1) randomly. Now, if this experiment is performed multiple times, a probability distribution for each classical state can be observed.
Now, since a superposition can hold a mix of information in a single unit, this could potentially be used as a new way of encoding information which in turn, gave rise to the quantum computer architecture.
Quantum BIT (QUBIT)
Traditional computers do everything based on bits that can either hold 0 or 1. Thanks to superposition, a quantum bit however, can be represented as both 0 and 1 with a probability distribution between the two. So, N QUBITs represents 2^N values and as the number of QUBITs increase the number of information it can hold increases exponentially. This makes quantum computers highly scalable.
How does a Quantum Computer Compute
Classical computers have classical gates which manipulate classical bits. Gates are put in a certain arrangement to get a certain operation performed. Adhering to the same architecture, quantum computers have quantum gates. These gates can manipulate a superpositions’ probability distribution. A quantum algorithm is a collection of gates with a unique topology which produce solutions for a certain problem.
The quantum computer is manipulating the whole input space simultaneously, which is totally different from how a classical computer works. Classical computers will need to manipulate each input individually, limited scaling to the number of processors that are available. This enables quantum computers to find solutions in large scale input sets much faster.
So, let’s consider an optimization problem where we have 256 possible input values and only one will yield the maximum output.
First 8 QUBITs are put into a superposition. The QUBITs in superposition represents all 256 input values. Now a quantum algorithm will run on the superpositions, manipulating the probability curve of each QUBIT in a way that it will move toward the optimal outcome incrementally, effectively evaluating all 256 solutions in parallel. This incremental process will run multiple times until one of the solutions has a very high probability compared to the rest of the input space.
Then a measurement will be taken, which will collapse the superposition and produce the classical solution for the problem.
Since even a 95% accurate answer has a chance of being 5% wrong, a quantum experiment is run multiple times to make sure the answer is the correct one. In addition, each quantum solution will need to be validated by a traditional computer as well to ensure its integrity and correctness.
What can we do with it?
Quantum computers will likely be initially used for large number crunching problems. For example:
- To simulate the behavior much faster and extensively to reduce development time of new pharmaceuticals, fertilizers, catalysts or similar products.
- To perform large scale optimizations for complex problems like global container shipment optimization or similar problems.
- To decrypt cyphers (decryption is a large number crunching problem when brute forcing) and subsequently to develop new encryption methodologies
The real-life applications are limitless and are very profound. Although quantum algorithms have been in development for more than a decade, it’s only now that quantum hardware development is starting to catch up. And although not in a stage to outperform today’s supercomputers, it’s only a matter of time until quantum supremacy is reached.
Once quantum supremacy is reached it will help to fast track the technological revolution and propel mankind to even greater heights.
Do you have questions or comments?
We’d love to hear them so please leave us a message below.