D-Wave Articulo Prof Venegas Del de Youtube PDF
D-Wave Articulo Prof Venegas Del de Youtube PDF
D-Wave Articulo Prof Venegas Del de Youtube PDF
b
CU-UAEM Valle de Chalco, Estado de México, México;
c
D-Wave Systems, 3033 Beta Avenue, Burnaby, British Columbia, V5G4M9, Canada.
d
US Naval Research Laboratory, 4555 Overlook Ave. SW, Washington DC, 20375, USA.
(Received 00 Month 20XX; final version received 00 Month 20XX)
A central goal in quantum computing is the development of quantum hardware and quantum algorithms in
order to analyse challenging scientific and engineering problems. Research in quantum computation involves
contributions from both physics and computer science, hence this article presents a concise introduction to
basic concepts from both fields that are used in annealing-based quantum computation, an alternative to
the more familiar quantum gate model.
We introduce some concepts from computer science required to define difficult computational problems
and to realise the potential relevance of quantum algorithms to find novel solutions to those problems.
We introduce the structure of quantum annealing-based algorithms as well as two examples of this kind
of algorithms for solving instances of the max-SAT and Minimum Multicut problems. An overview of the
quantum annealing systems manufactured by D-Wave Systems is also presented.
1. Introduction
Cross-pollination between physics and computer science has long been mutually beneficial. For ex-
ample, the development of semiconductor-based computer technology would be unthinkable without
solid-state physics [1–5]; similarly, progress on advanced algorithms has benefited from mathematical
models of physical phenomena [6,7]. As for the influence of computer science, a novel approach in
scientific research is to model natural phenomena using the tools of theoretical computer science [8,9].
Quantum computation is a scientific and engineering field focused on developing information pro-
cessing devices and algorithms based on quantum mechanics. In addition to further advancing the
theoretical and experimental foundations of this discipline and the emergence of fields like quantum
machine learning [10–12] and quantum image processing [13,14], quantum computing and the broader
field of quantum technologies (embracing computing, communications, cryptography and sensing) are
becoming an attractive emerging branch of high-tech business [15–29].
Due to the asynchronous progress of theoretical and experimental quantum computing, most quan-
tum algorithms have been designed on paper and, sometimes, tested on simulation software (recent
examples include [46–48]). The advancement of quantum computing as a scientific and engineering
discipline requires the physical realisation of quantum hardware on which quantum algorithms can be
tested.
This section succinctly introduces automata, computational complexity, simulated annealing and
quantum annealing. Automata and computational complexity are essential tools to understand the
mathematical properties of computers and algorithms, while classical and quantum annealing are
computational methods devised to probabilistically solve problems efficiently that would otherwise
require a colossal amount of computational resources.
2.1.1. Automata
1
0 0
# #
Error
0,1,#
Figure 1. A finite automaton R for parity computation. Double-circled states are accept states and single-circled
state is a reject state. Input strings for R are any combination of characters taken from Σ = {0, 1, #}. Since an
empty set of characters has no 1s, we set the initial parity of a string as even (this is why the state ‘Even’ has
an arrow labeled as ‘Start’).
2
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Figure 2.In deterministic computation, every single state of the computation is followed by only one state, given
an input datum. In nondeterministic computation, a step may be followed by n new steps.
Automata are mathematical models of physical devices used to compute. The definition of any
automaton requires three components: states, language and transition rules. States are abstractions
of the different stages an automaton would go through while computing (e.g., on and off states of a
switch). A language is a set of strings made by concatenating characters from a given alphabet. For
example, one could define a language from alphabet {a,b}, consisting of all strings that begin with ‘a’
and end with ‘b’. This language would include ‘ab’, ‘aabb’, and ‘ababab’, but not ‘ba’ or ‘bbb’. Finally,
transition rules describe the internal dynamics of an automaton (i.e., how and when an automaton
changes its state).
Computation in an automaton is performed by following sequences of operations (i.e. moving
through states) determined by the transition rules of the automaton and the input string fed to
the automaton. The final state of a computation performed by an automaton is an accept (reject)
state if the input string belongs (does not belong) to the language L upon which the automaton has
been defined.
For instance, we introduce automaton R (Fig. (1)). R has three states (denoted by circles), several
transition rules (denoted by arrows) and language L = {ω|ω is a string composed of 0s and 1s}. R,
located at one of the ends of a digital communication system, is used to compute the parity of a string.
Input for R is a string taken from {0, 1, #}, where ‘#’ is used to state that a transmission error has
occurred. The parity of a string is odd (even) if its number of 1s is odd (even). Only strings with no
errors are suitable for parity computation, hence only strings of 0s and 1s will be accepted and any
string with at least one # shall be rejected.
Let us show the behavior of R with two examples. First, let R receive string 100110001 as input
(read from left to right). The first input character is ‘1’ thus R goes from state ‘Even’ to state ‘Odd’.
We then read ‘0’ and therefore we stay in state ‘Odd’. The third input character is again a ‘0’ so we
remain in ‘Odd’. As fourth input we receive a ‘1’ so we transition from ‘Odd’ to ‘Even’. If we continue
processing 100110001 under this rationale, the final outcome of the computation is the state ‘Even’
as 100110001 has even parity. Now, we use input 10#010. Characters ‘0’ and ‘1’ are processed as just
described and, since the third input character is ‘#’, R goes from state ‘Odd’ to state ‘Error’ and it
remains there until the whole string is processed.
3
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
properties of specific automata, we may add sets to the domain and codomain of δ. Nevertheless, the
key idea of this definition remains the same: given an input datum, every state of the computation
is followed by only one state). In contrast, when computing on a nondeterministic machine, a state
could be followed by many states, depending on the input datum and the transition rules.
Formally speaking, if S is the set of states and Σ is the set of input data then any transition between
states is defined by the function δ : S × Σ → P(S), where P(S) is the power set of S. In general, after
reading an input symbol, a nondeterministic automata splits into multiple copies of itself and follows
all the possibilities in parallel [33,37].
Nondeterministic computation is a fictitious model of computation that can be thought of as parallel
computation with unlimited resources. However, since resources are always limited, nondeterministic
computation may seem to be an unreasonable model. Despite this argument, there are two good
reasons to use this model: i) to determine if a problem is computable even if limitless resources are
available, and ii) to define a key set of computable problems: NP problems (subsection 2.2). Finally,
please notice that, as stated in subsection 2.2.2, i) NP problems have a fully realistic alternative
definition in terms of polynomial time verifiers, and ii) both definitions are equivalent [40].
4
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Definition 2.1: Big O notation. Let f, g : N → N. We say that f (n) = O(g(n)) iff ∃ α, no ∈ N such
that ∀ n ≥ no ⇒ f (n) ≤ αg(n). Then, g(n) is an asymptotic upper bound for f (n) and we say that
f is of the order of g. Informally, f (n) = O(g(n)) means that f grows as g or slower.
The time complexity of an algorithm A estimates, for each input length, the largest amount of time
needed by A to solve any problem instance of that size (that is, this is the worst-case over all inputs
of size n). Algorithms with time complexity function O(p(n)), where p(n) is a polynomial and n is
the input length, are polynomial-time algorithms. Algorithms whose time complexity function cannot
be so bounded are called an exponential-time or factorial-time algorithms.
Figure 3. Time complexity functions TA1 = n, TA2 = n2 , TA3 = n3 , TA4 = 2n , and TA5 = n!. X axis values
are the length of input strings for algorithms Ai while values on the Y axis are time steps in logarithmic scale.
Note that even for modest input lengths, exponential and factorial functions consume massive amounts of time
steps (for instance, if 1 time step = 1s, then TA5 (50) ≈ 3.17E+52 years).
For example, let us suppose we have algorithms A1 , A2 , A3 , A4 and A5 with corresponding time
complexity functions given by n, n2 , n3 , 2n , and n! as shown in Fig. (3). Note that time complexity
functions TA1 = n, TA2 = n2 , TA3 = n3 grow much slower than TA4 = 2n and, even worse, than
TA5 = n!. Since i) polynomials grow strictly slower than exponential functions [38], and ii) n! > 2n
for all n ≥ 4, we can see why polynomial-time algorithms are considered as acceptable (because
their resource consumption is moderate when compared to exponential/factorial-time algorithms).
5
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
In contrast, exponential- and factorial-time algorithms can easily consume massive amounts of time
steps even for relatively small input sizes, which is why those types of algorithms are not consid-
ered satisfactory solutions. Problems that are solved by polynomial-time algorithms are known as
tractable problems while problems that are solved by exponential/factorial-time algorithms are known
as intractable problems.
Definition 2.2: [33]. Decision problem. Let Σ be an alphabet and Σ∗ a language over Σ. A decision
problem D is a set of instances I ⊆ Σ∗ of D and a condition φD : I 7−→ {0, 1} that has the value 1 on
‘Yes’ instances and 0 on ‘No’ instances.
Decision problems can be put in correspondence with languages as follows: given an encoding scheme,
an arbitrary instance s of a decision problem D can be transformed into a member of a language L1 ,
i.e. a string t ∈ L1 . Moreover, we can take t as input of a Turing machine M defined upon another
language L2 and, if M accepts (rejects) t, we say that the answer for s is Yes (No). For instance,
determining if an integer number is divisible by four can be formulated as the following decision
problem: for a given number n, is n mod 4 = 0? This decision problem can be solved by rewriting n
as a binary number and using the Turing machine presented in subsection 2.1.3 (when expressed as
binary numbers, integer numbers divisible by 4 are strings ending in 00). Let us now define complexity
classes P and NP.
Definition 2.3: [33]. P and NP problems. The classes P and NP are sets of decision problems
solvable in polynomial time on DTMs and NTMs respectively. So,
– For each decision problem A ∈ P there is a DTM M and a polynomial p(n) such that i) processing
input ω of length n in M would be done in p(n) steps at most, and ii) M would stop in the accept
(reject) state iff ω belongs (does not belong) to A.
–For each decision problem B ∈ NP there is an NTM N and a polynomial p(n) such that i) processing
input ω would be accepted by N iff at least one computation branch ends in an accept state, and ii)
an accepting computation for input ω of length n requires p(n) steps.
– Please bear in mind that a computation state on a DTM is a function, i.e. a state is followed by
only one state (et → et+1 ) while a computation step on an NTM is a one-to-many relationship, i.e. a
state may be followed by one or more states (et → {ejt+1 }).
– The relationship between algorithmic time complexity and solving a decision problem using a
Turing machine is: algorithms are translated into transition rules and each algorithmic step must be
performed in a polynomial number of Turing machine steps.
We may also define NP as the set of decision problems for which it is possible to check, in polynomial
time, if a proposed solution is indeed a solution. Formally, NP is the class of decision problems that
have polynomial time verifiers [37] and it is possible to prove that both definitions presented in this
section are equivalent (theorem (2.8) of [40]). For example, let D be the problem of finding the prime
factors of an integer. It is possible to quickly check if a proposed set of integers is indeed the prime
decomposition of a given integer (e.g. the numbers {5, 7, 13, 17, 29} are the prime factors of 224315).
NTMs and DTMs solve the same set of decision problems [37], i.e. any NTM can be simulated by a
DTM, being the only remarkable difference the amount of resources needed to do so. Theorem (2.4) es-
tablishes an upper bound relationship for resource consumption in deterministic and nondeterministic
Turing machines.
6
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Theorem 2.4: [34]. If decision problem A ∈ NP then there is a polynomial p(n), where n is the
size of an arbitrary input data, such that A can be solved by a deterministic algorithm having time
complexity O(2p(n) ).
?
The question P = NP is a fundamental problem in theoretical computer science (it is known that
P ⊆ NP and it is unknown whether NP ⊆ P). A positive answer would mean that finding solutions to
decision problems is as hard (or as easy) as checking the correctness of solutions [40]. Equivalently,
P = NP would mean that finding efficient algorithms for any NP problem is just a matter of ingenuity
and hard work, i.e. there would be no fundamental reason to suppose that any NP problem must
be intractable. A key research area in computer science is the study of NP problems for which we
only know algorithms with time complexity functions that are not upper-bounded by polynomials.
An example of that kind of NP problems are the NP − complete problems.
Albeit closely related, the mathematical definitions of NP − hard and NP − complete problems are
different. In [50], D. Knuth introduces the following layperson definitions: “NP − hard means as hard
as the most difficult problem in NP, while NP − complete means representative of the complete class
NP with respect to difficulty”. Formal definitions of NP − complete and NP − hard problems follow:
Definition 2.5: Karp-reduction. Let A, B be two decision problems and f a function that can be
computed in polynomial-time. Then, f is a Karp-reduction of A to B iff, for every instance x of A we
find that f (x) is an instance of B.
Definition 2.7: NP − hard problems [40]. A problem Y is an NP − hard problem if and only if every
problem Bi ∈ NP is Karp-reducible to Y. Note that NP − hard problems are not required to be NP
problems.
We now introduce the K-SAT problem, a key decision problem in computer science.
Definition 2.8: The K-SAT Problem [37]. Let S = {x1 , x2 , . . . , xn , x̄1 , x̄2 . . . x̄n } be a set of
Boolean variables and their negations. We define a clause c as a disjunction of binary variables in
S (for example, c = x3 ∨ x̄8 ∨ x̄13 ). We now define Φ as a conjunction of clauses ci over S where each
clause ci has K variables, i.e. Φ is a conjunction of disjunctions
K
^ ^ _ (−)
Φ= ci = [( xαj ],
i i j=1
(−)
where αj ∈ {1, 2, . . . n} and xαj is used to denote either xαj or x̄αj . A logical formula written as a
conjuction of disjunctions, such as Φ, is said to be written in conjunctive normal form.
The K-SAT problem consists of determining whether a Boolean expression such as Φ is satisfiable
or not, i.e. whether there is a set of values of {x1 , x2 , . . . , xn } for which Φ = 1. In addition to its
most important role in theoretical computer science [34,37], the K-SAT has several key applications
in many branches of science and engineering like artificial intelligence and manufacturing [41].
7
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
be an instance of 3-SAT (i.e. K-SAT with K=3). Finding the solutions (if any) of even
a modest 3-SAT instance like Eq. (1) can become difficult quite easily (Φ’s only solution is
x1 = 0, x2 = 0, x3 = 1, x4 = 1, x5 = 1, x6 = 1, x7 = 1, x8 = 1, x9 = 1).
- K-SAT is an NP problem. This follows from the fact that solving any instance Φ of the K-
SAT problem requires i) the computation of 2n different combinations of binary values for {xi },
and ii) substituting each binary string (from 00 . . . 0 to 11 . . . 1) in Φ. Assuming an exponential
amount of resources (i.e., an NTM), this brute-force algorithm runs in polynomial time. Moreover,
the correctness of any solution, i.e. any proposed set of values for the binary values {x1 , x2 , . . . , xn }
for an arbitrary instance Φ of K-SAT, can be checked in polynomial time (we just substitute the n
values on Φ, which is composed of a polynomial number of variables and logical operations).
- K-SAT are NP − complete for all K ≥ 3 [34,51,52].
Optimisation can be defined as the process of finding optimal solutions [35]. Given a function
f : A 7→ B, the optimisation problem consists of finding the value(s) x within the domain of f such
that f (x) is an extremum, i.e. a maximum or minimum value in the range (or a subset of the range) of
f , possibly subject to a number of constraints [31]. Global optimisation, i.e. the process of finding the
highest or lowest value within the full range of a function f , is indeed a most difficult and challenging
problem in science and engineering.
Optimisation can be classified into discrete or continuous, depending on whether variables belong
to discrete or dense sets.
Known exact algorithms for solving discrete optimisation problems are brute-force algorithms, i.e.
computational procedures that try every possible solution. Running exact algorithms for large in-
stances of discrete optimisation problems on classical digital computers is unreasonable because of the
colossal amount of time or computer resources such algorithms would require. A practical solution
to this dilemma is provided by approximation algorithms as they are capable of producing approxi-
mate solutions reasonably fast. It is pretty much a given in research on combinatorial optimization
problems (Def. 2.9) that, in practical terms, we have no choice but to be happy with a non-optimal
solution, and generally have no way of knowing how close it might be to optimal. As for continuous
optimisation problems, approximate solutions are compulsory because of floating-point representation
of real numbers on classical digital computers.
8
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Optimisation techniques are generally divided into derivative or non-derivative methods, depending
on whether the computation of derivatives of the objective function is required or not [35]. Examples
of derivative techniques are the 1D Golden Section Search and variable metric methods like Fletcher-
Powell and BFGS techniques [31]. Examples of non-derivative methods are abundant and can be found
to solve both discrete and continuous optimisation problems. In the following lines we shall mention
some examples of non-derivative methods.
Broadly speaking, optimisation algorithms can be classified according to the following categories:
analytical, enumeration and heuristic search techniques [35]. Analytical algorithms are built upon
mathematical procedures designed to look for exact or -close solutions and tend to heavily use
calculus-based operators and procedures, enumeration algorithms aim at comprehensively exploring
the search space of an objective function, and heuristic search algorithms are problem-generic solution
strategies, sometimes inspired on physical phenomena or the behaviour of natural entities, that may
provide sufficiently good solutions to an optimisation problem. Heuristic search is of great impor-
tance in computer science, algorithmics and many branches of industry because they can often find
approximate solutions to key problems while consuming less computational resources (e.g., in terms
of time complexity functions) than analytical and enumeration algorithms [31,35,36,70]. Examples of
heuristic algorithms are Particle Swarm Optimisation and Simulated Annealing.
Optimisation problems are not in NP because they are not decision problems. Also, due to re-
source consumption, solving an optimisation problem can be as hard as solving an NP problem. So,
optimisation problems are examples of NP − hard problems.
The SAT problem consists of determining if there is a set of Boolean variables that satisfies a given
Boolean formula [39]. Since every Boolean formula can be transformed into an equivalent Boolean
expression expressed in conjunctive normal form, we can see that every instance of the K-SAT problem
has a corresponding SAT instance. The maximum satisfiability (max-SAT) is an optimisation version
of SAT and it consists of finding a truth assignment that satisfies as many clauses of a given instance
as possible. The max-SAT problem is an example of a combinatorial optimisation problem. We shall
explore how to solve instances of the max-SAT problems with quantum annealing algorithms in section
4.
Definition 2.9: Combinatorial Optimisation Problem [31,32]. Let E be a finite set with car-
dinality |E| = n, PE the power set of E (hence |PE | = 2n ) and the function C : PE → R. The
general setup of a combinatorial optimisation problem is to findPan element P ∈ PE such that
n n
n
C(P) = minPi ∈PE {C(Pi )}. The term combinatorial comes from k=0 k = 2 . The discrete do-
main of combinatorial optimisation problems make them suitable for algorithmic analysis, as we shall
see in the following sections.
Assuming P 6= NP, no optimisation algorithm for an NP − hard problem can be both fast (running in
polynomial time) and optimal (guaranteeing optimal solutions) on all inputs. However, many heuristic
algorithms have been proposed that can meet two out of three of these objectives: for example one
might be always optimal but only fast on some inputs, and another might be always fast but sometimes
non-optimal (returning good-to-poor solutions), depending on the input. Simulated annealing and
quantum annealing, discussed in the following sections, are heuristics of this type, with parameters
that allow the programmer to trade speed for solution quality.
9
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
The experimental technique upon which SA is based is that of finding the equilibrium state of
a system in the limit of low temperature. In this regard, the process identified to produce robust
experimental results is known as annealing and it consists of three steps: a) melting the material
under study, b) lowering the temperature very slowly, and c) spending a considerable amount of time
in a range of temperatures close to freezing point [6].
If we rephrase this method in mathematical parlance, we may say that the purpose of this process
is to find the state of a system that corresponds to the minimum value of a variable (energy) and we
want to do it by manipulating another variable (temperature). In other words, we have a physical
process, annealing, that resembles the behaviour of an optimisation algorithm. This is the motivation
for developing SA.
The set of instructions (i.e., the pseudocode) of SA is presented in Algorithm (1) [53]. Suppose that
we have a combinatorial optimisation problem Λ(α1 , α2 , . . . , αn ) where each αi is a binary variable
and D is the set of all possible combinations of αi . Also, for each element α ∈ D we define N (α), the
neighborhoord of α, which consists of elements αi ∈ D that are close to α, according to a given rule
or metric. Finally, let f : D 7→ R be a cost function that assigns a value to each element of D. Our
aim is to minimise f .
SA is a powerful heuristic algorithm that has been used to approximately solve many hard
problems, among them the most famous Traveling Salesman Problem [31].
Quantum annealing. Building quantum algorithms is a most challenging task because of two
reasons: a) quantum mechanics is a counterintuitive theory and intuition plays a key role in algorithm
design, and b) a competitive quantum algorithm must not only produce the solutions it is expected
to, it also has to be more efficient, at least for some input values, than any classical algorithm (at
least more efficient than existing classical algorithms).
Quantum annealing (QA) [54] is a heuristic inspired in SA that can be used to solve optimisation
problems. Instead of using thermal fluctuations as SA does, QA uses quantum tunneling to move
through the landscape defined by the cost function associated to the optimisation problem at hand.
Let us briefly describe the rationale behind quantum annealing. A Hamiltonian designed for quantum
annealing can be written as
10
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
H = HF + Γ(t)HD (2)
X X
Hexample = − Ji,j σiz σjz − Γ(t) σix
hi,ji i
where σ z σ x are Pauli operators. The physical effect of Γ(t) is to induce flips of σz . Note that Γ
is a function of time, hence the intensity of the transverse field will change in time. Typically for a
quantum annealing algorithm, Γ will be intense at the beginning and it will gradually decrease as
the algorithm is executed (hence, intense quantum tunnelling is expected at the beginning and it will
decrease as the algorithm runs) [55].
Conceptually speaking, the rationale behind quantum annealing is to run a physical process
that evolves according to a Hamiltonian described by Eq.(2). If the system evolves very slowly (i.e
adiabatically), it will eventually settle in a final ground state that, with certain probability, will
correspond to the optimal value of the function encoded in HF . Exact simulation of a quantum
annealing process on a digital computer is costly [56].
Simulated quantum annealing. Quantum Monte Carlo methods are stochastic procedures that
are used to solve the Schrödinger equation. They consist of using classical Markov Chain Monte Carlo
methods to estimate low-energy states of Hamiltonians [55,58].
Simulated quantum annealing (SQA) is a classical algorithm that uses Quantum Monte Carlo meth-
ods to simulate quantum annealing Hamiltonians [58]. The general performance of SQA (i.e. SQA’s
computational complexity) is still unknown. However, some encouraging results can be found in [55,57]
where Path-Integral Quantum Monte Carlos methods are shown to be very effective for simulating
some QA Hamiltonians as well as in [58] where it is proved that SQA can be exponentially faster than
SA for optimising the Hamming weight with a spike function, which is a toy model used to contrast
the computational power of QA and SQA.
The setup of QA-based algorithms and their implementation on D-Wave quantum annealers will be
explored in detail in the following sections.
D-Wave Systems manufactures computer systems that implement a quantum annealing algorithm in
hardware. Within the system a quantum processing unit (QPU) operates on qubits (quantum bits)
that behave as particles in a physical quantum process, exploiting properties such as superposition
and entanglement, to find low-energy states that correspond to low-cost solutions to optimisation
problems.
The motivation for developing these systems comes from theoretical arguments that quantum com-
putation could be much faster than classical computation at some tasks. This does not mean that
quantum machine instructions are faster than classical ones; rather, the conjecture is that for some
problems, quantum algorithms might run faster by “skipping steps” that would be necessary to clas-
sical algorithms. Quantum algorithms operate on qubits that have special properties not available
to bits in classical computers. Two important properties are: i) Superposition. Whereas a classi-
11
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
cal bit has value either 0 or 1, a quantum bit can be in a combination of both 0 and 1 at once. Like
Schrödinger’s cat, qubits experience superposition while isolated from the ambient environment: when
a qubit is observed, it probabilistically “collapses” to either 0 or 1. ii) Entanglement. A collection
of qubit superposition states can become correlated in such a way that multiple qubits can change
state simultaneously.
In the context of annealing methods, these properties mean that the quantum algorithm can exploit
new ways to explore a given solution landscape, which are not available to classical algorithms. For
example, simulated annealing uses an array of N bits to represent the current state of the solution, and
the main calculation involves moving from state to state by changing one bit at a time. In contrast,
because of superposition, a quantum algorithm can use N qubits to probabilistically represent all of the
solution space at once; and because of entanglement it can modify groups of superposition probabilities
in constant time rather than qubit-by-qubit. Under certain conditions, these two properties can lead
to tunnelling, which allows the quantum algorithm to pass through hills in the solution landscape
instead of climbing over in the classical way.
Quantum phenomena like quantum tunneling and quantum entanglement do not have known clas-
sical analogs. The simulation of such quantum phenomena in classical digital computers is made by
manipulating classical hardware via software (i.e., by programming the mathematical description of
quantum phenomena) but the computational resources needed to do so (e.g. memory or execution
time) rapidly scale hence making this kind of simulation unfeasible (e.g. [59]). In contrast, quantum
hardware would be capable of exact quantum simulation (for example, [60]). For example, in [66]
it has been shown that, for a crafted problem with tall and narrow energy barriers separating local
minima, finite-range tunneling on a D-Wave 2X quantum annealer would present runtime advantages
with respect to simulated annealing.
These capabilities suggest that potentially enormous speedups over classical computation times may
be possible on some classes of input, but this potential must be set against certain challenges associ-
ated with controlling qubit states and transitions, which tend to erode the probability of successful
outcomes. Understanding how these two factors balance out in D-Wave QPUs is a vigorous area of
current research.
The class of NP − hard problems described in section 2 represents a promising set of candidates for
realising this potential. Note that although optimisation is a natural fit to quantum annealing, the
algorithm has wider applications such as sampling and counting solutions and simulating quantum
processes. For example, Machine Learning is an important application area that requires batches of
near-optimal solutions sampled according to specific probability distributions.
The quantum annealing algorithm implemented in a D-Wave QPU is designed to be fast (in terms
of absolute runtime) and to return optimal or near-optimal solutions; some parameters are available
to adjust this trade-off.
The remainder of this section gives an overview of a D-Wave system from the user’s perspective,
and briefly surveys the technology stack. Some of this material is adapted from [70] (Chapter 4).
12
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Figure 4. The QPU chip is the black diamond at the bottom of the mounting apparatus shown here. The bundled wires carry
control and I/O signals between the QPU and the control system.
Given an input instance I for an NP − hard optimisation problem, there are two approaches to
solving it using a D-Wave quantum annealing processor. The first is to translate it to an input for
an Ising model (IM) problem and then to transform it to a so-called native problem that matches
the qubit connection topology of the D-Wave processor: these steps are discussed in detail in section
4. The second approach, not addressed here, is to solve the problem as-is using problem decompo-
sition and a hybrid classical-plus-quantum-query approach; see [71] or [73] for examples of hybrid uses.
13
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
X X
Hp = hi σiz + Jij σiz σjz (4)
i i<j
where σiz is the Pauli matrix z acting on particle i, hi is the magnetic field on particle i, and Jij is
the coupling strength between particles i and j. The minimum energy state, also called the ground
state, of Hp corresponds to a spin configuration S = (s1 , . . . , sn ) ∈ {+1, −1}n that minimises the Ising
energy function in Eq. (3).
Quantum annealing uses an analog process to find optimal and near-optimal solutions to the energy
function (Eq. (3)). A quantum annealing algorithm for controlling this process has four components:
where τ = t/ta for 0 ≤ t ≤ ta and ta is the total annealing time. Usually, the ground state of initial
Hamiltonian HI is easy to prepare and the ground state of the final Hamiltonian HP codifies the
solution of our problem. In the current generation of the D-Wave 2000Q processor, functions A(τ )
and B(τ ) are defined so that, at time τ = 0, the influence of Hamiltonian HI is predominant against
HP . As time evolution goes from τ = 0 to τ = 1, the influence of Hamiltonian HP increases while HI
fades away.
Quantum annealing is the key component of a computation that takes place in stages as follows.
(1) Programming/Initialisation. The weights (hi , Jij ) are loaded onto the control system and
qubits are placed in an initial superposition state according to HI .
(2) Anneal. The quantum particle process makes a transition from HI to HP according to
A(s), B(s), over time ta .
(3) Readout. At the end of the transition, qubits have spin states according to HP which matches
E(s). Qubit values are read, yielding solution S to the input.
(4) Resampling. Since any quantum computation is probabilistic, there is always a positive (some-
times significant) probability that the computation does not finish in ground state. Given the
relatively high initialisation times, it is cost-effective to repeat the anneal-readout cycle many
times per input.
In current-model D-Wave systems the initial Hamiltonian is fixed; the problem Hamiltonian, anneal
time ta , and the number of resampling steps R, are supplied by the user. Beginning with the D-Wave
2000Q system, the user can also modify the transition by specifying anneal path offsets, which are
deviations from the default anneal path determined by A(s) and B(s).
The QPU requires total time T (R) = tprogram + R(ta + tread ) to return a sample of R solutions
to one input instance. Table (1) shows typical component times, and the time to sample R = 1000
solutions, for D-Wave 2000Q systems. Note that computation time does not depend on input size,
14
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Figure 5. Each qubit is a loop of niobium controlled by Josephson junctions and biases represented by Φs in this diagram. The
direction of current in the loop controls the state of the qubit, which may be spin-up or spin-down. When cooled to tempera-
tures below 20 mK, niobium loops can be placed in superposition, with current running in both directions, corresponding to a
superposition of spin-up and spin-down states.
Coping with control errors. Although SAPI accepts floating point numbers for input weights
(hi , Jij ), the digital values must be translated to analog control signals, which can introduce precision
errors. Also, although the QPU runs in a chamber that is highly shielded and cryogenically cooled,
some energy gets through. While thermal energy can be helpful to the quantum computation [67],
it can also be a source of error. Whether these errors affect the quality of solutions returned by the
QPU is highly dependent on the input instance – or more precisely on the output space specified
by the instance. Very generally speaking, if the set of optimal solutions S0 has energy E(S0 ) that is
well-separated from energies of other solutions, there is no problem; if energies are similar, the QPU
may have trouble distinguishing optimal from near-optimal solutions.
A number of heuristic strategies are available for the user to apply preprocessing (modifying inputs),
or postprocessing (modifying outputs) to reduce the impact of control errors in some cases. Some
strategies are provided as SAPI utilities. Furthermore, successive models of D-Wave systems have
incorporated new technologies that suppress these types of errors. Their effectiveness is highly input-
dependent, but can be substantial: [66] reports that because of error suppression, a D-Wave 2X
processor solved a problem to optimality 10,000 times faster than predictions based on the previous
year’s D-Wave Two processor.
15
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Figure 6. A photograph of an 8 × 8 Chimera graph with a single cell highlighted. The qubits are laid out in long thin loops (red)
connected by couplers (not seen here) at their intersections. Control devices fill the spaces between qubits.
Qubits and couplers. A QPU holds an arrangement of superconducting flux qubits, specifically
CCJJ rf-SQUIDS.1 Each qubit is made of niobium (Nb) and is in the shape of a double ring interrupted
and controlled by two Josephson junctions (Fig. (5)). The flux (flow of current) in the ring depends on
control biases represented here by Φ values. Current can flow clockwise, counterclockwise, or, when the
qubit is in quantum superposition, in both directions at once. Flux creates magnetic forces represented
as spin-up or spin-down, or a combination, which represent qubit superposition states.
Couplers, which form connections between pairs of qubits, are also made from loops of niobum, but
are simpler and have less control circuitry than qubits. Qubits and couplers are etched onto silicon
wafer circuits containing four Nb-layers separated by insulation.
Harris et al. [68] describe some pros and cons of choosing to fabricate with superconducting flux
qubits as opposed to other options. One drawback is that the superconductivity necessary for niobium
to experience quantum superposition is only possible when the material is cryogenically frozen to
temperatures below 20 mK. Also, although this technology is robust against many types of noise,
both external and internal (crosstalk), it is sensitive to electromagnetic interference. Robustness makes
large scale (thousands of qubits) deployment possible, but on the other hand the computation must be
protected from the so-called energy bath of the ambient environment. Thus the QPU can only operate
in a shielded chamber where the temperature is below 15 mK, the magnetic field is 50 thousand times
less than that Earth’s magnetic field, and atmospheric pressure is 10 billion times less than outside.
One important feature of the rf-SQUIDS deployed in D-Wave QPUs is that they allow a high
degree of tunability, making it possible to correct for some types of fabrication errors that are
inevitable even under state-of-the-art fabrication standards. Tunability also means that qubits are
runtime-programmable. Each qubit has six “control knobs” that are used to adjust its physical
properties in real time. This feature produces acceptable levels of consistency and regularity during
the quantum annealing process.
16
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
g g g g
g w
B@
g
B@
P wB @
@P
wP
w @
B wP@Pw
g
P
@
P B@ B
w
@ PP
@ B@P
g
@ B
@B
@Bw
Figure 7. One Chimera Cell. (left) Physical layout of qubits and couplers. (right) Representation of qubits (red) and couplers
(blue) as vertices and edges in a Chimera graph.
Bunyk et al. [63] list several features that make the Chimera structure attractive to implement,
including: it is robust against crosstalk and noise, scales well, and can be fabricated with just two
qubit layers. Ising model problems remain NP − hard when restricted to this topology, because it
is non-planar. Some theorems are available ([64,65]) to show that this topology supports compact
minor-embeddings: for example a complete graph on k vertices can be minor-embedded into the
upper diagonal of a Ck2 , which is optimal over a class of physically feasible alternatives.
That being said, Chimera is not the only connectivity structure that could be considered. Future
QPU topologies will exhibit higher qubit degree and richer connectivity structure than the current
design.
Control circuitry. As mentioned previously, each qubit is connected to six dynamic control knobs,
which are digital-to-analog controllers (DACs) that carry the signals —called biases — from the control
processor. For each qubit qi , one DAC carries the bias corresponding to hi , and the other five are used
to tune and correct the qubit state with respect to certain variations from specifications that arise in
fabrication.
To load a problem onto the QPU chip, the input weights (hi , Jij ) are transferred and latched by
DACs. The control processor uses DACs to initialise qubit states by “dialing up” the scale of HI to
the maximum level, corresponding to path function A(s) at s = 0, and “dialing down” the scale of
HP to the minimum level, corresponding to B(s) at s = 0. The qubits relax into their superposition
states according to the inital Hamiltonian, essentially ignoring the problem Hamiltonian. The anneal
process involves adjusting the scales of HI and HP over time, according to A(s) and B(s).
At the end of the computation it is necessary to measure qubit flux and store the result as output.
Berkley et al. [62] describe the qubit-addressible readout circuitry employed in D-Wave QPUs. Each
SQUID qubit is connected to a direct current (dc) SQUID, which has a voltage state that depends on
the flux imparted by the qubit and which can be read by applying a small voltage pulse. It does not
work to simply couple these two SQUIDS together, because even low-pulse voltages can interefere and
alter the flux states of nearby qubits. The remedy described in [62] involves inserting a third SQUID
called a quantum flux parametron (QFP) that serves as a buffer and allows the dc SQUID to safetly
latch the qubit state.
The purpose of this section is to present in detail how programs developed to run on a D-Wave system
can be created. We start by analysing the mathematical techniques used on the steps shown in the
general scheme (Fig. (8)) to be followed in order to develop quantum annealing-based algorithms to run
on a D-Wave system. Then, we present two NP − hard problems and corresponding quantum annealing-
17
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
based algorithms to be executed on a D-Wave quantum Processing Unit (QPU). The NP − hard
problems we have chosen are from mathematical logic and graph theory: the maximum satisfiability
and the minimum multicut problems, respectively. Results for the maximum satisfiability problem
were produced using the D-Wave SAPI simulation software while results for the minimum multicut
problem were produced by running quantum annealing-based algorithms on a D-Wave 2X system.
where X = (x1 , . . . , xn ) is a vector of binary-valued variables, u ∈ Rn and e ∈ Rn×n are a vector and
a matrix of real coefficients, respectively. Since finding the minimisation of a QUBO problem is an
NP − hard problem, the best algorithm known must evaluate 2n possible assignments to the variables
in X to find the minimum cost of fue . A QUBO model is related to the Ising model via variable
substitution xi = (1 + si )/2 for i = 1, . . . , n.
X Y
f (X) = αS xj (7)
S⊆{1,...,n} j∈S
where αS are real coefficients. The degree of function f , deg(f ), is equal to the cardinality of the
largest subset S ⊆ {1, . . . , n} for which αS 6= 0 while the size of f is the total number of variable
occurrences (note that QUBO coincides with functions f with deg(f ) ≤ 2). Every pseudo-Boolean
function f expressed as in Eq. (7) can be reduced in polynomial time [77], with respect to the size
of f , to a QUBO function fue in m variables, with size polynomially bounded by size(f ), so that
miny∈{0,1}m fue (y) = minx∈{0,1}n f (x).
18
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Among existing reduction methods [77,85,86], we favour those that produce as few new variables
as possible (reducing a pseudo-Boolean function to a quadratic one using the smallest number of
variables is NP − hard [77]). We introduce two well-known reduction methods, the Freedman [78] and
Ishikawa [79] methods:
(1) Freedman method. It is applied to negative terms and requires only one new variable. For any
arbitrary negative monomial of degree d, Eq. (8) holds:
d
Y d
X
− xj = min w (d − 1) − xj (8)
w∈{0,1}
j=1 j=1
(2) Ishikawa method. This method requires b d−1 2 c new variables to reduce a positive monomial of
degree d. Formally, let t(x) = x1 x2 · · · xd of degree d, k = b d−1
2 c and w = (w1 , w2 , . . . , wk ) be a
vector of k new variables. Furthermore, we define
d
X X k
X k
X
S1 = xj , S 2 = xi xj , W1 = wj , and W2 = (4j − 1)wj .
j=1 1≤i<j≤d j=1 j=1
19
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Table 2. Examples of minor embedding into the (1, 1, 4)-Chimera of the complete graphs K3 , K4 and K5 . The numbers and colors
of the vertices in the graph are the same as in the minor embedding. Bold black lines correspond to the mapped edges and bold
color lines correspond to chain of qubits.
Graph
K3 K4 K5
Minor
embedding
Usually, it is not possible to find a one-to-one mapping between logical variables and physical qubits
into the Chimera, i.e. GIsing is not always a subgraph of GM,N,L . A strategy to find an equivalent
subgraph into the Chimera of a given logical graph GIsing was proposed by Kaminsky et al. [75,76]
in which each vertex in GIsing is mapped to a connected subtree of qubits that represent a logical
variable. This problem is called the minor embedding and it has been introduced in section 3.
Problem 1: Let GM,N,L be a Chimera graph of dimension (M, N, L) and GIsing = (VIsing , EIsing ) a
logical graph. Find a subgraph in GM,N,L such that
(1) Each vertex j ∈ VIsing is mapped to a connected subtree Tj in GM,N,L .
(2) Each edge {i, j} ∈ EIsing must be mapped to at least one coupler in GM,N,L .
Table (2) shows examples of minor embedding of the complete graphs (in which there exists an edge
between every pair of vertices) K3 , K4 and K5 . The embedding for the graph K3 can be explained
as follows: vertices 1, 2 and 3 in K3 are mapped to the qubits q1 , q5 and q6 . Using these qubits, the
edges {1, 2} and {1, 3} are mapped to the couplers {q1 , q2 } and {q1 , q3 }, respectively. To map the edge
{2, 3}, we use an extra qubit q2 to create a chain between q2 and q6 , representing vertex 3 and the
coupler {q2 , q5 } is added. Qubits q2 and q6 are joined with a coupler to represent the same vertex 3.
The minor embedding of the graphs K4 and K5 can be explained using a similar reasoning. Notice
that we require only one block of the Chimera to find a minor embedding of the graphs K3 , K4 and
K5 .
After a minor embedding is found for a given graph GIsing , we need to assign the weights to the
qubits and coupler without changing the representation of the problem. The following procedure
accomplishes this requirement: (1) for each i ∈ VIsing , let Ti = (Vi , Ei ) be the connected tree that
represents vertex i; (2) add a weight −M for each connection in Ei where M > 0; (3) add a weight
hji for each qubit qij ∈ Vi such that h1i + · · · + hki = hi with k = |Vi |; (4) add the weight Jij to the
coupler {qi1 , qi2 } used to represents edge {i, j} ∈ EIsing .
To exemplify the previous procedure, let us consider the complete graph K3 in Table (2). The graph
K3 represents the following Ising problem
20
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
where hCj (x) = 0 if x satisfies clause Cj , and hCj (x) = 1 otherwise, for all assignment x ∈ {0, 1}n .
hΦ is used to count the number of unsatisfied clauses. For convenience, and given that any Boolean
formula in general form can be expressed as a max3-SAT problem [88], we assume that clauses are of
the form Cj = xδi1i1 ∨ xδi2i2 ∨ xδi3i3 (i.e., 3-SAT clauses), where a literal is denoted as xδ such that x0 = x
and x1 = x. Thus, hCj can be modeled as a cubic pseudo-Boolean function hCj = 3k=1 (1 − xδikik ). By
Q
doing several algebraic operations, we have that
whose coefficients α1 , . . . , α8 are determined by the values of δi1 , δi2 and δi3 . Depending of the chosen
literals in each clause and after a simplification of the terms in hΦ , there will be at most n3 cubic
terms.
Now by adding in an extra variable w, for each cubic term αxi1 xi2 xi3 in hΦ , we satisfy the following
inequality
α[xi1 xi2 + xi1 xi3 + xi2 xi3 +
αxi1 xi2 xi3 ≤ w(1 − xi1 − xi2 − xi3 )] if α is positive, (12)
|α|w(2 − xi1 − xi2 − xi3 ) if α is negative.
This relation was obtained using the Ishikawa and Freedman reduction methods. Hence by substi-
tuting the representation of αxi1 xi2 xi3 given in Eq. (12), for each cubic term in hΦ into Eq. (11), we
n+l where
the minimisation of hΦ over all assignments (x1 , . . . , xn , w1 , . . . , wl ) ∈ {0, 1}
conclude that
n
1 ≤ l ≤ 3 , is equivalent to the max-SAT problem.
21
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
As an example, consider the following formula Φ with a unique satisfying assignment, namely
(0, 0, 1, 1, 1, 1, 1, 1, 1), over n = 9 variables and m = 39 clauses:
22
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Table 3. The first three columns show sampled energy levels, frequencies and Ising spin configurations of the submitted problem
depicted in Fig. (9). Only the first 9 spin values of the total 40 Ising variables are shown. The last column shows the number of
satisfied clauses in Eq. (13), when mapping the spin values -1 to 0 and 1 to 1.
Energy Frequency Ising configuration Satisfied
clauses
-17.25 257 (-1, -1, 1, 1, 1, 1, 1, 1, 1) 39
-16.25 6526 (-1, -1, 1, 1, 1, 1, 1, 1, -1) 38
-15.25 2738 (-1, -1, -1, 1, 1, -1, 1, 1, -1) 37
-14.25 422 (-1, -1, -1, 1, 1, -1, 1, 1, -1) 37
-13.25 54 (-1, -1, -1, 1, 1, -1, 1, 1, 1) 37
-12.25 3 (1, 1, 1, -1, 1, -1, 1, -1, 1) 36
hqubo
Φ = 5 + 2x3 + 2x4 − x2 − x5 − 2x1 + x7 − x6 − x8 − x9 + x10 + x11 +
x12 + x13 + x14 + 2x15 + x16 + x17 + 2x18 + 2x19 + x20 + 4x21 +
4x22 + x23 + 2x24 + 2x25 + x26 + x27 + x28 + x29 + 2x30 + 2x31 +
2x32 + x33 + 2x34 + 2x35 + 2x36 + x37 + 2x38 + 2x39 + x40 + x3 x9 +
2x5 x8 + x4 x5 + 4x1 x4 + 2x6 x8 + 2x6 x9 + 2x8 x9 + x5 x9 + x7 x9 +
x1 x2 − x3 x10 − x6 x10 − x9 x10 + 2x2 x4 + 3x2 x6 + 3x4 x6 − x2 x11 −
x4 x11 − x6 x11 + 3x1 x7 + 2x1 x8 + x7 x8 − x1 x12 − x7 x12 − x8 x12 +
x3 x4 + x4 x9 − x3 x13 − x4 x13 − x9 x13 + 2x1 x5 − x1 x14 − x5 x14 −
x8 x14 − x4 x15 − x5 x15 − x8 x15 + 2x2 x3 + 2x2 x5 + x3 x5 − x2 x16 −
x3 x16 − x5 x16 + x5 x6 − x2 x17 − x5 x17 − x6 x17 − x1 x18 − x5 x18 −
x9 x18 − x3 x19 − x6 x19 − x7 x19 + x6 x7 − x4 x20 − x6 x20 − x7 x20 −
2x4 x21 − 2x7 x21 − 2x8 x21 − 2x1 x22 − 2x2 x22 − 2x4 x22 − x1 x23 −
x4 x23 − x7 x23 − x6 x24 − x8 x24 − x9 x24 − x4 x25 − x5 x25 − x9 x25 +
3x2 x8 + x4 x8 − x2 x26 − x4 x26 − x8 x26 + x3 x8 − x2 x27 − x3 x27 −
x8 x27 − x1 x28 − x5 x28 − x7 x28 − x2 x29 − x6 x29 − x8 x29 − x4 x30 −
x6 x30 − x9 x30 − x7 x31 − x8 x31 − x9 x31 − x2 x32 − x4 x32 − x5 x32 +
2x1 x6 − x1 x33 − x4 x33 − x6 x33 − x1 x34 − x4 x34 − x5 x34 − x5 x35 −
x7 x35 − x9 x35 − x2 x36 − x3 x36 − x6 x36 + 2x1 x3 − x1 x37 − x3 x37 −
x6 x37 − x3 x38 − x4 x38 − x5 x38 − x1 x39 − x3 x39 − x7 x39 + x1 x9 −
x1 x40 − x3 x40 − x9 x40 . (15)
Notice that solving the max-SAT instance Φ given in Eq. (13) is equivalent to optimizing the
function hqubo
Φ . To solve the instance using a D-Wave system, convert hΦ
qubo
to an equivalent Ising
function through a change of variables xi = (1 + si )/2. This yields an instance of the form sT Js +
hT s+ising offset = xT Qx where h is a column vector containing the equivalent linear Ising coefficients,
J is a matrix of equivalent Ising coupling coefficients, and s is the column vector of Ising variables;
x is a column vector of Boolean variables, Q is the matrix of QUBO coefficients and ising offset is a
constant shifting all Ising energies.
Fig. (9)(left) shows the logical graph GIsing of the equivalent Ising function of hqubo
Φ given in Eq.
(15). The constant ising offset may be ignored since the objective is to minimise both functions.
Fig. (9)(right) shows a minor embedding of GIsing into the Chimera. This embedding was obtained
using a heuristic algorithm available from the D-Wave SAPI.
23
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Figure 9. (left) logical graph GIsing corresponding to the QUBO function hqubo Φ given in Eq. (15) and (right) minor embedding
of GIsing into the Chimera. The logical graph has 40 variables and its minor embedding requires 124 physical qubits. The numbers
and colors of the vertices in the logical graph are the same as in the minor embedding. Bold black lines correspond to the mapped
edges and bold color lines correspond to chain of qubits.
7000
6000
Number of ocurrences
5000
4000
3000
2000
1000
0
-17.25 -16.25 -15.25 -14.25 -13.25 -12.25
Energy level
Figure 10. Results of the simulation of the Ising model to find solutions for instance hqubo
Φ . It is shown the frequency of Ising spin
configurations of the sampled energy levels using 10000 readouts. Each bar represents the number of times that a configuration
with certain energy appears. The sum of all frequencies is equal to the number of requested readouts.
To solve this problem, we use the D-Wave SAPI utility that simulates a quantum computation on
a (4,4,4)-Chimera graph with 128 physical qubits. The SAPI utility is a set of software tools designed
to mimic the problem-solving behaviour of the hardware solvers. It allows us to use a simulator on a
classical computer that solves Ising/QUBO problems by simulated quantum annealing (SQA). It has
been proved that the obtained results using SQA have a strong correlation with a D-Wave device [87].
When an Ising problem is submitted to the simulator for a given number of readouts, it returns a list
of Ising spin configurations together with their energies, sorted from low to high. The simulator can
also return the frequency of each sampled energy level. Fig. (10) shows a histogram of the sampled
energies and their frequencies for the Ising problem depicted in Fig. (9), using 10000 readouts. From
Table (3), the minimum sampled energy is E = −17.25 + ising offset = −5 with a frequency of 257
where ising offset = 12.25. The Ising configuration of this energy is (−1, −1, 1, 1, 1, 1, 1, 1, 1) where we
omit the other 31 spin values. By mapping the spin value -1 to 0 and 1 to 1, we obtain the assignment
x1 = 0, x2 = 0, x3 = 1, x4 = 1, x5 = 1, x6 = 1, x7 = 1, x8 = 1, x9 = 1, which satisfies Eq. (13) and,
therefore, also satisfies the maximum number of clauses of instance Φ.
24
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Figure 11. A tree instance with 20 vertices for the MMC problem. Bold black lines are the edges that connect the set of pairs in
H = {(6, 10), (2, 18), (11, 17), (14, 19), (8, 13), (10, 11), (3, 5), (13, 17), (7, 14), (6, 20)}.
Figure 12. (left) Logical Ising graph for the QUBO function hG in Eq. (17) and (right) a minor embedding of this graph. The
logical graph has 23 variables and its minor embedding requires 51 physical qubits. The numbers and colors of the vertices in
the logical graph are the same as in the minor embedding. Bold black lines correspond to the mapped edges and bold color lines
correspond to chain of qubits.
The histogram in Fig. (10) also indicates that the probability of measuring the correct answer using
10000 readouts is 257/10000. A D-Wave system also returns approximate solutions with higher energy
levels that can be used for other purposes. For instance, the Ising configuration of energy E = −16.25
in Table (3) satisfies 38 clauses, one clause below the optimum.
Problem 2: Given an undirected graph G = (V, E) and a set of pairs H = {(s1 , t1 ), . . . , (sk , tk )} ⊂
V × V , find a minimal cardinality subset E 0 ⊆ E whose removal disconnects each pair in H.
25
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
The MMC problem is P for k = 2 and NP − hard for k ≥ 3, for general graphs [82]. In the special
case where G is restricted to trees and for arbitrary k, the MMC problem remains NP − hard [83]. We
will now express the MMC problem in terms of QUBO functions. We consider the case where G is a
tree, since it simplifies the formulation of QUBO functions.
Assuming that G is restricted to a family of trees, then the MMC problem can be formulated as
a QUBO function as follows: for each e ∈ E, define a Boolean variable xe such that xe = 0, if e
is removed
Sk from G and xe = 1 otherwise. Let pi be the unique path between si to ti in G and let
p = i=1 pi be the set of edges in all paths pi . Let
where hweight = e∈p (1 − xe ) and hpenalty = λp ki=1 e∈pi xe . The term hweight coincides with the
P P Q
cardinality of set C = {e ∈ p|xe = 0}. Also, hpenalty = 0 if at least one edge is removed in all paths pi
and 0 < hpenalty ≤ kλp if at least one path remains connected, where λp is a positive constant. λpath
satisfies that hpenalty adds a penalty value to the function hG if C is not a multicut in G.
Consider an instance of the MMC problem shown in Fig. (11), which con-
sists of a tree with 20 vertices and a set of disconnected pairs H =
{(6, 10), (2, 18), (11, 17), (14, 19), (8, 13), (10, 11), (3, 5), (13, 17), (7, 14), (6, 20)}. The bold lines in
Fig. (11) are the edges in the set p of all edges in the paths pi for every pair (si , ti ) ∈ H. For each
edge in p, we associate a variable xj for ej ∈ p with j = 1, . . . , 14. The function hG for this instance is
where λp = 10 is the number of pairs in H. As it can be seen, deg(hG ) = 6 since the length of the
largest path is 6, namely, the path from vertex 8 to 13. There exist seven assignments to variables xj
that produce the minimum cost of five. Using the Ishikawa reduction method, we can obtain a QUBO
function hqubo
G using 9 new variables, given as follows:
hqubo
G = 14 − x1 − x2 − x3 − x4 + 9x5 − x6 − x7 − x8 − x9 − x10 − x11 − x12 −
x13 + 9x14 + 20x6 x7 + 10x1 x2 + 10x1 x3 + 10x1 x4 + 30x2 x3 + 20x2 x4 +
30x3 x4 + 30x15 − 20x1 x15 − 20x2 x15 − 20x3 x15 − 20x4 x15 + 20x6 x8 +
10x6 x9 + 10x8 x9 + 10x16 − 10x6 x16 − 10x8 x16 − 10x9 x16 + 10x2 x5 +
10x2 x10 + 10x2 x11 + 10x3 x5 + 10x3 x10 + 10x3 x11 + 10x4 x5 + 10x4 x10 +
10x4 x11 + 10x5 x10 + 10x5 x11 + 10x10 x11 + 30x17 + 70x18 − 20x2 x17 −
20x3 x17 − 20x4 x17 − 20x5 x17 − 20x10 x17 − 20x11 x17 − 20x2 x18 −
20x3 x18 − 20x4 x18 − 20x5 x18 − 20x10 x18 − 20x11 x18 + 10x3 x8 + 10x4 x8 +
10x19 − 10x3 x19 − 10x4 x19 − 10x8 x19 + 20x2 x12 + 10x3 x12 + 10x20 −
10x2 x20 − 10x3 x20 − 10x12 x20 + 10x2 x6 + 10x2 x7 + 10x2 x8 + 10x7 x8 +
30x21 − 20x2 x21 − 20x6 x21 − 20x7 x21 − 20x8 x21 + 10x2 x13 + 10x12 x13 +
10x22 − 10x2 x22 − 10x12 x22 − 10x13 x22 (18)
and whose logical Ising graph is shown in Fig. (12)(left). A minor embedding can be seen in
Fig. (12)(right) for this logical graph that requires 51 physical qubits.
26
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
800
Annealing time µ sec
700 20
50
100
600 500
Number of ocurrences
700
500
400
300
200
100
0
E=5 E=6 E=7 E=8
Energy level
Figure 13. Histogram of the first four energy levels for the submitted Ising instance, depicted in Fig. (12), to the D-Wave 2X
system. For each energy level, we request a total of 100000 readouts for annealing times ta = 20, 50, 100, 500, 700 microseconds.
Each depicted frequency is the average over 100 gauge transformations [87]. A gauge corresponds to a mathematical transformation
specified by a vector a = {a1 , . . . , an }, with ai = ±1, transforming each Ising variable si → ai si . Applying mapping si → ai si to
Eq. (3) is equivalent to transform coefficients hi → ai hi and Jij → ai aj Jij . This transformation does not change the landscape
energy of the computational problem under analysis, since one can always reverse the sign of the measured spin values si given
vector a. However, the experimental results returned by the D-Wave are different, due to calibration errors and precision limitations
in the device.
As previously said, a D-Wave system receives the annealing time ta and a number of readouts Nr .
It returns a histogram of the energies and their Ising spin configurations of the active qubits. Only
those Ising spin configurations that correspond to valid cuts have been considered. The Ising problem
depicted in Fig. (12) was submitted to the D-Wave 2X system hosted at NASA Ames Research
Centre. We requested a total of 100000 readouts in batches of Nr = 1000 during R = 100 repetitions.
This is because the maximum number of readouts that can be requested is limited according to the
chosen annealing time ta . Fig. (13) presents a histogram of the frequencies for the first four lowest
sampled energy levels. For each energy level, we show the frequencies for several annealing times. In
this experiment, the minimum energy coincides with the number of edges that need to be removed
in order to separate every pair in H and whose Ising configuration is (1,-1,-1,1,-1,-1,1,1,1,1,1,1,1,-1).
Mapping the spin values from -1 to 0 and 1 to 1, we obtain the assignment (1,0,0,1,0,0,1,1,1,1,1,1,1,0)
to the variables x1 , . . . , x14 . Based on this assignment, the selected edges to form the multicut are
{e2 , e3 , e5 , e6 , e14 } which effectively disconnects every pair in H.
Let us estimate the time-to-solution of this instance of the MMC problem on the D-Wave system.
Let ps be the probability of measuring the optimal configuration after a single repetition. Probability
ps can be estimated as the ratio ngs /Nr where ngs is the number of occurrences of the ground state.
The number of repetitions RP to have exactly one success can be formulated as a Bernoulli experiment
with probability of success P = 1 − (1 − ps )RP after RP repetitions. Thus,
log(1 − P )
RP = (19)
log(1 − ps )
27
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
5. Conclusions
This article presents an overview of basic concepts from quantum physics and computer science that
are relevant to the study of annealing-based quantum computation and the development of quan-
tum algorithms to attack NP − complete and NP − hard problems. The components and structure of
quantum annealing processors manufactured by D-Wave Systems are presented as well as a discus-
sion about the steps that may be followed in order to build a quantum annealing-based algorithm.
Furthermore, we have introduced two detailed examples showing how to solve instances of NP − hard
problems using this novel computing paradigm.
Quantum annealing is a powerful new computational paradigm that explicitly shows the cross-
pollination between physics and computer science. While not all problems can be solved in a quantum
annealer, it appears that some difficult discrete optimisation problems such as max-SAT and the Min-
imum Multicut Problem could be computed more efficiently than with traditional classical methods.
It is only natural to ponder about the potential runtime advantages of quantum annealers over
traditional computers to solve practical computational problems (e.g., data mining, machine learn-
ing, and route analysis). Unfortunately, it is too early to give a definite answer to the question of
computational speed-ups provided by quantum annealers over the best known classical algorithms.
While some promising examples of quantum performance advantages have been found ([72,89–91]),
current generations of D-Wave processors (2000 qubits) are not big enough to solve many NP − hard
applications problems of interesting size (in particular, keep in mind that embedding into the Chi-
mera is seldom a one-to-one mapping between logical variables and physical qubits). Additionally, the
hardware architecture and programming environment of the D-Wave quantum processors may not
be mature enough to fairly compete with the large supercomputers and sophisticated data structures
currently available.
Nonetheless, even though the D-Wave quantum annealers cannot be considered at the present time
as production run machines, we believe that it is an important platform to conduct research on
novel quantum computation techniques and strategies. Furthermore, even though our discussion and
experimental results are somewhat specific to D-Wave quantum processors, we believe that they will
have a broad impact in the field of annealing- and adiabatic-based quantum computation.
Acknowledgements
SEVA, WCS and ML thank USRA for giving us access to the D-Wave quantum computer installed
at NASA-Ames Research Centre. Also, SEVA, WCS and ML thank Dr Alejandro Perdomo-Ortiz for
useful discussions about programming techniques for D-Wave quantum processors. ML is thankful
to Dr Keye Martin for the insightful discussions on adiabatic processes in superconducting qubits at
cryogenic temperatures. SEVA warmly thanks his family for their unconditional support.
28
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
Funding
SEVA gratefully acknowledges the financial support of Tecnologico de Monterrey, Escuela de Ingenieria
y Ciencias and CONACyT (SNI number 41594 as well as Fronteras de la Ciencia project No. 1007).
References
[1] Yu P, Cardona M. Fundamentals of semiconductors: physics and materials properties (graduate texts in
physics). 4th ed. Berlin:Springer; 2010.
[2] ITRS. International Technology Roadmap for semiconductors 2.0 executive report. 2015.
[3] Wong H-SP. Beyond the conventional transistor. IBM J. Res. & Dev. 2002 Mar;46(2/3):133–168.
[4] Wong B, Mittal A, Cao Y, Starr GW. Nano-CMOS Circuit and Physical Design. 1st ed.: Hoboken
(NJ):Wiley & Sons; 2005.
[5] Avci UE, Morris DH, Young IA. Tunnel Field-Effect Transistors: Prospects and Challenges. IEEE J.
Electron Devices Soc 2015;3(3):88–95.
[6] Kirkpatrick S, Gelatt Jr CD, Vecchi MP. Optimization by Simulated Annealing. Science 1983;220(4598):
671–680.
[7] Baez J, Stay M. Algorithmic thermodynamics. Mathematical Structures in Computer Science 2012;
22(5):771–787.
[8] Compeau P, Pevzner P. Bioinformatics Algorithms: An Active Learning Approach, 2nd Ed. Vols. 1 & 2.
Active Learning Publishers (2015)
[9] Cubitt TS, Perez-Garcia D, Wolf MM. Undecidability of the spectral gap. Nature 2015;528(7581):207–211.
[10] Wittek P. Quantum Machine Learning. Academic Press (2014)
[11] Schulda M, Sinayskiy I, Petruccione F. An introduction to quantum machine learning. Contemp. Phys.
2015;56(2):172–185.
[12] Biamonte J, Wittek P, Pancotti N, Rebentrost P, Wiebe N, Lloyd S. Quantum machine learning. Nature.
2017;549:195–202.
[13] Yan F, Iliyasu AM, Venegas-Andraca SE. A survey of quantum image representations. Quantum Informa-
tion Processing 2016;15(1):1–35.
[14] Abura’ed N, Khan FS, Bhaskar H. Advances in the Quantum Theoretical Approach to Image Processing
Applications. ACM Comput. Surv. 2017; 49(4):1–49.
[15] ID Quantique. http://www.idquantique.com/
[16] D-Wave systems. http://www.dwavesys.com/
[17] IBM Quantum Experience. http://research.ibm.com/ibm-q/
[18] Microsoft Station Q. https://stationq.microsoft.com/
[19] Google Quantum Artificial Intelligence Laboratory. https://plus.google.com/+QuantumAILab/
[20] 1Qbit. http://1qbit.com/
[21] Rigetti. http://rigetti.com/
[22] Quantum Manifesto, an EU call to invest e1 billion on quantum technologies.
[23] UK National Quantum Technologies Programme. http://uknqt.epsrc.ac.uk/
[24] USA National Science and Technology Council. Advancing Quantum Information Science: National Chal-
lenges and Opportunities (July 2016).
[25] MIT Tech Review 10 Breakthrough Technologies 2017 - Practical Quantum Computers.
[26] Winiarczyk R, Gawron P, Miszczak JA, Pawela L, Puchala Z. Analysis of patent activity in the field of
quantum information processing. Int. J. Quantum Inform. 2013; 11: 1350007.
[27] UK Intellectual Property Office Informatics Team. Eight great technologies. Quantum Technologies, a
patent overview. UK Intellectual Property Office (2014).
[28] USC-Lockheed Martin Quantum Computation Center. https://www.isi.edu/research groups/quantum computing/home
[29] HP Labs Quantum Information Processing Group. http://www.hpl.hp.com/research/qip/
[30] Mertens S. Computational Complexity for Physicists. Computing in Science & Engineering 2002;4(3):31–
47.
[31] Press WH, Flannery BP, Teukolsky SA, Vetterling WT. Numerical Recipes in C: The Art of Scientific
Computing, 2nd Edition. Cambridge: Cambridge University Press; 1992.
[32] NEOS Guide. https://neos-guide.org/content/combinatorial-optimization
29
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
30
March 12, 2018 0:26 Contemporary Physics Quantum˙Annealing˙ArXiv˙CP
31