Hello and welcome, my name is David Wisnosky and today we will be discussing how quantum computers can solve some common problems in the computing field.
Let’s start by discussing the two current computing paradigms. First, is computing as we know it today, referred to as classical computing. Computing as a whole is an abstraction of the fields of math and physics. British mathematician Alan Turing, commonly called the father of computing, developed a model for all computation aptly named the Turing Machine. This model helps to define what problems can and can’t be solved by a computer. A Turing Machine can be thought of as the equivalent of a modern-day computer. One defining characteristic of computers, in general, is that they are deterministic. What this means is that a given step of a computation is determined only and entirely by the previous steps, and these steps can be traced. While this model has led to the solution to a great many problems and the technological revolution still taking place, the limits of the machine are becoming an issue in computing.
This leads us to the revolutionary field of quantum computing. This new computing paradigm allows for solutions to current problems that classical computers cannot solve reasonably. This paradigm also has features that classical computing lacks in solving problems that are impossible on a classical machine due to mathematical limitations. Quantum computing also has associated mathematical models two of note are the Quantum Turing Machine and the Quantum Circuit Model. The latter is the more popular of the two, but many more exist. Quantum computing is modeled using physics and math. Here the key postulates of quantum physics are what allow for quantum computers to solve problems classical computers cannot. The three fundamental ideas of quantum physics, and what quantum computers are founded upon, are superposition, entanglement, and measurement. You may be familiar with the concept of superposition as it is referenced often in pop-culture via the well-known Schrodinger’s Cat thought experiment. Simply put, this is the idea that a quantum state exists in a combination of possibilities until one observes its actual value. Entanglement is a simpler concept, when two components of a quantum state are entangled they depend on each other. Anything done to one will affect the other. The last concept is measurement this is the same as another measurement in science. When one measures a quantum state reading is taken, this has the added effect of ending the superposition of a quantum state. By exploiting these concepts problems for a classical computer are trivial for its quantum counterpart.
Let us briefly define the basis of both classical and quantum computing. Classical computing is founded on the principles of electronics and Boolean algebra. The basic unit of a classical computer is the binary digit or bit. A zero or one, the numbers of the binary counting system. These zero and ones can be thought of as either heads or tails on a coin, it is either one or the other at any given time. The state of a computer is described by the information represented by the bits of a system. The operations used to change the states are the same as those in Boolean algebra as that mathematical domain uses a true or false system, again this can be compared to the zeros and ones of a computer. If a computer has n number of bits then n number of classical bits worth of information can be stored. This is a one-to-one system.
Quantum computing is similar in its components, but they are defined somewhat differently. To start quantum computing is based on linear algebra and quantum physics, opposed to Boolean algebra and electricity. Next, the base unit of a quantum computer is the quantum bit or qubit. Here lays the key difference between the paradigms a classical bit can be a zero or one. However, on a quantum computer, due to superposition, these qubits can be in both states at once. A good way to visualize this is back to the coin comparison. Here the coin can be thought of as a rolling coin. The state of the coin, heads or tails, is some probability of both heads and tails. The only way to find out is to observe the coin or measure the qubit. These quantum states are altered by linear operators defined in linear algebra. The benefit of this superposition of a quantum state is that n qubits are equal to two to the n power classical bits. This means that we can store an exponential amount more information on a quantum computer, and thus perform more computations.
Some problems in classical computing are high computational complexity, random number generation, and the concept of reversibility. A problem with high computational complexity means that as the number of inputs grows the number of calculations that must be performed grows rapidly. In the cases where the number of computations grows too rapidly, classical computers just can’t solve that problem. In figure one we some of the common complexity graphs of computing problems. One can see that some of these functions grow slow, while others skyrocket after only a small number of inputs. As I mentioned earlier computers are deterministic machine’s problems that are classified as nondeterministic, meaning they produce different behavior given the same staring state. This is difficult because these possibilities can be exponential, and as figure one shows, these problems are time-consuming to solve.
The next problem is random number generation. While generating a random number has been done by computers since essentially their inception; these numbers are not truly random. They are referred to a pseudo-random or fake random. This is due, again, to the deterministic nature of a computer. A classical computer essentially takes some random starting number, called a seed, and scrambles it in a formulaic manner. The reason a computer appears to generate random numbers is that this seed is changed when a new number is requested. So, if the same number is entered it will create the same random number.
The last problem we will discuss is the idea of reversibility. On a classical computer, the operators on which it is based are not reversible. This is because, given some inputs, the inputs cannot be retrieved from the output. If we pass the output through the same operation there is no way to get the original input. An example of this is the classic and gate, shown in figure two. Given two-bit inputs, if they are both ones produce a one otherwise produces a zero. Here we immediately see the issue how can we get two inputs back from one output?
Now, we discuss the solutions to these problems via quantum computing. For the complexity problems, I mentioned how a quantum computer can store exponentially more information due to superposition. This allows many more computations to be performed at once. So those problems that grew rapidly on a classical computer, may not if a quantum solution is devised. In figure three we see this performance increase. A common computation is the searching of a list. A classical computer does so by checking each element one by one. We can observe that in the worst case the item being searched for is at the end. That means for a list of size n we must check n items. The quantum solution to this provides an significant time decrease. Grover’s algorithm does the same job but only needs to perform the square root of n operations. The comparison of these two methods is what is shown in figure 3.
Next, we discuss the issue of random number generation. One of the key aspects of a quantum computer is that it is based on unpredictable particles. This randomness allows for true random number generation, as when a random number is requested no formula defines the outcome. In figure four is the quantum circuit for randomly generating a zero or one. We first create a superposition of the base state zero and one. Then we measure it. In figure five the outcomes of this measurement are observed. Half the time it is a zero and the other half a one. There is no way to determine which will be the outcome.
Now we come back to the idea of reversibility. The operators in quantum computing all allow for reversible computation. If we get some output we can pass the results back through and get our original input. Classical computers call their operators logic gates, whereas in quantum computing we have quantum gates. As mentioned quantum gates allow for reversible computation, and as an added benefit classical gates can be modeled provided a mechanism for reversibility of classical gates. In figure six a quantum circuit depicts the quantum equivalent of the and gate. Here there are three inputs and three outputs. What this gate does is if x one and x two are both one change the third input, zero to a one. Sound familiar, well this is what an and gate does. Now if we pass out output through the third input which is one will get flipped to a zero, giving us our original inputs.
Quantum computing aims to solve many problems in the computing world, but it is not a reasonable replacement for our current machines. The devices are incredibly difficult and expensive to create, maintain, and operate. These machines are not easily accessible to a general audience. Even individuals with knowledge of this field have difficulties. In recent years IBM has released software known as Qiskit. This allows users to write and simulate quantum programs at home, and test their programs on a real device. Although it is free to the public few resources provide the knowledge needed to utilize the software. After a semester of studying, I was able to create the circuit depicted in figure four. This circuit is the most basic of quantum circuits and is still difficult to conceptualize its inner-workings.
One thing that must be noted is that quantum computers still follow the Church-Turing thesis which defines what a computer can computer. Regarding what is computationally possible both paradigms can compute these problems; the quantum device can just do so faster. The reason a quantum computer can perform reversible computation and random number generation while a classical computer can is not due to a theoretical difference but an implementation-based one.
In 2019 Google claimed quantum supremacy, this is the concept that a quantum computer can perform a calculation faster than a classical one in a real test. Sadly, this achievement’s real results are disputed. Google claimed that a classical computer would take thousands of years to solve the problem they tested, while their quantum computer took only seconds. Research and competitors, such as IBM, say this claim of thousands of years is massively overestimated. They claim that a classical computer would take at most a couple of days.
So, while the field has a long way to progress before quantum computers are commonplace, the promising nature and results so far make this paradigm essential to the computing field moving forward.
This concludes the presentation, thank you for listening, and special thanks to Dr. Asaithambi for teaching me about quantum computing throughout this semester.