Microsoft has recently released several enhancements for its Quantum Development Kit, a set of tools intended for building software for quantum computers. The toolkit includes Q#, a specially designed quantum programming language.
Although genuine quantum computers are years away from being released for industrial and personal uses, the concepts that would operate them are based on well-known laws of quantum physics. Therefore, it is possible to run Q# code today, albeit only in simulated environment.
Quantum computing research is primarily driven by the desire to preserve the Moore's Law, which dictates that the processing power of an average computer should double every two years. So far, Moore's Law was maintained by shrinking the numbers of transistors, so more of them can fit in a CPU. However, as transistors decrease in size closer to nanoscale, they start behaving differently and become unsuitable to be used in CPUs.
The limitation is mainly driven by the fact that a unit of data in normal computing is bit, which can have a value of either one (transistor gate open) or zero (transistor gate closed). Each bit can only have a particular state at a time. Each individual bit needs to be processed by transistors when data is being manipulated in order to change its state.
In quantum computing, however, each unit of data, which is known as quantum bit or qubit, can be in both states at the same time and only collapse into a particular state when outputted. This is a quantum phenomenon known as superposition. This property makes this type of computers way more efficient than conventional ones.
So, for example, an array of 8 bits, also known as byte, has a total of 255 possible combinations. Therefore, to store them all, you would need 255 bytes in memory. Likewise, the total of 2,040 bits will need to pass through transistors if this data is to be processed.
In quantum computing, however, you only need 8 qubit to store all of these combinations. This implies that, merely by adding an additional qubit to the memory, you will double its capacity. Likewise, as there aren't that many qubits in such setup, the processing speed will be enormous.
Exponential increase in memory is also what places limits on the quantum computing simulators of today. Mere 30 qubits will occupy 16 GB of RAM, while having 31 will require 64 GB. This puts a limit on how much data can be manipulated by personal computers running Q# code. However, Microsoft also offer large-scale simulators via its Azure cloud.
Another interesting aspect of quantum computing is yet another quantum phenomenon known as entanglement. Two qubits can be synchronised, so, even if they are separated by physical space, manipulating one of them will instantly apply the same state changes to the other one. Likewise, monitoring the state of one of them will reliable indicate what state the other one is in.
Due to the efficiency, the practical applications of quantum computing are enormous. In science, it will be possible to build accurate simulations of molecules, making calculations that even supercomputers of today cannot make. Likewise, it will finally be possible to model the global climate system with a reasonable degree of accuracy. There have been some impressive developments in AI lately, but determining the structure of neural networks and training them to work with real-life data still remains notoriously difficult. Quantum computing will make it much easier.
Of course, just as with any computing technology of the past, quantum computing will enable new kinds of malicious exploitation. For example, it will be possible to guess even the most complex passwords by sheer brute force within hours or even days, while it can take several lifetimes now. However, it will also be possible to apply security in ways that are much more reliable than exists today.
For more information, follow this link:
Published by Mobile Tech Tracker
Posted on 29 Jun 2018