Skip to main content

Some Insights on Quantum computation

Image result for how many states can be held in 4 qubits

The hardest part about learning quantum computing is making a simple mental switch. Independent of the platform you might be interested in, whenever quantum computing is mentioned there is a very simple way to view the entire field. I will explain briefly below.

If you ask me if Quantum Computing is the next general platform for computing, I will say no. Quantum Computing will be like an ASIC (Application Specific Integrated Circuit), highly specialized for a narrow domain of problems that have aspects that can be dealt with in a highly parallel fashion.

If you ask about what's next for hardware, I will say massively multicore systems will be the thing in this new decade. While individual core sizes will barely shrink, by the end of the decade we will see monolithic systems built out of tens of thousands of cores. You might say we already have this in GPUs but what I am trying to emphasize here is the core you have on your typical Intel or AMD chip, in this decade the new Moore's law will shift from transistors towards cores, and it will be more about how many high performing cores you get on a system and still deal properly with heat dissipation and core connectivity. This will be the hardware challenge of the decade, getting thousands of core on a single chip.

So what does quantum computing hold for us? The key to answering this question is to understand something about the way we naturally compose the solutions to problems which is encoded in our classical paradigm of computing, we solve problems by incrementally building parts of the solution and executing this solution in a linear stepwise manner on classical processers.

The classical paradigm of computing is deeply represented in the kinds of classical architectures we have become familiar with. One can say that we have parallel computers and stuff like superscalar processors and although this is true, in some sense we are actually doing pseudo parallel computing because even though we distribute the solution-finding process to multiple individual processors, or machines or cores, there is still some kind of precedence of tasks going on at some level, either during compute time or when the results of parallel process are being collated into a unified solution.

Another name I often use for quantum computing to distinguish it from the kinds of quantum effects that are already being exploited in modern processors is Entangled computing. You should not think too deep about quantum entanglement when you are trying to understand what I mean with Entangled computing. Your attention should turn towards visualizing a system that is so entangled it functions as a whole such that any single part actively contributes to the whole in a tightly knit (highly entangled fashion) such that the solution of the problem cannot be viewed incrementally as we would usually view the solution to a problem executed on a classical computer.

The typical lecture on quantum computing talks about the difference between the classical bit and the qubit and how while the classical bit can be in only one state at a time, i.e. either 1 or 0 the qubit can be in 1 or 0 or a superposition of both states. Without thinking too hard you can go beyond this step of understanding quantum computing. But when it comes to thinking about how to solve a problem or which kind of problems can be solved with quantum computing, you have to really think deep about this superposition thing.

A much clearer way to talk about a superposition is to imagine something invisible that can exist in two states simultaneously. This can be hard if you are new to quantum computing but for now, just imagine that two states of 1 and 0 are separate but so tightly connected that they are indivisible. This is not an accurate description but it enables us to wrap our minds around these unintuitive ideas.

In reality, we cannot observe this superposition states, but experiments and mathematics tell us that they exist. We cannot observe this state in reality, anytime we take a measurement (observation) of some physically realized qubit we can only get either a 1 or 0, despite the fact that before our measurement (observation) both states existed as a singular superposition.

So while in a classical computer we can use for bits to represent only 1 state out of 16 possibilities, with 4 qubits we can represent all 16 possibilities at once as superpositions but when we measure these 4 qubits we can only get a set of 4 out of the 16 possibilities even though our computing actually operates with the whole 16 possibilities. The states we can deal with simultaneously in quantum systems grows like 2 ^ n (2 to the power n). For every extra qubit, we add to the system the power of the system grows exponentially while in the classical system every extra bit adds to the power of the system in a linear fashion.

So when thinking about representing the solution to a problem in a quantum system one must think of the whole system as participating in finding the solution to the problem at once. That is why I call it entangled computing which has no real connection to actual quantum entanglement which is a different concept altogether.

So if we had a problem whose solution can be represented as a configuration of bits such that a particular pattern of 4 bits would be a solution to the problem, using classical computing we could brute-force search through all bit combinations 4 at a time until will arrive at the solution, which will take a minimum of one search or a maximum of 16 searches before we arrive at a solution. With a quantum computer, we can search all 16 configurations at once and provide the answer in minimal time.

While a system with only 4 bits and 16 total configurations is very trivial, as we go to systems whose solution can be represented by 1000s of bits to even millions it can be very difficult to design good algorithms that can search for a configuration that solves the problem. As the number of bits increases the amount of compute and algorithmic ingenuity that must go into the solution of the problem increases. The promise of quantum computing is that solutions to these kinds of large problems will become trivial because with superposition we can rapidly search for all possible configurations in a short amount of time than we would be able to achieve with any practical classical computing arrangement or any algorithm of any degree of sophistication.

I hope you now have some kind of insight into quantum computation and can start thinking about it more productively.


Popular posts from this blog

Next Steps Towards Strong Artificial Intelligence

What is Intelligence? Pathways to Synthetic Intelligence If you follow current AI Research then it will be apparent to you that AI research, the deep learning type has stalled! This does not mean that new areas of application for existing techniques are not appearing but that the fundamentals have been solved and things have become pretty standardized.

Virtual Reality is the next platform

VR Headset. Source: It's been a while now since we started trying to develop Virtual Reality systems but so far we have not witnessed the explosion of use that inspired the development of such systems. Although there are always going to be some diehard fans of Virtual Reality who will stick to improving the medium and trying out stuff with the hopes of building a killer app, for the rest of us Virtual Reality still seems like a medium that promises to arrive soon but never really hits the spot.

What is Intelligence: Software writing Software

Sometimes I wonder why programmers are hell-bent on writing programs that can communicate in natural language and not even putting adequate effort into writing programs that write other programs. Maybe is because of the natural tendency to protect one's source of livelihood by not attempting to automate it away or maybe because writing programs is hard enough such that contemplating of writing some program that writes programs might be even harder.