Hybrid algorithm system and method for using cluster shrinkage

文档序号:144511 发布日期:2021-10-22 浏览:21次 中文

阅读说明:本技术 用于使用聚类收缩的混合算法系统和方法 (Hybrid algorithm system and method for using cluster shrinkage ) 是由 詹姆斯·A·金 凯利·T·R·布思比 波·法雷·佩雷 威廉·W·伯诺迪 于 2020-01-13 设计创作,主要内容包括:描述了用于操作混合计算系统的系统和方法,这些系统和方法使用聚类收缩来将较大的密集输入转换为可以容易地映射到量子处理器中的简化输入。该简化输入表示问题的全局结构。技术涉及将输入变量划分为多个聚类并对每个聚类进行收缩。可以使用不加权算术平均组对方法算法来划分这些输入变量。该量子处理器基于该简化输入返回样本,并且这些样本被扩展以对应于原始输入。(Systems and methods for operating a hybrid computing system are described that use clustering contraction to convert large dense inputs into simplified inputs that can be easily mapped into quantum processors. The simplified input represents the global structure of the problem. The technique involves dividing the input variable into a plurality of clusters and shrinking each cluster. These input variables may be partitioned using an unweighted arithmetic mean group pairing method algorithm. The quantum processor returns samples based on the simplified input, and the samples are expanded to correspond to the original input.)

1. A method of operating a hybrid computing system comprising a quantum processor and a classical processor, the method comprising:

applying, by the classical processor, an algorithm to the problem with the input of m population variables;

converting, by the classical processor, the input having n population variables into a simplified input having k population variables, wherein k ≦ n;

obtaining, by the quantum processor, a sample S from the simplified inputr(ii) a And

extending the samples S by the classical processorrTo obtain a set of modified states for the problem.

2. The method of claim 1, wherein applying, by the classical processor, an algorithm to the problem of the input having n population variables comprises: a parallel tempering algorithm is applied to the problem with inputs of n population variables by the classical processor.

3. The method of claim 1 or 2, wherein converting the input having n population variables to a simplified input having k population variables, where k ≦ n, comprises: the n population variables are divided into k clusters, and each of the k clusters is shrunk to produce a reduced input having k population variables.

4. The method of claim 3, wherein shrinking each of the k clusters to produce a reduced input having k population variables comprises: shrinking each of the k clusters with respect to a low energy state S to produce a reduced input having k population variables, and expanding the samples SrThe set of modified states to obtain the problem includes: expanding the samples S relative to the lower energy state SrTo obtain a set of modified states for the problem.

5. The method of claim 4, wherein shrinking each of the k clusters relative to low energy states s comprises: the population variables are clamped relative to each other based on the values of all population variables in each cluster at that state s.

6. The method of claim 5, wherein shrinking each of the k clusters relative to low energy states s comprises: a new state s is created based on the cluster.

7. The method of claim 3, wherein dividing the n population variables into k clusters comprises: the n population variables are divided into k clusters using a low energy state subset.

8. The method of claim 7, wherein puncturing each of the k clusters comprises: the values of all population variables in each cluster are averaged with respect to the subset of low energy states.

9. The method of claim 7 or 8, wherein partitioning the n population variables into k clusters using the low energy state subset comprises: the n population variables are divided into k clusters by a non-weighted arithmetic mean group pairing algorithm.

10. The method of claim 9, wherein partitioning the n population variables into k clusters by a non-weighted arithmetic mean group pairing method algorithm comprises: the n population variables are divided into k clusters by an unweighted arithmetic mean pairing method algorithm using pairwise entropy as a distance measure.

11. The method of claim 6, wherein creating a new state s based on the cluster comprises: a new state s is created for each cluster using a heuristic solver.

12. The method of any one of claims 1 to 11, wherein the simplification is based on by the quantum processorInputting a sample SrThe method comprises the following steps: obtaining samples S from the simplified input by the quantum processorrPreviously, an embedding algorithm was applied to the problem with the simplified input by the classical processor.

13. The method of any of claims 1 to 12, further comprising:

the iteration is repeated until an exit condition is satisfied:

applying an algorithm to the problem by the classical processor;

converting, by the classical processor, the input having n population variables into a simplified input having k population variables, wherein k ≦ n;

obtaining, by the quantum processor, a sample S from the simplified inputr

Extending the samples S by the classical processorrTo obtain a set of modified states for the problem; and

these modified states are integrated into the problem.

14. The method of claim 13, further comprising determining whether an exit condition has been met.

15. The method of claim 14, wherein determining whether an exit condition has been met comprises determining whether a quality metric of the population variables is met.

16. A hybrid computing system comprising a quantum processor and a classical processor, the classical processor operable to:

applying an algorithm to a problem with an input of n population variables;

converting the input having n population variables into a simplified input having k population variables, wherein k ≦ n;

obtaining samples S from the quantum processor based on the simplified inputr(ii) a And

expanding these samples SrTo obtain theA set of modified states for the problem.

17. The system of claim 16, wherein the algorithm is a parallel tempering algorithm.

18. The system of claim 16 or 17, wherein the classical processor is operable to divide the n population variables into k clusters and to shrink each of the k clusters to produce a reduced input having k variables.

19. The system of claim 18, wherein each of the k clusters is shrunk relative to low energy state S and the samples S are expanded relative to the low energy state Sr

20. The system of claim 19, wherein the population variables are clamped relative to each other based on the values of all population variables in each cluster at the state s.

21. The system of claim 18, wherein the n population variables are partitioned into k clusters using a low energy state subset.

22. The system of claim 21, wherein values of all population variables in each cluster are averaged relative to the subset of low energy states.

23. The system of claim 21 or 22, wherein the n population variables are divided into k clusters by a non-weighted arithmetic mean group pairing method algorithm.

24. The system of claim 23, wherein the unweighted arithmetic mean pairing method algorithm uses pairwise entropy as a distance measure.

25. The system of claim 20, wherein a new state s is created based on the cluster.

26. The system of claim 25, wherein a heuristic solver is used to create a new state s for each cluster.

27. The system of any one of claims 16 to 26, wherein the classical processor is operable to obtain a sample S from the quantum processor according to the simplified inputrPreviously, the problem with the simplified input was embedded by an embedding algorithm.

28. A method of operating a hybrid computing system comprising a quantum processor and a classical processor, the method comprising:

generating, by the classical processor, a plurality of variable modification proposals for the problem with respect to the state s;

formulating, by the classical processor, a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the plurality of variable modification proposals; and

solving, by the quantum processor, the quadratic unconstrained binary optimization problem.

29. The method of claim 28, wherein generating a plurality of variable modification offers for a question comprises: generating a plurality of variable modification offers for a problem consisting of one of: quadratic constraint binary optimization problem and integer quadratic programming problem.

30. The method of claim 28 or 29, wherein generating a plurality of variable modification offers relative to state s comprises: a plurality of variable modification proposals for the problem are generated with respect to the random state s.

31. The method of any of claims 28 to 30, wherein generating, by the classical processor, a plurality of variable modification proposals with respect to the state s comprises: a plurality of variable modification proposals are generated such that no two proposals modify the same variable and no more than two proposals affect terms of a cost function of the quadratic unconstrained binary optimization problem.

32. The method of any of claims 28 to 31, further comprising: modifying the state s by accepting a subset of the plurality of variable modification proposals specified by solving the quadratic unconstrained binary optimization problem; and iterating until an exit condition has been met:

by the classical processor with respect to state sn-1Generating a plurality of variable modification offers;

formulating, by the classical processor, a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the variable modification proposals;

solving, by the quantum processor, the quadratic unconstrained binary optimization problem; and

the state s is assigned by accepting a subset of the proposals specified by solving the quadratic unconstrained binary optimization problemn-1Modified to state sn

33. The method of claim 32, further comprising determining whether the exit condition has been met.

34. The method of claim 33, wherein determining whether the exit condition has been met comprises: determining whether at least one condition from the group of: number of iterations, and the state snA quality metric is satisfied.

35. A hybrid computing system comprising a classical processor and a quantum processor, the classical processor operable to:

generating a plurality of variable modification offers for the question relative to the state s;

formulating a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the plurality of variable modification proposals; and

the quantum processor is caused to solve the quadratic unconstrained binary optimization problem.

36. The system of claim 35, wherein the problem is at least one of: quadratic constraint binary optimization problem and integer quadratic programming problem.

37. The system of claim 35 or 36, wherein the state s is a random state s.

38. The system of any of claims 35 to 37, wherein the classical processor is operable to generate variable modification proposals such that no two proposals modify the same variable and no more than two proposals affect a term of the cost function of the quadratic unconstrained binary optimization problem.

