A Quantum future
The end of Moore’s Law
Gordon Moore’s predicted in 1965 that the number of components inside a chip would double every year, in 1975 when he reviewed the numbers they were correct, and thus was born the Moore’s Law, which has been used for many years to measure the progress of technology over time.
Today’s computers have nearly 50 billion transistors but this exponential Journey is coming to an end. In 2019 Nvidia CEO Jensen Huang declared "Moore's Law isn't possible anymore.", the high cost of Research and Development to find new ways to reduce the size of transistors combined with the complicated and expensive manufacturing processes are some of the reasons why the technological advancements have been slowing down since the year 2000.
Computers have become more powerful and smaller every year by increasing the number of transistors they can fit inside microprocessors, today we can produce circuits with 7nm (Samsung and TSMC) but this process gets harder every year, we are approaching the limitations imposed by Physics, we are reaching dimensions where electrons no longer follow the laws of Classic Physics but instead the ones of the Quantum Physics.
The current pressure to keep pushing the limits of computation is making large companies take new approaches to solve these problems. AI, Computer Vision, Self-driving cars are just some examples of advancements we have had in the past 50 years, all of them require immense computing power, to make progress in those fields, we have to innovate at the microprocessor level.
General-purpose vs specific purpose
One approach to help work around these limitations is to develop special-purpose processors, designed to perform better under specific circumstances such as Crypto mining or computer vision applications, doing this could extend the life of Moore’s law but only for so long.
One clear example of specialization is the existence of the GPU (Graphics processing Unit) a type of processor specifically designed to process graphics better than a more generic CPU.
A new type of computation
During the past few years or months it is very likely that you have heard the word “Quantum computing” or “Quantum supremacy” around the internet, but what does it mean?
A brief history of Quantum computing
In the 1980s the Famous Physicist Richard Feynman was researching the Quantum world, due to the complexity of Quantum calculations he came up with the idea of running a simulation instead. During his simulations, he notices that the current computer could not scale to the magnitude required to perform the Quantum calculations during a reasonable time.
Feynman proposed that to solve problems of the Quantum world we would need to build a computer that operates under the same rules, and thus surge the idea of Quantum computing.
What is Quantum computing?
Quantum computing is like regular computing, the difference is in the way the calculations are made. Classical computers perform operations using Bits, which can contain a value of 0 or 1 at any given time, Quantum computers use something called Qbits which can contain any value between 0 and 1 at the same time.
A good analogy to explain this is using coins, if you toss a coin into the air and when it falls it will have a value of Face or Back (0 or 1) that is a Bit. If Instead of tossing the coin into the air you make it spin, it doesn’t have a value of 0 or 1, it has both while it is spinning, something like 30% face and 70% back, a range of values between 0 and 1 would be valid for a Qbit. Another way to put it is that Bit stores digital values while Qbits store analogical values.
Qbits
One of the benefits of Qbits over Bits is that they can store all the possible values they can represent at the same time. For example
If you have 10 Classical bits, you can represent the numbers from 0 to 1024, but those 10 bits can only store one value at a time.
10 Classical bits can store the value of:
0000000000 or 0000000001 or 0000000010 [...] at any given time.
Qbits on the other hand can also represent the values from 0 to 1024, and any value in between at the same time, which means that 10 Qbits can store 1024 values, and each value can be any number that you can store with 10 Classical bits.
10 Qbits can contain the values of:
[
0000000000,
0000000001,
0000000010,
{...}
]
At the same time! All the possible values you can represent with 10 classical bits (1024), this phenomenon is called Superposition.
The formula for this is 2^n, where n is the number of Qbits.
It means you can store 1024 different values with just 10 Qbits, and to store the same amount of information on a regular computer you would need 1024 Bits.
This exponential difference in storage capacity can speed up certain types of operations that require a large number of steps, such as searching for a person’s name on a 1 Million directory, with a classical computer it could 1 Million steps to find that person’s name in the worst case, with a Quantum computer it would take the Square Root of 1 Million steps to find it.
The speed increase of quantum computers does not come from the speed of each operation, which might be even slower than on a regular computer due to its complexity, the increase in speed comes from the reduced amount of total operations required to achieve the same result.
Quantum computing is not a replacement for classical computers, is only superior on a certain type of operations, Anything that a Quantum computer can do can be done with a classical computer given enough time and resources.
Entanglement
Another phenomenon used by Quantum computers is called Entanglement, which happens when 2 Qbits are close to each other they relate to one another, this means the value of one Qbit is mathematically related to the value of the other one. For example, using the analogy of the Coin
If the Qbit one has the value of 1, by the phenomenon of entanglement we can guarantee that the value of the Qbit two will always be 0, when the Qbit one has the value of 1 and vice versa.
From Theory to reality
Currently, many companies are racing to develop more powerful Quantum computers and to achieve something called Quantum supremacy, which is a point in history where you can solve a problem faster than on any other known classical computer.
Quantum computers are also highly energy-efficient, now days most of the energy required to keep them working comes from the cooling systems, since these Quantum properties are only observable when certain materials (Depending on how the Qbits are built) reach temperatures close to 0 Kelvin, the Absolute Zero when all subatomic movements stop.
Some of the biggest names on the field right now are IBM, Intel, IonQ, NVIDIA, and Honeywell which have fully functional and commercially available Quantum computers, some are even available through cloud services such as Google Cloud or AWS Bracket.
This field is still in its infancy and some people estimate that for Quantum computers to be commercially useful we would need to build computers with over 1 thousand Qbits, as of today most companies offer services with less than 100 Qbits, there is a long way ahead of us, but maybe this technology will open new frontiers for computer science and new computing capabilities beyond Moree's law.