Quantum Evolutionary Algorithm for Solving Bin Packing Problem
CA_final_paper
1. Andrew McDonald
Prof. Weiss
Computer Architecture
7 December 2016
Quantum vs. Classical Computing
The conception and development of classical computing has undeniably changed the
world we live in for the better. This technology has enabled man to walk on the moon and
changed the way humans communicate. However, the end of this type of computing is near. As
engineers continue to push the limits of physics, they are running out of options for processing
power. Processors are at the stage where components are as small as ten atoms wide. However,
we cannot use anything smaller than an atom in classical computing solutions. Enter quantum
computing. Quantum computing uses parts of an atom to do computations. But what are the
differences between classical and quantum computing? How far away are we from owning our
own quantum computers? In this essay, I will discuss the essential differences, advantages, and
operations involved in quantum computing.
Computing, as we know it, operates in form of classical computing. In this method,
processors interpret streams of 1’s and 0’s known as bits. Bits are the smallest and most
elemental form of classical computing. They are binary, which means that they have to be a 1 or
a 0, but not both at the same time. This is where quantum computing differs from classical
computing.
Quantum computing, as defined by Science News, “[is a computer that] exploits the
quantum mechanical nature of tiny particles, such as electrons or atomic nuclei, to encode
information as quantum bits, or qbits. Whereas an ordinary bit has at any time a value of either 0
2. or 1, a qbit can also take on both values as once. Because a quantum computer can act on these
multiple states simultaneously, it’s potentially many times as powerful as a conventional
computer” (Peterson, 132). This is the primary difference between classical and quantum
computing. So, in summary, a classical computer uses bits, as defined as either 1 or 0, and a
quantum computer uses qbits which can be a 1, 0, or both at the same time.
So we have established that quantum computers use qbits, which have a value of 1, 0, or
both. We have also discussed how qbits essentially can come from part of an atom. In our
example quantum computer, we will use electrons as qbits. All electrons have a magnetic field.
This enables to them to spin around the nucleus of an atom. Quantum computers take advantage
of this magnetic field. When these electrons are placed in a large magnetic field, they align
themselves with the field. This is quite common and observable in the world around us. For
example, when you look at a compass you can see the needle align itself with the natural
magnetic field of the earth and point north. This alignment of electrons is known as ‘spin down’
in quantum computing. This is the electrons natural state. It is called spin down because in our
magnetic plane, the electron points down. However, if you take that electron and point it
upwards, or against its magnetic plane, it will actually stay there (if you are delicate enough).
This is the electrons charges state. An electron in this state is known as spin up.
So far we can see how electrons can be in the spin up or spin down state. The spin up
state of a qbit is equivalent to the 1 state in a classical computing bit and the spin down state is
equivalent to the 0 state in a classical computing bit. However, qbits can be both spin up and spin
down at the same time. This is known as its quantum superposition. The quantum superposition
of a qbit can be measured by something called its coefficient. The coefficient of a qbit is the
probability of finding it in the spin up or spin down position.
3. Let us take a look at the power and differences between storing information on a bit
versus storing it on a qbit. In this example we will take a look at a two-digit binary number. This
can be stored in a classical computing system by using four different combinations of bits. They
are 00, 01, 10, and 11. These are four completely different numbers. Each of them, at any time,
only contains two bits of information, meaning that in order to convey this information, you
would need two numbers. If you wanted to store a two-bit number in a quantum system you
would have to take the sum of the coefficients of all four outcomes. That is, the probability that
the two qbits are in a spin down position (A) plus the probability that the first qbit is spin down
and the second qbit is spin up (B) plus the probability that the first qbit is spin up and the second
qbit is spin down (C) and the probability that both qbits are spin up (D). To convey this
information, we need four numbers, A+B+C+D as opposed to the two numbers in the classical
method.
If you continue to add bits to compute, you will realize that the number of qbits required
to compute the equivalent number of classical bits is 2N. That is 1 qbit equals 2N classical bits.
However, qbits are significantly different than classical bits. When you measure a qbit, it
assumes a spin down or spin up state. This makes it like a classical bit. However, you cannot
know, necessarily, which state it will assume. Thus quantum computing must be done before you
measure the outcome.
What makes quantum computing so difficult to understand is that operates and follows
the laws of quantum mechanics. This means that physics, as we know it, does not operate on
qbits. For this reason we are able to harness the power of qbits. What really make qbits useful for
computing are their ability to affect other qbits. This is known as quantum entanglement. John
Preskill, Professor of Theoretical Physics at Caltech sums this up by saying, “After Bell’s work,
4. quantum entanglement became a subject of intensive study among those interested in the
foundations of quantum theory. But more recently (starting less than ten years ago),
entanglement has come to be viewed not just as a tool for exposing the weirdness of quantum
mechanics, but as a potentially valuable resource. By exploiting entangled quantum states, we
can perform tasks that are otherwise difficult or impossible” (Preskill, 18).
Quantum entanglement is studied by the world’s smartest minds, and even they struggle
to fully understand it. But what they have concluded is this: when two qbits are in a fully
entangled state, if you measure the coefficient of one of them (thus confining it to a binary
system), all of the rest of the qbits positions can be observed and concluded. In lay man’s terms:
if you look at one qbit, you can know all the others qbits, because they are in quantum
entanglement (Veritasium).
So far we have explored what a qbit is and how it behaves, as well as what happens what
you look at, or measure, a qbit. However, we need something to manipulate the qbits, so we are
able to look at different outcomes. This is where a quantum gate is useful. Quantum gates differ
from classical gates in the fact that classical gates take two or more defined inputs and return a
single defined output. A quantum gate, takes and manipulates an input of superpositions, rotates
and compares probabilities, and produces another superposition as its output
(Kurzgesagt – In a Nutshell). This type of operation can be thought of as a type of
approximation, and therefore a quantum computer will run qbits through multiple gates to find
the most probable answer.
After assembling qbits in an entangled state, running those qbits through gates, we finally
reach the third and final stage of a quantum computer. At this point we are able to observe the
outcome of the quantum gates and resolve the superpositions of the qbits. As we discussed
5. earlier, this forces the qbits to assume a state of 0 or 1. We then are able to interpret those qbits
(essentially bits at this point) to come to the end of the algorithm we are performing. These are
the elemental steps quantum computers take to solve algorithms.
Now that we know how a quantum computer differs from a classical computer, let’s
discuss what this means for the world of computing. Complexity problems, such as the traveling
sales person problem1, have long been very difficult for classical computers. However, according
to Forbes, quantum computers have a leg up on the older systems. The article reads, “D-Wave
has begun to work with investment managers on the related problem of designing portfolios. In
order to generate the maximum returns for a given risk profile, a fund manager needs to not only
choose among the thousands of available securities, but also minimize transaction costs by
achieving the most optimal portfolio in the minimum number of trades.
In each case, D-Wave’s quantum systems allow us to swallow complexity whole, rather
than using shortcuts that reduce efficiency. Jeremy Hilton, Senior Vice President, Systems, at D-
Wave says ‘Complex processes are all around us. By using quantum computing to operate them
more effectively, we can make just about everything we do run more smoothly’” (Statell). The
article continues to list examples of how quantum computing will affect the field of medical
science, and even touches upon the potential for augmenting human intelligence. Scary.
With all of these advancements in quantum computing, you may be wondering when
your robot will be able to write your computer architecture paper. Unfortunately, you’ll probably
have to do it yourself because quantum computing is not there yet. Not even close. In fact, there
are disputes that D-Wave Systems, a quantum computing company, is lying about the
capabilities if its machines. An example of this can be found in an article in Tech Times which
reads, “‘What D-Wave’s people have claimed is they can manipulate information with the rules
6. of quantum mechanics and have a gain at doing this. What we see from the paper … is that no
such gain has been seen up to now,’ Raymond Laflamme, executive director at University of
Waterloo’s Institute for Quantum Computing, says to National Post.
Wim van Dam, a computer scientist from University of California, Santa Barbara, also
thinks Troyer’s study is solid, putting a big question mark on D-Wave System’s promise of a
significant speedup from its quantum computing” (Sandoval).
So, are quantum computers available yet? The answer is yes. However, quantum
computing is still in a developmental stage, so the raw power harnessed from the strange laws of
quantum mechanics still remains largely untapped. Still, companies such as D-Wave Systems
and Google remain at the forefront of this next quantum age of human existence. D-Wave
Systems offer quantum processors which work in conjunction with classical systems to offer
faster performance on certain algorithms. That being said, quantum technology, as it stands
today, is still far from solving entire complexity problems in a matter of seconds. However, I
remain optimistic, and hope to see the quantum era within my lifetime.
7. Works Cited
Peterson, Ivars. “Computation Takes a Quantum Leap.” Science News, vol. 158, no. 9, 2000, pp.
132–132. www.jstor.org/stable/3981405.
Preskill, John. "Quantum Entanglement." Quantum Information (n.d.): 91-119. Caltech. Web. 5
Dec. 2016. http://www.theory.caltech.edu/people/preskill/ph229/notes/chap4.pdf.
Veritasium. How Does a Quantum Computer Work? Perf. Andrea Morello and Derek Muller.
Youtube.com. N.p., n.d. Web. 5 Dec. 2016.
https://www.youtube.com/watch?v=g_IaVepNDT4.
Kurzgesagt – In a Nutshell. Quantum Computers Explained – Limits of Human Technology. Dir.
Youtube.com. N.p., n.d. Web. 5 Dec. 2016.
https://www.youtube.com/watch?v=JhHMJCUmq28.
Statell, Greg. “Here's How Quantum Computing Will Change The World.” Forbes, Forbes
Magazine, 2 Oct. 2016, http://www.forbes.com/sites/gregsatell/2016/10/02/heres-how-
quantum-computing-will-change-the-world/ - 4b043824570d.
Sandoval, Lori. “Quantum Computers versus Ordinary Computers? Boring Fight. Draw.” Tech
Times RSS, Tech Times, 22 June 2014,
http://www.techtimes.com/articles/8868/20140622/quantum-computers-versus-ordinary-
computers-boring-fight-draw.htm