39. The system of any of claims 35 to 38, wherein the classical processor is further operable to: modifying the state s by accepting a subset of the plurality of variable modification proposals specified by solving the quadratic unconstrained binary optimization problem; and iterating until an exit condition has been met:

relative to state sn-1Generating a plurality of variable modification offers;

formulating a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the variable modification proposals;

solving the quadratic unconstrained binary optimization problem for the quantum processor; and

the state s is assigned by accepting a subset of the proposals specified by solving the quadratic unconstrained binary optimization problemn-1Modified to state sn

40. The system of claim 39, further comprising the classical processor operable to determine whether the exit condition has been met.

41. The system of claim 40, wherein the classical processor is capable of operatingTo determine whether one of a set of exit conditions including: number of iterations passed, and the state snA quality metric is satisfied.

Technical Field

The present disclosure relates generally to systems and methods for solving computational problems in hybrid computing systems employing quantum processors and classical processors.

Background

Quantum annealing

Quantum annealing is a computational method that can be used to find a low energy state of a system, usually the ground state of the system is preferred. The rationale on which this approach relies is that natural systems tend to be lower energy states because lower energy states are more stable. While classical annealing uses classical thermal fluctuations to direct the system to a lower energy state, quantum annealing may use quantum effects such as quantum tunneling as a source of delocalization to reach energy minima more accurately and/or more rapidly than classical annealing.

Quantum processors may be designed to perform quantum annealing and/or adiabatic quantum computation. An evolving hamiltonian proportional to the sum of a first term proportional to the problem hamiltonian and a second term proportional to the delocalized hamiltonian may be constructed as follows:

HE∝A(t)HP+B(,)HD

wherein HEIs an evolutionary Hamiltonian, HPIs the problem Hamiltonian, HDIs a delocalized Hamiltonian, and A (t), B (t) are evolution rate controllable and are usually at [0, 1%]Coefficients within the range.

A specific example is realized by implementing superconducting qubits.

Markov chain monte carlo

Markov Chain Monte Carlo (MCMC) is a class of computational techniques that includes, for example, simulated annealing, parallel tempering, group annealing, and other techniques. For example, a Markov chain may be used when probability distributions cannot be used. A markov chain can be described as a series of discrete random variables and/or a stochastic process in which at each time step, a state depends only on the previous state. When the chain is sufficiently long, the aggregation properties of the chain (such as the mean) may match the aggregation properties of the target distribution.

A markov chain may be obtained by proposing new points according to a markov proposition process (commonly referred to as an "update operation"). The new point is either accepted or rejected. If the new point is rejected, a new offer is made, and so on. The new point accepted is the point at which the target distribution converges probabilistically. Convergence is guaranteed if the proposal and acceptance criteria meet a fine balance condition and the proposal meets the traversal requirements. Further, it is acceptable to propose that the markov chain is reversible, i.e. the product of the transition rates on the closed loops of the states in the chain is the same in either direction. Reversible markov chains are also referred to as having careful balancing. Typically, in many cases, the new point is local to the previous point.

Quadratic unconstrained binary optimization problem

Quadratic Unconstrained Binary Optimization (QUBO) problems have traditionally been used in computer science. The variables are TRUE and FALSE-states corresponding to 1 and 0 values.

Using the upper diagonal matrix Q (which is the NxN upper triangular matrix of actual weights) and x (a binary variable vector), the QUBO problem is defined to minimize the following function:

wherein, the diagonal line term Qi,iAre linear coefficients rather than zero off-diagonal termsIs a quadratic coefficient Qi,j

This can be expressed more succinctly as

In scalar notation, the objective function, denoted QUBO, is as follows:

the quadratic unconstrained binary optimization problem is unconstrained because there are no constraints on the variables other than the constraint represented in Q.

The above examples of related art and the limitations associated therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those of skill in the art upon a reading of the specification and a study of the drawings.

Disclosure of Invention

A method of operating a hybrid computing system is described. The hybrid computing system includes a quantum processor and a classical processor. The method comprises the following steps: applying, by the classical processor, an algorithm to the problem with an input of n population variables; converting, by the classical processor, the input having n population variables into a simplified input having k population variables, wherein k ≦ n; obtaining, by the quantum processor, a sample S from the simplified inputr(ii) a And expanding the samples S by the classical processorrTo obtain a set of modified states for the problem. The algorithm applied by a classical processor to a problem with an input of n population variables may be a parallel tempering algorithm. The n population variables may be divided into k clusters, and each of the k clusters may be shrunk to produce a reduced input having k population variables. May be relative to a low energy state S or based on a set of low energy states ScThese clusters are shrunk in a possibly non-deterministic manner and expanded to cancel the shrink, or the S can be shrunk according to the shrink performedcThe correlation or mutual energy observed in, and the energyThe function f or f limits the variables within each cluster, extending these clusters in a possibly non-deterministic process. The values of all population variables in a cluster at this state s can be clamped (clipped) against each other to shrink the cluster. The n population variables may be partitioned using a low energy subset. The values of the population variables in each cluster may be averaged relative to the subset of low energy states to shrink each of the k clusters. The n population variables may be divided into clusters using an unweighted arithmetic mean pairing approach algorithm. Pairwise entropy can be used as a distance measure in the unweighted arithmetic mean pairing method algorithm. A new state s may be created based on the cluster to shrink each of the k clusters. A heuristic solver may be used to create the new state s. An embedding algorithm may be applied to the problem with simplified input before obtaining samples from the quantum processor. The method may be iteratively repeated until an exit condition is satisfied. The exit condition may be a satisfactory quality metric for the population variable.

A hybrid computing system is described. The hybrid computing system includes a quantum processor and a classical processor. The classical processor is operable to: applying an algorithm to a problem with an input of n population variables; converting the input having n population variables into a simplified input having k population variables, wherein k ≦ n; obtaining samples S from the quantum processor based on the simplified inputr(ii) a And expanding these samples SrTo obtain a set of modified states for the problem. The algorithm may be a parallel tempering algorithm. The classical processor may divide the n population variables into k clusters and shrink each of the k clusters to produce a reduced input having k variables. May be relative to a low energy state S or based on a set of low energy states ScEach of the k clusters is punctured in a potentially non-deterministic manner. These samples S can be expandedrTo cancel the contraction, or may be dependent on the contraction, S, performedcThe correlation or mutual energy observed in (c), and the constraint of the energy function f or f on the variables within each cluster, extend these samples in a possibly non-deterministic process.The population variables in the cluster may be clamped relative to each other based on their values at the state s. The n population variables may be divided into k clusters using a low energy state subset. The values of all population variables in each cluster may be averaged relative to the subset of low energy states. The n population variables may be divided into k clusters by a non-weighted arithmetic mean group pairing algorithm. Pairwise entropy can be used as a distance measure in the unweighted arithmetic mean pairing method algorithm. The classical processor is operable to obtain a sample S from the quantum processor based on the simplified inputrPreviously, the problem with the simplified input was embedded by an embedding algorithm.

A method of operating a hybrid computing system is described. The hybrid computing system includes a quantum processor and a classical processor. The method comprises the following steps: generating, by the classical processor, a plurality of variable modification proposals for the problem with respect to the state s; formulating, by the classical processor, a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the plurality of variable modification proposals; and solving, by the quantum processor, the quadratic unconstrained binary optimization problem. The problem may be a quadratic constrained binary optimization problem or an integer quadratic programming problem. The method may generate a plurality of variable modification offers with respect to a random state s. The multiple variable modification problem may be such that no two proposals modify the same variable and no more than two proposals affect the terms of the cost function of the quadratic unconstrained binary optimization problem. The method may further comprise: modifying the state s by accepting a subset of the plurality of variable modification proposals specified by solving the quadratic unconstrained binary optimization problem; and iterating until an exit condition has been met: by the classical processor with respect to state sn-1Generating a plurality of variable modification offers; formulating, by the classical processor, a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the variable modification proposals; solving, by the quantum processor, the quadratic unconstrained binary optimization problem; and assigning the state s by accepting a subset of the proposals specified by solving the quadratic unconstrained binary optimization problemn-1Modified to state sn. The method may further include determining whether the exit condition has been met. The exit condition may be one of: number of iterations, and the state snA quality metric is satisfied.

