The present disclosure relates to the technical fields of quantum annealing and adiabatic quantum computing. More particularly, it relates to tuning the internal working mechanisms of a quantum annealer or adiabatic quantum computer such that the performance of the quantum computing device is improved.
Quantum computing devices (QCD), which include quantum annealers and adiabatic quantum computers, implement computational paradigms for solving (exactly or approximately) difficult combinatorial optimization problems. One of the main choices that is available to a QCD engineer (engineer) is the so-called annealing schedule, which defines how the computer evolves from the start of the computation to the end of the computation. This schedule can be different for each quantum bit (qubit) in the QCD. The choice of schedule can have a dramatic impact on the performance of the quantum computing device.
Embodiments of the disclosure have other advantages and features which will be more readily apparent from the following detailed description and the appended claims, when taken in conjunction with the examples in the accompanying drawings, in which:
The figures and the following description relate to preferred embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is disclosed.
In one aspect, the user of a quantum computing device (QCD) wants to find a minimum of the combinatorial optimization problem
G=Σ
i
h
i
s
i+Σ(i,j)Jijsisj, (1)
where G is the objective function to be minimized by the QCD. The hi and Jij are arrays of coefficients specified by the user and define the minimization problem to be solved. The variables si can be either +1 or −1. The set of +1 and −1 for si that yields the minimum value of G is the solution desired.
The choice of coefficients 20 can have a dramatic impact on the performance of the quantum computer. Denote by ϵi the anneal offset applied on qubit i and δj the anneal offset applied on qubit j. If δi>δj, then this has the effect that qubit i is annealed after qubit j. In one approach, the δi are set to relatively large positive values for qubits i that are relatively unimportant in deciding what are good values of the s1, . . . , sN. Similarly, the δi are set to relatively large negative values for qubits i that play a larger role in determining what are good values of the s1, . . . , sN. Several examples are provided below. In contrast, under a conventional annealing schedule, the anneal offsets are chosen such that they are the same for all qubits (i.e., δ1= . . . =δN, typically δ1= . . . =δN=0).
An example method for setting an annealing schedule is to look at the magnitude of the local field of each qubit, on the basis that the larger the local field typically is, the larger the role that qubit plays in determining the optimal values of the s1, . . . , sN. In one approach, let E(i)≡{j:Jij≠0} denote the set of all qubits j that interact non-trivially with qubit i. Furthermore, let i1, . . . ,i|E(i)| denote an enumeration of this set, i.e., E(i)={i1, . . . ,i|E(i)|}. Then the local field of qubit i, which depends on qubits j∈E(i), is denoted Fi(si
F
i(si
Next we define the quantity
which is the average of the absolute value of the local field of qubit i, weighted uniformly over all possible values of si
which is the maximum of these averages over all qubits. Next we normalize the averages and obtain the normalized ratios
is always positive because it is an average of magnitudes and ΔEmax is the largest of these values, so ratio ri falls in the range 0 to 1, with ri close to 0 for qubits i with small local field magnitudes and ri close to 1 for qubits i with large local field magnitudes.
If one wishes to use an anneal offset range of magnitude 2δrange (i.e., operating range of −δrange to +δrange), then we can set the offsets to be
δi(ri)=δrange(1−2ri). (5)
That is, the anneal offset δi is close to +δrange for qubits i with small local field magnitudes and close to −δrange for qubits i with large local field magnitudes. In some cases, different offset ranges might be available for different qubits, and it could be that the function in Equation 5 assigns an anneal offset to a qubit that the hardware cannot physically realize. If δimax is the maximum offset value that can be applied on qubit i allowed by the hardware, and δimin is the minimum such offset value, we can ensure that δi∈[δimin, δimax] by clipping values that would otherwise fall outside the operating range:
This is just one example for setting the anneal offsets. One generalization of this strategy is to modify ΔEmeani by introducing nonnegative, normalized weights for each qubit i and each possible configuration of its neighbors i1, . . . , i|E(i)|. We denote this weight
Next, we replace the uniformly weighted average ΔEmeani -by the weighted average
Proceeding in a similar fashion as above, we introduce the following short-hand notation for the maximum of the weighted averages in Equation 7:
Next we normalize the averages and obtain the normalized ratios
Finally, if one wishes to use an anneal offset range of magnitude 2δrange, then we can set the offsets to be
δi(ri′)=δrange(1−2ri′). (10)
It could be that the function in Equation 10 assigns an anneal offset to a qubit that the hardware cannot physically realize. If δimax is the maximum offset value that can be applied on qubit i allowed by the hardware, and δimin is the minimum such offset value, we can ensure that δi∈[δimin, δimax] by using the following prescription:
The following are several implementations that are computationally feasible even when the underlying hardware graph is of arbitrarily high degree (and in particular, for fully-connected graphs). The sum in Equation 7 is computationally tractable if enough of the weights
are 0 (note that this condition is sufficient for the sum in Equation 7 to be computationally tractable, but not necessary). One way of choosing the weights
in such a manner is to run multiple iterations of the optimization to obtain a sample of solutions using the default anneal offsets, and then choose the weights according to how frequently the corresponding combinations of qubits appear in the sampled solutions, or some subsample of the sampled solutions. For example, one might only consider the distribution occurring in the p % (for some p∈[0,100]) of the sampled solutions with the lowest energy (i.e., the best values of G).
One can repeat this procedure as an adaptive search to further refine the choices of the anneal offsets. In other words, every time a new sample of solutions is collected (i.e., after each call to the QCD), one can update weights
according to how frequently the corresponding configurations appear in the new sample of solutions, or some subsample of this new sample. As an example how one can use this subsample, one might only use the p % (for some p∈[0,100]) of the samples with the lowest energy.
Now the task is to find the values of the s1, . . . , sN that minimize the value of the formula in Equation 1, for example as described with respect to
One can generalize this method to mitigate the risk of using n−1 different annealing schedules, for any integer n∈[2, ∞). By alternating uniformly between calls to the QCD with the n−1 annealing schedules and a call to the QCD with the default annealing schedule, the overall time-to-solution is guaranteed to be at worst n times greater than if one were to run the QCD with only the default annealing schedule, whereas the potential speed-up remains unbounded.
The backend server may contain one or more domain-specific libraries 200 that may be useful for developing software for or solving problems on quantum processing devices. Each domain-specific library may include software routines, data models, and other such resources as may typically appear in a software library.
The API 205 exposes the functions, data structures, models, and other core interfaces of the backend server. The API 205 may connect with one or more libraries 200A-N and/or may directly communicate with the web service/RPC interface, depending on the information being supplied to the backend server. The API 205 is responsible for examining a problem and whatever information is supplied to the backend server and determining how to execute the problem on quantum processing devices and/or classical solver libraries, with the help of the remaining modules shown in
One such module is problem decomposition module 210. The processes conducted by this module involve taking a large problem and splitting it into smaller subproblems, whose solutions may be combined to obtain an exact or approximate solution to the entire problem. For example, if one is solving the Traveling Salesman Problem (TSP) for a large number of cities, there are heuristics in the literature for how to decompose the problem into multiple smaller TSP subproblems over smaller numbers of cities, and to then recombine the solutions of those subproblems into an approximate solution for the overall TSP problem.
The modules, 215, 220, and 225, relate to taking a discrete optimization problem of one form and converting it into a quadratic binary unconstrained form. Module 215 uses heuristics to convert an integer optimization problem into a binary optimization problem. Module 220 uses heuristics to convert a higher-order polynomial binary optimization problem into a quadratic binary optimization problem. Module 225 uses heuristics involving penalty terms to convert a constrained binary optimization problem into an unconstrained binary optimization problem. Depending on the input provided to the backend server, none, one, some, or all of these modules 215, 220, 225 may be used in order to prepare the problem for solution on the quantum processing devices and/or other solver libraries underlying the platform.
Module 230 provides optimizations for the processed problem in order to improve the quality of the solution obtained via the platform.
When the problem is in an optimized state, embedding tools 235, 240 may be run to fit the problem onto a model of the particular hardware architecture of a target quantum processing device. For instance, if a problem is to be solved using a D-Wave quantum processing device, these tools will map the problem onto the chimera graph architecture of that device. The embedding tool 235 may be vendor-supplied or a third-party library, whereas tool 240 can take the output of another embedding tool 235 and provide additional optimizations to make the embedding as compact as possible.
Tool 240 may operate by running the embedding tool 235 multiple times, and choosing the best result to use as the embedding (such may be the mode of operation when tool 235 produces different outputs for different executions). The “best” output of tool 235 may be the embedding with the fewest number of qubits used, the embedding with the shortest chain lengths, or some other criteria that may be specified. Other techniques may be incorporated into the platform for selecting and optimizing embeddings.
The embedded problem (output of tools 235 and/or 240) is then optimized for execution on a specific device via modules 245, 250, 255. The methods described above for selecting or adaptively tuning the annealing schedule may be implemented in module 245. At the very end of the process, the optimized problem is dispatched to one or more vendor device APIs/SDKs. At a later point in time, solutions are returned and are passed back to the end user.
Note that the collection of modules in the server-side platform library may be executed iteratively or in the style of a “feedback loop,” where one or more of the modules are executed repeatedly, either in parallel or in serial. For example, one may wish to re-execute both the embedding routines 235 and then the automated parameter selection 245 in order to obtain a better embedding and better parameters (including annealing schedule) for the embedded problem. Generally, many of the modules, e.g. 230, 235, 240, 245, 250, 255, etc., may benefit from multiple executions, and as such, the platform may include options and modes for executing some or all of the modules repeatedly in the style of a feedback loop in order to obtain more suitable results. The platform does not restrict which modules may be run in this iterative fashion.
Although the detailed description contains many specifics, these should not be construed as limiting the scope of the disclosure but merely as illustrating different examples. It should be appreciated that the scope of the disclosure includes other embodiments not discussed in detail above. For example, instead of using Equation 5 where the anneal offset δi is a linear function of ri, other monotonic functions could be used instead. Various other modifications, changes and variations which will be apparent to those skilled in the art may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope as defined in the appended claims. Therefore, the scope of the disclosure should be determined by the appended claims and their legal equivalents.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application Ser. No. 62/567,036, “A Method For Improving The Accuracy And Time-To-Solution In Solving Combinatorial Optimization Problems With Quantum Annealers By Using Anneal Offsets,” filed Oct. 2, 2017. The subject matter of all of the foregoing is incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
62567036 | Oct 2017 | US |