The adiabatic model
This model of quantum computation is motivated by ideas in quantum many-body theory, and differs substantially both from the circuit model (in that it is a continuous-time model) and from continuous-time quantum walks (in that it has a time-dependent evolution).
Adiabatic computation usually takes the following form.
- Start with some set of qubits, all in some simple state such as |+⟩. Call the initial global state |ψ0⟩.
- H0|ψ0⟩|ψ0⟩=|+⟩⊗nH0=−∑kσ(x)k.
- H1H1=∑chcchc is an operator which imposes an energy penalty (a positive energy contribution) to any standard basis state representing a classical assignment which does not satisfy the constraint c.
- T⩾0 y un Hamiltoniano variable en el tiempoH(t) such that H(0)=H0 and H(T)=H1. A common but not necessary choice is to simply take a linear interpolation H(t)=tTH1+(1−tT)H0.
- For times t=0 up to t=T, allow the system to evolve under the continuously varying Hamiltonian H(t), and measure the qubits at the output to obtain an outcome y∈{0,1}n.
The basis of the adiabatic model is the adiabatic theorem, of which there are several versions. The version by Ambainis and Regev [ arXiv:quant-ph/0411152 ] (a more rigorous example) implies that if there is always an "energy gap" of at least λ>0 between the ground state of H(t) and its first excited state for all 0⩽t⩽T, and the operator-norms of the first and second derivatives of H are small enough (that is, H(t) does not vary too quickly or abruptly), then you can make the probability of getting the output you want as large as you like just by running the computation slowly enough. Furthermore, you can reduce the probability of error by any constant factor just by slowing down the whole computation by a polynomially-related factor.
Despite being very different in presentation from the unitary circuit model, it has been shown that this model is polynomial-time equivalent to the unitary circuit model [ arXiv:quant-ph/0405098 ]. The advantage of the adiabatic algorithm is that it provides a different approach to constructing quantum algorithms which is more amenable to optimisation problems. One disadvantage is that it is not clear how to protect it against noise, or to tell how its performance degrades under imperfect control. Another problem is that, even without any imperfections in the system, determining how slowly to run the algorithm to get a reliable answer is a difficult problem — it depends on the energy gap, and it isn't easy in general to tell what the energy gap is for a static Hamiltonian H, let alone a time-varying one H(t).
Still, this is a model of both theoretical and practical interest, and has the distinction of being the most different from the unitary circuit model of essentially any that exists.
The Unitary Circuit Model
This is the best well-known model of quantum computation. In this model one has constraints such as the following:
Minor details may change (for instance, the set of unitaries one may perform; whether one allows preparation in other pure states such as|1⟩ , |+⟩ , |−⟩ ; whether measurements must be in the standard basis or can also be in some other basis), but these do not make any essential difference.
fuente
Discrete-time quantum walk
A "discrete-time quantum walk" is a quantum variation on a random walk, in which there is a 'walker' (or multiple 'walkers') which takes small steps in a graph (e.g. a chain of nodes, or a rectangular grid). The difference is that where a random walker takes a step in a randomly determined direction, a quantum walker takes a step in a direction determined by a quantum "coin" register, which at each step is "flipped" by a unitary transformation rather than changed by re-sampling a random variable. See [ arXiv:quant-ph/0012090 ] for an early reference.
For the sake of simplicity, I will describe a quantum walk on a cycle of size2n ; though one must change some of the details to consider quantum walks on more general graphs. In this model of computation, one typically does the following.
The main difference between this and a random walk is that the different possible "trajectories" of the walker are being performed coherently in superposition, so that they can destructively interfere. This leads to a walker behaviour which is more like ballistic motion than diffusion. Indeed, an early presentation of a model such as this was made by Feynmann, as a way to simulate the Dirac equation.
This model also often is described in terms of looking for or locating 'marked' elements in the graph, in which case one performs another step (to compute whether the node the walker is at is marked, and then to measure the outcome of that computation) before returning to Step 2. Other variations of this sort are reasonable.
To perform a quantum walk on a more general graph, one must replace the "position" register with one which can express all of the nodes of the graph, and the "coin" register with one which can express the edges incident to a vertex. The "coin operator" then must also be replaced with one which allows the walker to perform an interesting superposition of different trajectories. (What counts as 'interesting' depends on what your motivation is: physicists often consider ways in which changing the coin operator changes the evolution of the probability density, not for computational purposes but as a way of probing at basic physics using quantum walks as a reasonable toy model of particle movement.) A good framework for generalising quantum walks to more general graphs is the Szegedy formulation [ arXiv:quant-ph/0401053 ] of discrete-time quantum walks.
This model of computation is strictly speaking a special case of the unitary circuit model, but is motivated with very specific physical intuitions, which has led to some algorithmic insights (see e.g. [ arXiv:1302.3143 ]) for polynomial-time speedups in bounded-error quantum algorithms. This model is also a close relative of the continuous-time quantum walk as a model of computation.
fuente
Quantum circuits with intermediary measurements
This is a slight variation on "unitary circuits", in which one allows measurements in the middle of the algorithm as well as the end, and where one also allows future operations to depend on the outcomes of those measurements. It represents a realistic picture of a quantum processor which interacts with a classical control device, which among other things is the interface between the quantum processor and a human user.
Intermediary measurement is practically necessary to perform error correction, and so this is in principle a more realistic picture of quantum computation than the unitary circuit model. but it is not uncommon for theorists of a certain type to strongly prefer measurements to be left until the end (using the principle of deferred measurement to simulate any 'intermediary' measurements). So, this may be a significant distinction to make when talking about quantum algorithms — but this does not lead to a theoretical increase in the computational power of a quantum algorithm.
fuente
Quantum annealing
Quantum annealing is a model of quantum computation which, roughly speaking, generalises the adiabatic model of computation. It has attracted popular — and commercial — attention as a result of D-WAVE's work on the subject.
Precisely what quantum annealing consists of is not as well-defined as other models of computation, essentially because it is of more interest to quantum technologists than computer scientists. Broadly speaking, we can say that it is usually considered by people with the motivations of engineers, rather than the motivations of mathematicians, so that the subject appears to have many intuitions and rules of thumb but few 'formal' results. In fact, in an answer to my question about quantum annealing,
Andrew O
goes so far as to say that "quantum annealing can't be defined without considerations of algorithms and hardware". Nevertheless, "quantum annealing" seems is well-defined enough to be described as a way of approaching how to solve problems with quantum technologies with specific techniques — and so despiteAndrew O
's assessment, I think that it embodies some implicitly defined model of computation. I will attempt to describe that model here.Intuition behind the model
Quantum annealing gets its name from a loose analogy to (classical) simulated annealing. They are both presented as means of minimising the energy of a system, expressed in the form of a Hamiltonian:
One starts with the system at 'infinite temperature', which is ultimately a fancy way of saying that you allow for all possible transitions, regardless of increases or decreases in energy. You then lower the temperature according to some schedule, so that time goes on, changes in state which increase the energy become less and less likely (though still possible). The limit is zero temperature, in which any transition which decreases energy is allowed, but any transition which increases energy is simply forbidden. For any temperatureT>0 , there will be a stable distribution (a 'thermal state') of assignments, which is the uniform distribution at 'infinite' temperature, and which is which is more and more weighted on the global minimum energy states as the temperature decreases. If you take long enough to decrease the temperature from infinite to near zero, you should in principle be guaranteed to find a global optimum to the problem of minimising the energy. Thus simulated annealing is an approach to solving optimisation problems.
Quantum annealing is motivated by generalising the work by Farhi et al. on adiabatic quantum computation [arXiv:quant-ph/0001106], with the idea of considering what evolution occurs when one does not necessarily evolve the Hamiltonian in the adiabatic regime. Similarly to classical annealing, one starts in a configuration in which "classical assignments" to some problem are in a uniform distribution, though this time in coherent superposition instead of a probability distribution: this is achieved for timet=0 , for instance, by setting
Similarly to adiabatic quantum computing, the way thatA(t) and B(t) are defined are often presented as a linear interpolations from 0 to 1 (increasing for A(t) , and decreasing for B(t) ). However, also in common with adiabatic computation, A(t) and B(t) don't necessarily have to be linear or even monotonic. For instance, D-Wave has considered the advantages of pausing the annealing schedule and 'backwards anneals'.
'Proper' quantum annealing (so to speak) presupposes that evolution is probably not being done in the adiabatic regime, and allows for the possibility of diabatic transitions, but only asks for a high chance of achieving an optimum — or even more pragmatically still, of achieving a result which would be difficult to find using classical techniques. There are no formal results about how quickly you can change your Hamiltonian to achieve this: the subject appears mostly to consist of experimenting with a heuristic to see what works in practise.
The comparison with classical simulated annealing
Despite the terminology, it is not immediately clear that there is much which quantum annealing has in common with classical annealing. The main differences between quantum annealing and classical simulated annealing appear to be that:
In quantum annealing, the state is in some sense ideally a pure state, rather than a mixed state (corresponding to the probability distribution in classical annealing);
In quantum annealing, the evolution is driven by an explicit change in the Hamiltonian rather than an external parameter.
It is possible that a change in presentation could make the analogy between quantum annealing and classical annealing tighter. For instance, one could incorporate the temperature parameter into the spin Hamiltonian for classical annealing, by writing
There are still disanalogies to quantum annealing in this — for instance, we achieve the strong suppression of increases in energy ast→tF essentially by making the potential wells infinitely deep (which is not a very physical thing to do) — but this does illustrate something of a commonality between the two models, with the main distinction being not so much the evolution of the Hamiltonian as it is the difference between diffusion and Schrödinger dynamics. This suggests that there may be a sharper way to compare the two models theoretically: by describing the difference between classical and quantum annealing, as being analogous to the difference between random walks and quantum walks. A common idiom in describing quantum annealing is to speak of 'tunnelling' through energy barriers — this is certainly pertinent to how people consider quantum walks: consider for instance the work by Farhi et al. on continuous-time quantum speed-ups for evaluating NAND circuits, and more directly foundational work by Wong on quantum walks on the line tunnelling through potential barriers. Some work has been done by Chancellor [arXiv:1606.06800] on considering quantum annealing in terms of quantum walks, though it appears that there is room for a more formal and complete account.
On a purely operational level, it appears that quantum annealing gives a performance advantage over classical annealing (see for example these slides on the difference in performance between quantum vs. classical annealing, from Troyer's group at ETH, ca. 2014).
Quantum annealing as a phenomenon, as opposed to a computational model
Because quantum annealing is more studied by technologists, they focus on the concept of realising quantum annealing as an effect rather than defining the model in terms of general principles. (A rough analogy would be studying the unitary circuit model only inasmuch as it represents a means of achieving the 'effects' of eigenvalue estimation or amplitude amplification.)
Therefore, whether something counts as "quantum annealing" is described by at least some people as being hardware-dependent, and even input-dependent: for instance, on the layout of the qubits, the noise levels of the machine. It seems that even trying to approach the adiabatic regime will prevent you from achieving quantum annealing, because the idea of what quantum annealing even consists of includes the idea that noise (such as decoherence) will prevent annealing from being realised: as a computational effect, as opposed to a computational model, quantum annealing essentially requires that the annealing schedule is shorter than the decoherence time of the quantum system.
Some people occasionally describe noise as being somehow essential to the process of quantum annealing. For instance, Boixo et al. [arXiv:1304.4595] write
It might perhaps be accurate to describe it as being an inevitable feature of systems in which one will perform annealing (just because noise is inevitable feature of a system in which you will do quantum information processing of any kind): as
Andrew O
writes "in reality no baths really help quantum annealing". It is possible that a dissipative process can help quantum annealing by helping the system build population on lower-energy states (as suggested by work by Amin et al., [arXiv:cond-mat/0609332]), but this seems essentially to be a classical effect, and would inherently require a quiet low-temperature environment rather than 'the presence of noise'.The bottom line
It might be said — in particular by those who study it — that quantum annealing is an effect, rather than a model of computation. A "quantum annealer" would then be best understood as "a machine which realises the effect of quantum annealing", rather than a machine which attempts to embody a model of computation which is known as 'quantum annealing'. However, the same might be said of adiabatic quantum computation, which is — in my opinion correctly — described as a model of computation in its own right.
Perhaps it would be fair to describe quantum annealing as an approach to realising a very general heuristic, and that there is an implicit model of computation which could be characterised as the conditions under which we could expect this heuristic to be successful. If we consider quantum annealing this way, it would be a model which includes the adiabatic regime (with zero-noise) as a special case, but it may in principle be more general.
fuente