A hybrid computing system is described. The hybrid computing system includes a classical processor and a quantum processor. The classical processor is operable to: generating a plurality of variable modification offers for the question relative to the state s; formulating a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the plurality of variable modification proposals; and causing the quantum processor to solve the quadratic unconstrained binary optimization problem. The problem may be one of: quadratic constraint binary optimization problem and integer quadratic programming problem. The state s may be a random state s. The classical processor may be operative to generate a plurality of variable modification proposals such that no two proposals modify the same variable and no more than two proposals affect a term of a cost function of the quadratic unconstrained binary optimization problem. The classical processor is further operable to: modifying the state s by accepting a subset of the plurality of variable modification proposals specified by solving the quadratic unconstrained binary optimization problem; and iterating until an exit condition has been met: relative to state sn-1Generating a plurality of variable modification offers; formulating a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the variable modification proposals; solving the quadratic unconstrained binary optimization problem for the quantum processor; and assigning the state s by accepting a subset of the proposals specified by solving the quadratic unconstrained binary optimization problemn-1Modified to state sn. The classical processor may further operate to determine whether the exit condition has been met. The classical processor may be operative to determine whether one of a set of exit conditions has been met including: number of iterations passed, and the state snA quality metric is satisfied.

Drawings

In the drawings, like reference numbers identify similar elements or acts. The dimensions and relative positioning of the elements in the figures are not necessarily to scale. For example, the shapes of various elements and angles are not necessarily drawn to scale, and some of these elements may be arbitrarily enlarged and positioned to improve drawing legibility. Further, the particular shapes of the elements as drawn, are not necessarily intended to convey any information regarding the actual shape of the particular elements, and may have been solely selected for ease of recognition in the drawings.

FIG. 1 is a schematic diagram of an example hybrid computing system including a quantum processor and a classical processor.

FIG. 2 is a flow diagram of an example method of operation in a hybrid computing system using cluster shrinking.

FIG. 3 is a flow diagram of an example method of iterative operations using cluster shrinking in a hybrid computing system.

FIG. 4 is a flow diagram of an example method of operation in a classical computer using cluster shrinking.

FIG. 5 is a flow diagram of an example method of iterative operations using cluster contraction in a classical computer.

FIG. 6 is a flow diagram of an example method of operation in a hybrid computing system using classical solver combining and cluster shrinking.

FIG. 7 is a flow diagram of an example method of iterative operations in a hybrid computing system using classical solver combining and cluster shrinking.

FIG. 8 is a flow diagram of an example method of operation in a classical computer using classical solver combining and cluster shrinking.

FIG. 9 is a flow diagram of an example method of iterative operations in a classical computer using classical solver combining and cluster contraction.

FIG. 10 is a flow diagram of an example method of operation in a hybrid computing system utilizing multiple constraint-based updates.

FIG. 11 is a flow diagram of an example method of iterative operations in a hybrid computing system utilizing multiple constraint-based updates.

FIG. 12 is a flow diagram of an example method of operation for computation simplification and embedding thereof in a hybrid computing system.

Detailed Description

In the following description, certain specific details are set forth in order to provide a thorough understanding of the various embodiments disclosed. One skilled in the relevant art will recognize, however, that the embodiments may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures associated with computer systems, server computers, and/or communication networks have not been shown or described in detail to avoid unnecessarily obscuring descriptions of the embodiments.

Unless the context requires otherwise, throughout the present specification and the appended claims, the word "comprising" is synonymous with "including" and is inclusive or open-ended (i.e., does not exclude additional, unrecited elements or method acts).

Throughout this specification, reference to "one implementation" or "an implementation" means that a particular feature, structure, or characteristic described in connection with the implementation is included in at least one implementation. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

Throughout this specification and the appended claims, the terms "sample", "sampling", "sample generator" are intended to have their corresponding meanings in the fields of statistics and electrical engineering. In statistics, a sample is a subset of a population, such as a single data, data point, object, or a subset of data, data point, or object. In electrical engineering, sampling refers to collecting multiple measurements of a physical system, such as analog signals. Throughout this specification and the appended claims, the terms "averaging", "averaging" and "averaged" are intended to have their corresponding meanings in the statistical and arithmetic fields, without being limited thereto. In the field of statistics, the mean may refer to, for example, the mean, median, and mode, while in the field of arithmetic, the mean may refer to the arithmetic mean.

The hybrid computing system may draw samples from the analog processor. The simulation processor may be configured to provide the samples from the statistical distribution, thereby becoming a sample generator. An example of a processor that may operate as a sample generator is a quantum processor designed to perform quantum annealing, where each sample corresponds to one state of the processor and the population corresponds to a set of states drawn from the processor.

As used in this specification and the appended claims, the singular forms "a", "an", and "the" include plural referents unless the context clearly dictates otherwise. It should also be noted that the term "or" is used generically to include "and/or" unless the context clearly dictates otherwise.

The headings and abstract of the disclosure provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.

Fig. 1 illustrates a hybrid computing system 100 that includes a classical computer 102 coupled to a quantum computer 104. The example classic computer 102 includes a digital processor (CPU)106 that may be used to perform classic digital processing tasks and is therefore referred to herein and in the claims as a classic processor.

Classic computer 102 may include at least one digital processor, such as a central processor unit 106 having one or more cores, at least one system memory 108, and at least one system bus 110 that couples various system components, including system memory 108, to central processor unit 106. The digital processor may be any logic processing unit, such as one or more central processing units ("CPUs"), graphics processing units ("GPUs"), digital signal processors ("DSPs"), application specific integrated circuits ("ASICs"), programmable gate arrays ("FPGAs"), Programmable Logic Controllers (PLCs), and the like.

Classic computer 102 may include a user input/output subsystem 112. In some embodiments, the user input/output subsystem includes one or more user input/output components, such as a display 114, a mouse 116, and/or a keyboard 118.

The system bus 110 may employ any known bus structure or architecture, including a memory bus with a memory controller, a peripheral bus, and a local bus. The system memory 108 may include: non-volatile memory such as read only memory ("ROM"), static random access memory ("SRAM"), flash NANO; and volatile memory, such as random access memory ("RAM") (not shown).

Classic computer 102 may also include other non-transitory computer-readable storage media or processor-readable storage media or non-volatile memory 120. Non-volatile memory 120 may take various forms, including: a hard disk drive for reading from and writing to a hard disk, an optical disk drive for reading from or writing to a removable optical disk, and/or a magnetic disk drive for reading from or writing to a magnetic disk. The optical disk may be a CD-ROM or DVD and the magnetic disk may be a magnetic floppy disk or floppy disk. Non-volatile memory 120 may be in communication with the digital processor via system bus 110 and may include a suitable interface or controller 122 coupled to system bus 110. Non-volatile memory 120 may serve as a long-term storage for processor-readable instructions or computer-readable instructions, data structures, or other data (also sometimes referred to as program modules) for classical computer 102.

Although the classic computer 102 has been described as employing a hard disk, optical and/or magnetic disk, those skilled in the relevant art will recognize that other types of non-volatile computer readable media can be employed, such as magnetic cassettes, flash memory cards, flash memory, ROM, smart cards, and the like. One skilled in the relevant art will recognize that some computer architectures employ both volatile and non-volatile memory. For example, data in volatile memory may be cached to non-volatile memory or a solid state disk that employs an integrated circuit to provide non-volatile memory.

Various processor-readable or computer-readable instructions, data structures, or other data may be stored in system memory 108. For example, the system memory 108 may store instructions for communicating with remote clients and scheduling the use of resources, including resources on the classical computer 102 and the quantum computer 104. For example, the system memory 108 may store processor-readable or computer-readable instructions, data structures, or other data that, when executed by a processor or computer, cause the processor(s) or computer(s) to perform one, more, or all of the acts of the methods 200 (fig. 2), 300 (fig. 3), 400 (fig. 4), 500 (fig. 5), 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), 1100 (fig. 11), and 1200 (fig. 12).

In some embodiments, the system memory 108 may store processor-readable or computer-readable computing instructions to perform pre-processing, co-processing, and post-processing on the quantum computer 104. The system memory 108 may store a set of quantum computer interface instructions to interact with the quantum computer 104.

Quantum computer 104 may include one or more quantum processors, such as quantum processor 124. The quantum computer 104 may be provided in an isolated environment, for example, an isolated environment that shields the internal components of the quantum computer from heat, magnetic fields, and other external noise (not shown). Quantum processor 124 includes programmable elements such as qubits, couplers, and other devices. In accordance with the present disclosure, quantum processors (such as quantum processor 124) may be designed to perform quantum annealing and/or adiabatic quantum computation. An example of a quantum processor is described in us patent 7,533,068.

Hybrid computing systems (e.g., hybrid computing system 100) may be used for problems that are difficult to map to or cannot accommodate to quantum processor topologies. An example of a problem that is difficult to map to a quantum processor, for example, due to insufficient connection of the quantum processor, is a problem with large dense inputs. Such problems can be solved by classical processors using algorithms such as parallel tempering or population-based methods (e.g., genetic algorithms). However, some algorithms that utilize cluster-moving parallel tempering, such as Houdayer, are powerful when applied to sparse inputs, but are not efficient at dense inputs. Current techniques do not perform cluster updates or perform a single flip at a time, and are therefore inefficient when clusters have a non-trivial relationship to each other (e.g., in the case of hard inputs).

Accordingly, there is a need for techniques to simplify inputs that are larger and/or more intensive than the topology of a quantum processor into inputs that are suitable for the quantum processor and that represent a hard global structure of the problem. The hybrid algorithm described in this disclosure employs classical resources (e.g., GPUs) to solve the local structure of the problem and quantum processors to solve the global and more rigid structure of the problem.

The approach used to reduce the problem size is to divide the input variables into clusters that can be shrunk, resulting in a simplified input problem that can be solved on a quantum processor. The variables are partitioned such that each variable is in only one cluster. Each cluster is then shrunk to reduce the original input for n variables (where n may be a very large number) to the input for k variables (where k is the number of clusters in the partition). The value of k may be selected based on the topology of the quantum processor, e.g., k may be the maximum variable number that fits the topology of the quantum processor. In at least one embodiment, the value of k may be equal to n.

Given a state s and the variable is divided into k clusters, there are 2 that flip or do not flip the k clusters with respect to skAnd (4) carrying out the following steps. Finding the subset to flip is equivalent to the Ising (Ising) minimization problem on the simplified inputs for the k variables and can be solved on the quantum processor. The quantum processor then generates a set of samples based on the simplified input, and the set of samples may be expanded based on s or according to other means including, but not limited to, those described in this document. This approach enables powerful multi-cluster moves to solve the global structure of the problem, which may be difficult to solve with purely classical approaches. For example, classical algorithms that divide variables into clusters (e.g., linkage tree genetic algorithms) only consider cluster-based basic updates (e.g., flipping a single cluster at a time) and do not consider all possible ways in which k clusters can be flipped.

FIG. 2 is a flow diagram of an example method 200 of operating a hybrid computing system using cluster shrinking. Method 200 is performed by a hybrid computing system (e.g., hybrid computing system 100) that includes a quantum processor and a non-quantum (or classical) processor.

Method 200 includes acts 201 through 208; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 200 begins at 201, for example, in response to calls from other routines.

At 202, the classical processor applies the algorithm to a problem with n population variables. The question may be received as part of a set of inputs at 201. In at least one embodiment, a parallel tempering algorithm is applied at 202. The algorithm may be applied for a predetermined time, for example for a time sufficient to generate states that may be used to divide the n population variables at 203.

At 203, the classical processor divides the n population variables into k clusters, where k < n, such that each variable is in only one cluster. In at least one embodiment, k ≦ n. In some embodiments, the n population variables are partitioned relative to the low energy state subset S resulting from running the algorithm at 202. For example, if the parallel tempering algorithm is applied at 202, the coldest random walk encountered state will have the lowest energy; these states will be selected to divide the n population variables. In at least one embodiment, the n population variables are divided into k clusters using an unweighted arithmetic mean pairing approach (UPGMA) algorithm. Pairwise mutual information is an example of a distance metric that may be used in UPGMA; however, other pairwise symmetry measures or scores may also be used. Alternatively, the n population variables are partitioned with respect to the low energy state of interest s.

At 204, the classical processor shrinks each of the k clusters, thereby reducing the number of population variables and yielding a simplified input to the problem of 202. In some embodiments, k ≦ n. In some embodiments, the classical processor shrinks each cluster by pinching all variables in the cluster against the value of state s, thus obtaining k variables that represent simplified inputs to the problem of 202. State s may be determined at 202 or may be created by a classical processor using a heuristic solver based on the clusters determined at 203. Alternatively, classical processors shrink each cluster based on a set of states instead of a single state s, for example by averaging within each cluster, by applying sampling heuristics to an energy function that is restricted to the cluster, or applying a non-deterministic algorithm that models the correlation or mutual information observed within the set of states.

At 205, the classical processor sends a question with a simplified input to the quantum processor. In some embodiments, an embedding algorithm (e.g., secondary embedding) is applied to the problem with the simplified input, thereby generating an embedding problem that can be sent to a quantum processor.

At 206, the quantum processor returns samples S according to the reduced inputr

At 207, the classical processor expands the samples SrTo obtain a new set of modified states for the original inputs of the n population variables. When state S is used to simplify input at 204, sample SrIs formed by turning over from SrThe state-determined cluster of (a) is extended with respect to(s). In some embodiments, sample SrBased on a set of low energy states. In these or other embodiments, the expansion may additionally take into account statistics observed within low energy states (such as mutual information or correlations), as well as energy functions.

At 208, method 200 terminates until, for example, called again.

FIG. 3 is a flow diagram of an example iterative method 300 of operating a hybrid computing system using cluster contraction. Method 300 is performed by a hybrid computing system (e.g., hybrid computing system 100) that includes a quantum processor and a non-quantum (or classical) processor.

Method 300 includes acts 301 through 310; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 300 begins at 301, for example, in response to calls from other routines.

At 302, the classical processor applies the algorithm to the problem with n population variables, as described above with reference to act 202 of method 200.

At 303, the classical processor divides the n population variables into k clusters, as described above with reference to act 203 of method 200.

At 304, the classical processor shrinks each of the k clusters, as described above with reference to act 204 of method 200.

At 305, the classical processor sends a question with a simplified input to the quantum processor.

At 306, the quantum processor returns samples S according to the reduced inputr

At 307, the classical processor expands the sample SrAs described above with reference to act 207 of method 200.

At 308, the classical processor integrates the modified state into the n population variables.

At 309, the classical processor checks whether an exit condition has been met. If the exit condition has been met, control passes to 310, otherwise to 302, where the algorithm is again applied to the problem. The exit condition may be a quality metric that determines whether a population variable is satisfied.

At 310, method 300 terminates until, for example, called again.

Classical computers can typically solve problems with larger input scales than quantum processors. However, for very large inputs, the time to obtain a solution from a classical computer may be too long. Therefore, there is a need to reduce the problem input size of classical computers. The method described above may be employed to operate a classic computer or a classic computing system comprising a plurality of classic computers. In addition, hybrid computing systems may employ the above-described methods via classical computers.

The approach used to reduce the problem size is to divide the input variables into clusters that can be shrunk, resulting in a simplified input problem that can be solved on a quantum processor. The variables are partitioned such that each variable is in only one cluster. Each cluster is then shrunk to reduce the original input for n variables (where n may be a very large number) to the input for k variables (where k is the number of clusters in the partition). In at least one embodiment, the value of k may be equal to n.

Given a state s and the variable is divided into k clusters, there are 2 that flip or do not flip the k clusters with respect to skAnd (4) carrying out the following steps. Finding the subset to flip is equivalent to the problem of imipramine minimization over a simplified input on k variables, and can be solved using a classical solver on a classical processor. The term classical solver or classical algorithm is used in this disclosure and the appended claims to refer to a solver or algorithm that uses only classical (i.e., non-quantum) computing resources. Examples of classical solvers that can be used are parallel tempering and simulated annealing. The classical processor then generates a set of samples based on the simplified input, and the set of samples can be expanded based on s. In other embodiments, the expansion may be based in part on an energy function and/or statistics observed throughout the problem solving process.

FIG. 4 is a flow diagram of an example method 400 for solving a computational problem using cluster contraction. Method 400 is performed by a classical computing system that includes at least one non-quantum (or classical) processor. Alternatively, the method 400 may be performed by a hybrid computing system (e.g., the hybrid computing system 100) using a classical processor. Method 400 includes acts 401 through 408; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 400 begins at 401, for example, in response to calls from other routines.

At 402, the classical processor applies an algorithm to a problem having n population variables. The question may be received as part of a set of inputs at 401. In at least one embodiment, a parallel tempering algorithm is applied at 402. The algorithm may be applied for a predetermined time, for example for a time sufficient to generate states that may be used to divide the n population variables at 403.

At 403, the classical processor divides the n population variables into k clusters, where k < n, such that each variable is in only one cluster. In at least one embodiment, k ≦ n. In some embodiments, the n population variables are partitioned relative to the low energy state subset S resulting from running the algorithm at 402. For example, if the parallel tempering algorithm is applied at 402, the coldest random walk encountered state will have the lowest energy; these states will be selected to divide the n population variables. In at least one embodiment, the n population variables are divided into k clusters using an unweighted arithmetic mean pairing approach (UPGMA) algorithm. Pairwise mutual information is an example of a distance metric that may be used in UPGMA; however, other pairwise symmetry measures or scores may also be used. Alternatively, the n population variables are partitioned with respect to the low energy state of interest s.

At 404, the classical processor shrinks each of the k clusters, thereby reducing the number of population variables and yielding a simplified input to the problem of 402. In at least one embodiment, k ≦ n. In some embodiments, the classical processor shrinks each cluster by pinching all variables in the cluster against the value of state s, thus obtaining k variables that represent simplified inputs to the problem of 402. State s may be determined at 402 or may be created by a classical processor using a heuristic solver based on the clusters determined at 403. Alternatively, the classical processor shrinks each cluster based on a set of states instead of a single state s, e.g. by averaging within each cluster. In these or other embodiments, the contraction may additionally take into account statistics observed within low energy states, as well as energy functions that are restricted to each cluster.

At 405, the classical processor applies the classical algorithm to a problem with simplified inputs. In some embodiments, a parallel tempering algorithm is applied. In at least one embodiment, a simulated annealing algorithm is applied.

After applying the classical algorithm at 405, the classical processor obtains a sample S from the simplified input at 406r

At 407, the classical processor expands the sample SrTo obtain a new set of modified states for the original inputs of the n population variables. When state S is used to simplify the input at 404, sample SrIs formed by turning over from SrThe state-determined cluster of (a) is extended with respect to(s). In some embodiments, sample SrBased on a set of low energy states. In these or other embodiments, the expansion may additionally take into account statistics observed within the set of low energy states, as well as energy functions.

At 408, the method 400 terminates until, for example, called again.

FIG. 5 is a flow diagram of an example iterative method 500 for solving a computational problem using cluster contraction. Method 500 is performed by a classical computing system that includes at least one non-quantum (or classical) processor. Alternatively, the method 500 may be performed by a hybrid computing system (e.g., the hybrid computing system 100) using a classical processor. Method 500 includes acts 501 through 510; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 500 begins at 501, for example, in response to calls from other routines.

At 502, the classical processor applies the algorithm to a problem having n population variables, as described above with reference to act 402 of method 400.

At 503, the classical processor divides the n population variables into k clusters, as described above with reference to act 403 of method 400.

At 404, the classical processor shrinks each of the k clusters, as described above with reference to act 404 of method 400.

At 505, the classical processor applies a classical algorithm to the problem with simplified input, as described above with reference to act 405 of method 400.

After applying the classical algorithm at 505, the classical processor obtains a sample S from the simplified input at 506r

At 507, the classical processor expands the sample SrAs described above with reference to act 407 of method 400.

At 508, the classical processor integrates the modified state into the n population variables.

At 509, the classical processor checks whether an exit condition has been met. If the exit condition has been met, control passes to 510, otherwise to 502, where the algorithm is again applied to the problem. The exit condition may be a quality metric that determines whether a population variable is satisfied.

At 510, method 500 terminates until, for example, called again.

Alternatively, the problem size may be reduced by: applying a combination of classical solvers to the problem for n variables and obtaining at least one sample or solution from each classical solver in the combination of classical solvers to obtain a problem for a simplified input of k variables, where k < n. In at least one embodiment, k ≦ n. The classical solvers may all run in parallel on different classical computers. A problem with the simplified input can then be solved using a classical solver on a classical processor to obtain a set of samples based on the simplified input. Alternatively, the reduced input may be solved on a quantum processor based on the reduced input. The set of samples may then be expanded to the original problem size.

FIG. 6 is a flow diagram of an example method 600 of operation in a hybrid computing system using a classical solver combination. Method 600 is performed by a hybrid computing system (e.g., hybrid computing system 100) that includes a quantum processor and a non-quantum (or classical) processor.

Method 600 includes acts 601 through 609; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 600 begins at 601, for example, in response to calls from other routines.

At 602, the classical processor applies a classical algorithm combination to a problem having n population variables. The question may be received at 601 as part of a set of inputs. In at least one embodiment, a combination of classical algorithms includes parallel tempering, simulated annealing, and branch-and-bound. The algorithm may be applied for a predetermined time, e.g., for a time sufficient to generate a time that may be used to shrink the sample cluster at 605.

At 603, the classical processor obtains at least one sample from each classical algorithm.

At 604, the classical processor divides the n population variables into k clusters based on the sample statistics.

At 605, the classical processor shrinks each of the k clusters, thereby reducing the number of population variables and yielding a simplified input to the problem of 602. In some embodiments, the classical processor shrinks each cluster by pinching all variables in the cluster against the value of state s, thus obtaining k variables representing simplified inputs to the problem of 602. The state s may be determined at 602 after running a combination of classical algorithms. Alternatively, the classical processor shrinks each cluster based on a set of states instead of a single state s, e.g. by averaging within each cluster. In these or other embodiments, the expansion may additionally consider statistics observed within low energy states, as well as an energy function that is limited to each cluster. In at least one embodiment, the value of k may be equal to n.

At 606, the classical processor sends the problem with the simplified input to the quantum processor. In some embodiments, an embedding algorithm (e.g., secondary embedding) is applied to the problem with the simplified input, thereby generating an embedding problem that can be sent to a quantum processor.

At 607, the quantum processor returns samples S according to the reduced inputr

At 608, the classical processor expands the samples SrTo obtain a new set of modified states for the original inputs of the n population variables. When state S is used to simplify input at 605, sample SrIs formed by turning over from SrThe state-determined cluster of (a) is extended with respect to(s). In some embodiments, sample SrBased on a set of low energy states. In these or other embodiments, the expansion may additionally take into account statistics observed within low energy states, as well as energy functions.

At 609, method 600 terminates until, for example, called again.

FIG. 7 is a flow diagram of an example iterative method 700 of operating a hybrid computing system using classical solver combinations. Method 700 is performed by a hybrid computing system (e.g., hybrid computing system 100) that includes a quantum processor and a non-quantum (or classical) processor.

Method 700 includes acts 701 through 711; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 700 begins at 701, for example, in response to calls from other routines.

At 702, the classical processor applies a classical algorithm combination to the problem with n population variables, as described above with reference to act 602 of method 600.

At 703, the classical processor obtains at least one sample from each classical algorithm, as described above with reference to act 603 of method 600.

At 704, the classical processor divides the n population variables into k clusters based on the sample statistics.

At 705, the classical processor shrinks each of the k clusters, as described above with reference to act 605 of method 600.

At 706, the classical processor sends the question with the simplified input to the quantum processor, as described above with reference to act 606 of method 600.

At 707, the quantum processor returns a sample S according to the reduced inputr

At 708, the classical processor expands the samples SrAs described above with reference to act 608 of method 600.

At 709, the classical processor integrates the modified state into the n group variables from the original problem of the action 702.

At 710, the classical processor checks whether an exit condition has been met. If the exit condition is satisfied, control passes to 711, otherwise to 702, where a classical algorithm combination is again applied to the problem. The exit condition may be a quality metric that determines whether a population variable is satisfied.

At 711, method 700 terminates until, for example, called again.

FIG. 8 is a flow diagram of an example method 800 for solving a computational problem using a classical solver combination. Method 800 is performed by a classical computing system that includes at least one non-quantum (or classical) processor. Alternatively, the method 800 may be performed by a hybrid computing system (e.g., the hybrid computing system 100) using a classical processor. Method 800 includes acts 801 through 809; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 800 begins at 801, for example, in response to calls from other routines.

At 802, a classical computing system applies a classical algorithm combination to a problem having n population variables. The question may be received at 801 as part of a set of inputs. In at least one embodiment, a combination of classical algorithms includes parallel tempering, simulated annealing, and branch-and-bound. The algorithm may be applied for a predetermined time, for example for a time sufficient to generate a time that may be used to shrink the sample cluster at 805. The classical solvers can be executed in parallel on separate classical processors.

At 803, the classical processor obtains at least one sample from each classical algorithm.

At 804, the classical processor divides the n population variables into k clusters based on the sample statistics.

At 805, the classical processor shrinks each of the k clusters, thereby reducing the number of population variables and yielding a simplified input to the problem of 802. In some embodiments, the classical processor shrinks each cluster by pinching all variables in the cluster against the value of state s, thus obtaining k variables that represent simplified inputs to the problem of 802. State s may be determined after running a classical algorithm combination at 802. Alternatively, the classical processor shrinks each cluster based on a set of states instead of a single state s, e.g. by averaging within each cluster. In these or other embodiments, the contraction may additionally take into account statistics observed within low energy states, as well as energy functions that are restricted to each cluster. In at least one embodiment, the value of k may be equal to n.

At 806, the classical processor applies the classical algorithm to the problem with the simplified input. In some embodiments, a parallel tempering algorithm is applied. In at least one embodiment, a simulated annealing algorithm is applied.

After applying the classical algorithm at 806, the classical processor obtains a sample S from the simplified input at 807r

At 808, the classical processor expands the sample SrTo obtain a new set of modified states for the original inputs of the n population variables. When state S is used at 805 to simplify input, sample SrIs formed by turning over from SrThe state-determined cluster of (a) is extended with respect to(s). In some embodiments, sample SrBased on a set of low energy states. In these or other embodiments, the expansion may additionally take into account statistics observed within low energy states, as well as energy functions.

At 809, method 800 terminates until, for example, called again.

FIG. 9 is a flow diagram of an example iterative method 900 for solving a computational problem using a combination of classical solvers. Method 900 is performed by a classical computing system that includes at least one non-quantum (or classical) processor. Alternatively, the method 900 may be performed by a hybrid computing system (e.g., the hybrid computing system 100) using a classical processor.

Method 900 includes acts 901 through 911; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

Method 900 begins at 901, for example, in response to calls from other routines.

At 902, the classical processor applies a classical algorithm combination to the problem with n population variables, as described above with reference to act 802 of method 800.

At 903, the classical processor obtains at least one sample from each classical algorithm, as described above with reference to act 803 of method 800.

At 904, the classical processor divides the n population variables into k clusters based on the sample statistics.

At 905, the classical processor shrinks each of the k clusters, as described above with reference to act 805 of method 800.

At 906, the classical processor applies the classical algorithm to the problem with the simplified input, as described above with reference to act 806 of method 800.

After applying the classical algorithm at 906, the classical processor obtains samples S from the simplified input at 907r

At 908, the classical processor expands the sample SrAs described above with reference to act 808 of method 800.

At 909, the classical processor integrates the modified state into the n population variables from the original problem of the action 902.

At 910, the classical processor checks whether an exit condition has been met. If the exit condition is satisfied, control passes to 911, otherwise to 902, where a classical algorithm combination is again applied to the problem. The exit condition may be a quality metric that determines whether a population variable is satisfied.

At 911, method 900 terminates until, for example, called again.

Certain classes of problems, such as Quadratic Constrained Binary Optimization (QCBO) problems, may not be directly solved by quantum processors that can operate as quantum annealers. The QCBO problem can be converted into a Quadratic Unconstrained Binary Optimization (QUBO) problem by adding a large penalty term; the quantum processor can then be programmed to provide a solution for QUBO. It is necessary to add penalty terms to the QCBO to ensure that any potential solution of the QUBO that does not satisfy the constraint will generate one or more penalty terms, thereby directing any ground state of the QUBO to satisfy the constraint.

However, adding a penalty term to the QUBO problem may make it more difficult to solve. In particular, analog devices such as quantum annealers require a high degree of operational precision, and the added penalty term greatly increases the precision required to solve the problem. Therefore, it may not be feasible to solve QUBO with added penalty terms on analog devices alone. Therefore, a hybrid approach is desired to solve QCBO that utilizes an analog processor such as a quantum annealer while respecting the added constraints.

The monte carlo algorithm proposes a variable roll-over and accepts the roll-over with a probability based on the energy change. The hybrid monte carlo algorithm generates a plurality of variable flips for which the hybrid monte carlo algorithm formulates a QUBO problem with energy corresponding to the energy variation resulting from the combination of the variable flip proposals. Each variable in the QUBO corresponds to a single variable roll-over acceptance or rejection. The QUBO can then be solved by the throughput processor, the resulting solution being the most likely acceptable combination of proposed variable inversions. The hybrid monte carlo algorithm may be applied to QCBO problems and other problems where the impact of accepting a subset of proposals may be modeled as QUBO. For example, the hybrid monte carlo algorithm may be applied to quadratic problems, mixed integer problems, or integer quadratic programming.

The hybrid monte carlo algorithm initially uses state s as a potential solution to the problem. The state s may be a random state. The hybrid monte carlo algorithm then generates a plurality of proposed modifications (e.g., variable flips) to the state s such that the plurality of proposals collectively obey both constraints. The first limitation is that no two proposals modify the same variable. The second constraint is that no more than two terms are proposed to affect the cost function, where the cost function (or energy/fitness function) is expressed as the sum of all terms. The hybrid monte carlo algorithm may generate a number k of proposals.

The hybrid Monte Carlo algorithm formulates a QUBO on k variables such that for a given binary string s of length kbThe energy of the QUBO of (1) corresponds to the energy of the original question with state s' in the state of the question by accepting a subset of k proposals (by s)bRepresentation) to modify s.

The QUBO can then be programmed into a quantum processor (e.g., a quantum annealer or any other QUBO solver) to provide a solution. The solution is a subset of the proposed modifications. Modifying the variables according to the solution results in the new state s' as a potential solution to the original problem.

The hybrid monte carlo algorithm may iteratively generate a new set of proposed modifications, formulate a QUBO based on the state resulting from the previous iterative modifications of the algorithm and solve the QUBO by the processor.

FIG. 10 is a flow diagram of an example method 1000 of operating a hybrid computing system with multiple constraint-based updates. Method 1000 is performed on a hybrid computing system (e.g., hybrid computing system 100 of fig. 1) that includes a quantum processor and a classical processor, and will be described with reference to hybrid computing system 100.

Method 1000 includes acts 1001 through 1007; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

Method 1000 begins at 1001, for example, in response to calls from other routines.

At 1002, the hybrid computing system 100 considers state s as a solution to the problem. The state s may be a random state or as part of a set of inputs.

At 1003, the hybrid computing system 100 determines whether a modification proposal satisfying both constraints can be generated with respect to state s. These limitations are: no two proposals modify the same variable and no more than two proposals affect the terms of the cost function. The first proposal always satisfies the restrictions, but the union of the current proposal with the previously generated proposals may not satisfy both restrictions. If such an offer can be generated, control passes to 1004, otherwise to 1005.

At 1004, the hybrid computing system 100 generates a modification proposal. The offer may be stored in a memory system for later use. Control passes to 1003 where the hybrid computing system 100 determines whether another proposal can be generated that complies with the restrictions.

At 1005, the hybrid computing system 100 formulates a QUBO for k variables (where k is the number of modification proposals) such that for a given binary string s of length kbThe energy of the QUBO of (1) corresponds to the energy of the original question with state s' in the state of the question by accepting a subset of k proposals (by s)bRepresentation) to modify s.

At 1006, the hybrid computing system 100 causes the quantum processor 124 to solve QUBO. The solutions from quantum processor 124 are a subset of the proposed modifications. Modifying the variables according to the solution results in the new state s' as a potential solution to the original problem.

At 1007, method 1000 terminates until, for example, called again.

FIG. 11 is a flow diagram of an example iterative operation method 1100 for operating a hybrid computing system with multiple constraint-based updates.

Method 1100 is performed on a hybrid computing system (e.g., hybrid computing system 100 of fig. 1) that includes a quantum processor and a classical processor, and will be described with reference to hybrid computing system 100.

Method 1100 includes acts 1101 to 1109; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

The method 1100 begins at 1101, for example, in response to calls from other routines.

At 1102, the hybrid computing system 100 considers state snAs a solution to the problem, as described above with reference to act 1002 of method 1000.

At 1103, the hybrid computing system 100 determines whether state s can be relatednA modification proposal satisfying both constraints is generated as described above with reference to act 1003 of method 1100.

At 1104, the hybrid computing system 100 generates a modification offer, as described above with reference to act 1004 of method 1000.

At 1105, the hybrid computing system 100 formulates a QUBO, as described above with reference to act 1005 of method 1000.

At 1106, hybrid computing system 100 causes quantum processor 124 to solve QUBO, as described above with reference to act 1006 of method 1000.

At 1107, hybrid computing system 100 transitions state snModified to state sn+1Wherein, state sn+1Is modifying the state s by accepting a subset of k proposals (represented by the solution of QUBO at act 1106)nAnd then produced.

At 1108, the hybrid computing system 100 determines whether an exit condition has been met. In at least one embodiment, the exit condition is that state s is satisfiedn+1A quality metric of (2). In another embodiment, the exit condition is a number of iterations of method 1100 are completed.

At 1109, the method 1100 terminates until, for example, called again.

Algorithms executing on a hybrid computing system (e.g., hybrid computing system 100) that includes quantum processors and classical processors may benefit from embedded algorithms to match the problem with the hardware of the quantum processors.

An example algorithm for embedding problems into the topology of a quantum processor is based on the following embedding criteria. Given a source graph S and a target graph T, which may represent, for example, the topology of a quantum processor, a mapping of ε is defined as the set of nodes from S to T such that:

1. for each v ∈ V (S), the induction subgraph T ∈ (v) ] is non-empty and connected, and

2. for all u, v ∈ V (S), if and only if u ≠ v, then

The set ε (v) is called a chain.

The second criterion can be relaxed by a pull-before-replace operation, as described below.

For the source node u e S,

1. setting epsilon (u): { }.

2. For each node q ∈ T, a penalty function W (u, q) is defined: is ═ i|v∈S:q∈ε(v))}|-an exponential function of the number of source nodes currently occupying q.

3. For each S-neighbor v of u, a node-weighted variant of the Dijkstra' S algorithm is performed to calculate the node distance D (v, q) and the parent node P (v, q), taking W (u, q) as the weight of q.

4. For each node q ∈ T, a root cost estimate r (q) is defined: ═ Σv~uD (v, q), wherein v-means that v is the S neighbor of u.

5. Selecting a node q that minimizes R (q)0And updates ε (u): q ═ q0}。

6. For each S neighbor v, construct a slave q0A path to ε (v) through a parent node;and adds this path (omitting p) to epsilon (u).

The above algorithm returns the embedding from the problem defined on the graph S to the embedding problem defined on the graph T, called overlap embedding. The above algorithm may also be used with heuristically improved overlap-embedding provided externally.

Given the Itanium problem, at the variable [ sigma ]1,…,n]In the above-mentioned manner,

wherein for all i, Ji,iA simplification is the relative distribution of these variables, which represents a restricted subspace of the problem of yixin. Simplification in case i ≠ j (σ)x≡±σy) A simplified Itanium problem with n-1 variables results, which can be computed by symbolic reduction of E. Those skilled in the art will appreciate that the problem of yixin can be converted to QUBO.

The systems and methods of the present disclosure describe algorithms that compute embeddings and simplifications in a feedback process to find an embeddable simplification that minimizes a penalty function. The penalty function may be provided by the user or by another method or algorithm.

FIG. 12 is a flow diagram of an example method 1200 of operation for computation simplification and embedding thereof in a hybrid computing system. Method 1200 is performed on a hybrid computing system (e.g., hybrid computing system 100 of fig. 1) that includes a quantum processor and a classical processor, and will be described with reference to hybrid computing system 100. Method 1200 may be used as part of methods 200 (fig. 2), 300 (fig. 3), 400 (fig. 4), 500 (fig. 5), 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), and 900 (fig. 9) to reduce the input scale of the problem and embed the problem into a quantum processor.

Method 1200 includes acts 1201 through 1211; however, those skilled in the art will appreciate that the number of acts is an example, and that in some implementations, some acts may be omitted, other acts may be added, and/or the order of acts may be changed.

Method 1200 begins at 1201, for example, in response to a call from another routine.

At 1202, the hybrid computing system 100 receives a simplification penalty generation function X. The simplification penalty generation function X assigns a penalty X (u, v) to each ordered S-node pair (u, v). The simplification penalty generation function X may be received as part of a set of inputs to the method 1200.

At 1203, the hybrid computing system 100 determines a new penalty function based on the simplified penalty generation function X of 1202

At 1204, the hybrid computing system 100 determines an overlap embedding ε of S to T according to a penalty function W' of 1203. The hybrid computing system 100 may use heuristic embedding to generate overlapping embedding.

At 1205, the hybrid computing system 100 determines whether the overlapping embedding epsilon determined at 1204 contains an overlapping chain. If ε contains overlapping chains, control passes to 1206, otherwise to 1211, where method 1200 terminates.

At 1206, the hybrid computing system 100 computes, for each T node q, a set of S nodes y (q) { v: q ∈ epsilon (v) }.

At 1207, the hybrid computing system 100 selects a clump of edges M from graph G, where G is defined for any q ifThen the graph with edge (u, v) and edge weight of 1(u, v). Hybrid computing system 100 may select clump M according to several techniques. In one embodiment, M may be a single set of elements containing a single edge that is randomly selected under a distribution according to edge weights. Alternatively, M may be the maximum weight match of G. In another embodiment, M may be a clump constructed by randomly (with probability based on edge weight) adding edges. In yet another embodiment, the edge weights will further increase by the size of ε (u) < E > ε (v), an induction map T [ ε (u) < E > U (v)]Or a more complex metric that predicts the performance of the combining chain.

At 12008, the hybrid computing system 100 determines a simplified yinxin problem. For each (a, b) ∈ M, the hybrid computing system 100 specifies (σ)a≡±σb) And simplifies b. The hybrid computing system 100 may select symbols according to a variety of techniques. In one implementationIn this way, where there is a corpus of historical samples available, a single sample is taken and the sign of each relationship is selected based on that sample. Alternatively, where there is a corpus of historical samples available, the notation ((σ) of each relationship is selected from the relationships seen in the corpusa≡σb) And (sigma)a≡-σb) The symbol is assigned according to the sample energy of each relation. In yet another embodiment, when the problem has been simplified, such as in successive iterations of method 1200, the hybrid computing system 100 collects a sample corpus from the secondary solver and determines the sign of each relationship according to one of the techniques described above. In at least one embodiment, the edges and signs are selected by selecting the maximum amplitude h in the Hamiltonian that simplifies the simons problemiAnd Ji,jThose edges and symbols that are minimized work in tandem. In these or other embodiments, the contraction may additionally take into account statistics observed within low energy states, as well as energy functions that are restricted to each cluster.

At 12009, the hybrid computing system 100 simplifies the penalty function. The hybrid computing system 100 may simplify X according to several techniques. In one embodiment, for each (a, b) of M, the hybrid computing system 100 sets X (a, X): (a, X) + X (b, X) and X (X, b): alternatively, when calculating X from the sample corpus, the hybrid computing system 100 filters the corpus according to the symbolic selection of 1208 and recalculates X on the simplified corpus.

At 1210, the hybrid computing system 100 simplifies embedding ε. The hybrid computing system 100 may simplify embedding epsilon according to several different techniques. In one embodiment, hybrid computing system 100 sets the following for each (a, b), ε (a): epsilon (a) and then embedding epsilon through a heuristic solver for the simplified exin problem of 1208. Alternatively, the hybrid computing system 100 determines a new embedding ε through a heuristic solver, which may be an overlap embedding in some cases.

At 12011, the method 1200 terminates until, for example, it is called again.

Illustrative example embodiments

The exemplary embodiments listed below provide examples of features and combinations of features of non-limiting exemplary embodiments of the present invention.

Example 1 is illustrated. A method of operating a hybrid computing system comprising a quantum processor and a classical processor, the method comprising:

applying, by the classical processor, an algorithm to the problem with an input of n population variables;

converting, by the classical processor, the input having n population variables into a simplified input having k population variables, wherein k ≦ n;

obtaining, by the quantum processor, a sample S from the simplified inputr(ii) a And

extending the samples S by the classical processorrTo obtain a set of modified states for the problem.

Example 2 is illustrated. The method of example embodiment 1, wherein applying, by the classical processor, the algorithm to the problem of the input having n population variables comprises: a parallel tempering algorithm is applied to the problem with inputs of n population variables by the classical processor.

Example 3 is illustrated. The method of example embodiments 1 or 2, wherein converting the input having n population variables into a simplified input having k population variables, where k ≦ n, comprises: the n population variables are divided into k clusters, and each of the k clusters is shrunk to produce a reduced input having k population variables.

Example 4 is illustrated. The method of example embodiment 3, wherein shrinking each of the k clusters to produce the reduced input having k population variables comprises: shrinking each of the k clusters relative to the low energy state s to produceGenerating a reduced input with k population variables and expanding the samples SrThe set of modified states to obtain the problem includes: expanding these samples S with respect to the low energy states SrTo obtain a set of modified states for the problem.

Example 5 is illustrated. The method of example embodiment 4, wherein shrinking each of the k clusters relative to the low energy state s comprises: the population variables are clamped relative to each other based on the values of all population variables in each cluster at that state s.

Example 6 is illustrated. The method of example embodiment 5, wherein shrinking each of the k clusters relative to the low energy state s comprises: a new state s is created based on the cluster.

Example 7 is illustrated. The method of example embodiment 3, wherein dividing the n population variables into k clusters comprises: the n population variables are divided into k clusters using a low energy state subset.

Example 8 is illustrated. The method of example embodiment 7, wherein puncturing each of the k clusters comprises: the values of all population variables in each cluster are averaged with respect to the subset of low energy states.

Example 9 is illustrated. The method of example embodiment 7 or 8, wherein dividing the n population variables into k clusters using the low energy state subsets comprises: the n population variables are divided into k clusters by a non-weighted arithmetic mean group pairing algorithm.

Example 10. The method of example embodiment 9, wherein dividing the n population variables into k clusters by a non-weighted arithmetic mean group pairing method algorithm comprises: the n population variables are divided into k clusters by an unweighted arithmetic mean pairing method algorithm using pairwise entropy as a distance measure.

Example 11. The method of example embodiment 6, wherein creating the new state s based on the cluster comprises: a new state s is created for each cluster using a heuristic solver.

Example 12. According to example embodiments 1 to11, wherein samples S are obtained by the quantum processor from the simplified inputrThe method comprises the following steps: obtaining samples S from the simplified input by the quantum processorrPreviously, an embedding algorithm was applied to the problem with the simplified input by the classical processor.

Example 13. The method of any of example embodiments 1-12, further comprising:

the iteration is repeated until an exit condition is satisfied:

applying an algorithm to the problem by the classical processor;

converting, by the classical processor, the input having n population variables into a simplified input having k population variables, wherein k ≦ n;

obtaining, by the quantum processor, a sample S from the simplified inputr

Extending the samples S by the classical processorrTo obtain a set of modified states for the problem; and

these modified states are integrated into the problem.

Example 14. The method of example embodiment 13, further comprising determining whether an exit condition has been met.

Example 15. The method of example embodiment 14, wherein determining whether an exit condition has been met comprises determining whether a quality metric for the population variables is met.

Example 16. A hybrid computing system comprising a quantum processor and a classical processor, the classical processor operable to:

applying an algorithm to a problem with an input of n population variables;

converting the input having n population variables into a simplified input having k population variables, wherein k ≦ n;

obtaining samples S from the quantum processor based on the simplified inputr(ii) a And

expanding these samples SrTo obtain a set of the problemThe state is modified.

Example 17. The system of example embodiment 16, wherein the algorithm is a parallel tempering algorithm.

Example 18. The system of example embodiment 16 or 17, wherein the classical processor is operable to divide the n population variables into k clusters and to shrink each of the k clusters to produce a reduced input having k variables.

Example 19. The system according to example embodiment 18, wherein each of the k clusters is shrunk relative to low energy state S and the samples S are expanded relative to low energy state Sr

Example 20. The system of example embodiment 19, wherein all population variables in each cluster are clamped relative to each other based on their values at the state s.

Example 21. The system of example embodiment 18, wherein the n population variables are divided into k clusters using a low energy state subset.

Example 22. The system of example embodiment 21, wherein the values of all population variables in each cluster are averaged with respect to the subset of low energy states.

Example 23. The system of example embodiment 21 or 22, wherein the n population variables are divided into k clusters by a non-weighted arithmetic mean group pairing method algorithm.

Example 24. The system of example embodiment 23, wherein the unweighted arithmetic mean pairing method algorithm uses pairwise entropy as the distance metric.

Example 25. The system of example embodiment 20, wherein the new state s is created based on the cluster.

Example 26. The system of example embodiment 25, wherein a heuristic solver is used to create a new state s for each cluster.

Example 27. The system according to any one of example embodiments 16 to 26, wherein the system is adapted to perform a method according to any one of example embodimentsThe classical processor is operable to obtain a sample S from the quantum processor based on the simplified inputrPreviously, the problem with the simplified input was embedded by an embedding algorithm.

Example 28. A method of operating a hybrid computing system comprising a quantum processor and a classical processor, the method comprising:

generating, by the classical processor, a plurality of variable modification proposals for the problem with respect to the state s;

formulating, by the classical processor, a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the plurality of variable modification proposals; and

solving, by the quantum processor, the quadratic unconstrained binary optimization problem.

Example 29. The method of example embodiment 28, wherein generating a plurality of variable modification offers for the issue comprises: generating a plurality of variable modification offers for a problem consisting of one of: quadratic constraint binary optimization problem and integer quadratic programming problem.

Example 30. The method according to example embodiment 28 or 29, wherein generating a plurality of variable modification offers with respect to state s comprises: a plurality of variable modification proposals for the problem are generated with respect to the random state s.

Example 31. The method according to any of example embodiments 28 to 30, wherein generating, by the classical processor, a plurality of variable modification proposals with respect to the state s comprises: a plurality of variable modification proposals are generated such that no two proposals modify the same variable and no more than two proposals affect terms of a cost function of the quadratic unconstrained binary optimization problem.

Example 32. The method according to any one of example embodiments 28-31, further comprising modifying the state s by accepting a subset of the plurality of variable modification proposals specified by solving the quadratic unconstrained binary optimization problem; and iterating until an exit condition has been met:

by the classical processor with respect to statesn-1Generating a plurality of variable modification offers;

formulating, by the classical processor, a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the variable modification proposals;

solving, by the quantum processor, the quadratic unconstrained binary optimization problem; and

the state s is assigned by accepting a subset of the proposals specified by solving the quadratic unconstrained binary optimization problemn-1Modified to state sn

Example 33. The method of example embodiment 32, further comprising determining whether the exit condition has been met.

Example 34. The method of example embodiment 33, wherein determining whether the exit condition has been met comprises: determining whether at least one condition from the group of: number of iterations, and the state snA quality metric is satisfied.

Example 35. A hybrid computing system comprising a classical processor and a quantum processor, the classical processor operable to:

generating a plurality of variable modification offers for the question relative to the state s;

formulating a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the plurality of variable modification proposals; and

the quantum processor is caused to solve the quadratic unconstrained binary optimization problem.

Example embodiment 36. The system according to example embodiment 35, wherein the issue is at least one of: quadratic constraint binary optimization problem and integer quadratic programming problem.

Example 37. The system of example embodiment 35 or 36, wherein the state s is a random state s.

Example 38. The system according to any of example embodiments 35 to 37, wherein the classical processor is operable to generate a plurality of variable modification proposals such that no two proposals modify the same variable and no more than two proposals affect a term of the cost function of the quadratic unconstrained binary optimization problem.

Example 39. The system according to any of example embodiments 35-38, wherein the classical processor is further operable to modify the state s by accepting a subset of the plurality of variable modification proposals specified by solving the quadratic unconstrained binary optimization problem; and iterating until an exit condition has been met:

relative to state sn-1Generating a plurality of variable modification offers;

formulating a quadratic unconstrained binary optimization problem corresponding to the energy variation of the subset that accepts the variable modification proposals;

solving the quadratic unconstrained binary optimization problem for the quantum processor; and

the state s is assigned by accepting a subset of the proposals specified by solving the quadratic unconstrained binary optimization problemn-1Modified to state sn

Example 40. The system of example embodiment 39, further comprising the classical processor operable to determine whether the exit condition has been met.

Example embodiment 41 the system of example embodiment 40, wherein the classical processor is operable to determine whether one of a set of exit conditions comprising: number of iterations passed, and the state snA quality metric is satisfied.

The method(s), process (es), or technique(s) described above may be implemented by a series of processor readable instructions stored on one or more non-transitory processor readable media. Some examples of the method(s), process (es), or technical method(s) described above are performed, in part, by a special-purpose device, such as an adiabatic quantum computer or quantum annealer, or a system (e.g., a computer including at least one digital processor) that programs or otherwise controls the operation of an adiabatic quantum computer or quantum annealer. The method(s), process (es), or technique(s) described above may include various acts, but those skilled in the art will appreciate that some acts may be omitted, and/or additional acts may be added, in alternative examples. Those of skill in the art will also appreciate that the illustrated sequence of acts is shown for example purposes only and may be varied in alternative examples. Some of the example acts or operations of the method(s), process (es), or technique(s) described above are performed iteratively. Some acts in the method(s), process (es), or technique(s) described above may be performed during each iteration, after multiple iterations, or at the end of all iterations.

The above description of illustrated embodiments, including what is described in the abstract, is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. As will be recognized by those of skill in the relevant art, while specific embodiments and examples are described herein for illustrative purposes, various equivalent modifications can be made without departing from the spirit and scope of the disclosure. The teachings of the various embodiments provided herein may be applied to other methods of quantum computing, not necessarily the example quantum computing methods generally described above.

The various embodiments described above can be combined to provide further embodiments. All commonly assigned U.S. patent application publications, U.S. patent applications, foreign patents, and foreign patent applications mentioned in this specification and/or listed in the application data sheet, are incorporated herein by reference, in their entirety, including but not limited to: U.S. Pat. No. 7,533,068

These and other changes can be made to the embodiments in light of the above detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.

37页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:信息处理装置、信息处理方法以及信息处理程序

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!