Method, system and program product for solving difficult variational quantum problems in quantum computing
Through the methods of adiabatic progress and intermediate re-optimization, the complexity of variational problems in quantum computing is gradually increased, and the problem of solving difficult variable component quantum problems is solved, achieving better convergence effect and accuracy.
Patent Information
- Application Number
- CN202080023864.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-30
- Filing Date
- 2020-04-06
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2040-04-06
AI Technical Summary
The prior art is difficult to effectively solve the solution of difficult variable component quantum problems in quantum computing, especially in the optimization process in high-dimensional non-convex space, converging to the solution becomes difficult.
The adiabatic progress method combined with intermediate re-optimization is used to perform quantum circuits by configuring hybrid classical quantum computing devices to gradually increase the complexity of the variational problem, and control the pace speed through rewind or competitive methods to ensure that the intermediate solution reaches the accuracy expected by the user.
The convergence prospects of chemical and optimization problems have been improved, and the difficult variable quantum problem can be solved with consistent accuracy that was impossible to achieve before, and is suitable for difficult optimization problems in quantum computing.
Smart Images

Figure CN113632107B_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to U.S. Provisional Application Serial No. 62831418, filed on April 9, 2019, entitled “Adiabatic Progression with Intermediate Re-Optimization to Solve Hard Variational Quantum Problems in Quantum Computing”, which is incorporated herein by reference in its entirety. This application also claims priority to U.S. Application No. 16 / 427043 and U.S. Application No. 16 / 427080. Technical Field
[0003] The present invention generally relates to methods, systems, and computer program products for operating a quantum computing data processing environment to solve certain types of problems. More specifically, the present invention relates to methods, systems, and computer program products for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing. Background Art
[0004] In the following, unless explicitly distinguished in usage, a "Q" prefix in a word of a phrase indicates that the word or phrase is referenced in the context of quantum computing.
[0005] Molecules and subatomic particles obey the laws of quantum mechanics, the branch of physics that explores how the physical world works at the most fundamental level. At this level, particles behave in strange ways, assume more than one state at the same time, and interact with other particles that are very far away. Quantum computing exploits these quantum phenomena to process information.
[0006] The computers we use today are called classical computers (also referred to herein as "conventional" computers or conventional nodes, or "CNs"). Conventional computers use conventional processors, semiconductor memories, and magnetic or solid-state storage devices made using semiconductor materials and techniques, in the so-called von Neumann architecture. Specifically, the processors in conventional computers are binary processors, i.e., they operate on binary data represented by 1s and 0s.
[0007] Quantum processors (q-processors) use the odd properties of entangled quantum bit devices (complexly referred to herein as "qubits", "qubits") to perform computational tasks. In the specific field where quantum mechanics operates, particles of matter can exist in multiple states, such as an "on" state, an "off" state, and both "on" and "off" states at the same time. Where binary computing using semiconductor processors is limited to using only on and off states (equivalent to 1 and 0 in binary code), quantum processors exploit these quantum states of matter to output signals that are useful in data computation.
[0008] Traditional computers encode information in bits. Each bit can take on a value of either 1 or 0. These 1s and 0s act as on / off switches that ultimately drive the computer's functions. Quantum computers, on the other hand, are based on qubits, which operate according to two key principles of quantum physics: superposition and entanglement. Superposition means that each qubit can represent both 1 and 0 at the same time. Entanglement means that qubits in superposition can be related to each other in a nonclassical way; that is, the state of one qubit (whether it is 1 or 0 or both) can depend on the state of another qubit, and there is more information that can be confirmed about the two qubits when they are entangled than when they are treated separately.
[0009] Using these two principles, qubits operate as more complex information processors, enabling quantum computers to function in a way that allows them to solve problems that are difficult to handle using conventional computers. IBM has successfully built and demonstrated the operability of a quantum processor using superconducting qubits (IBM is a registered trademark of International Business Machines Corporation in the United States and other countries.)
[0010] A superconducting qubit includes a Josephson junction. A Josephson junction is formed by separating two thin-film superconducting metal layers with a non-superconducting material. When the metal in the superconducting layer is made superconducting, for example by lowering the temperature of the metal to a specified cryogenic temperature, electron pairs can tunnel from one superconducting layer through the non-superconducting layer to the other superconducting layer. In a qubit, the Josephson junction (which acts as a dispersed nonlinear inductor) is electrically coupled in parallel with one or more capacitive devices to form a nonlinear microwave oscillator. The oscillator has a resonant / transition frequency determined by the values of the inductance and capacitance in the qubit. Unless explicitly distinguished when used, any reference to the term "qubit" is a reference to a superconducting qubit oscillator circuit that employs a Josephson junction.
[0011] The information processed by the qubit is carried or transmitted in the form of a microwave signal / photon in the microwave frequency range. The microwave frequency output by the qubit is determined by the resonant frequency of the qubit. The microwave signal is captured, processed and analyzed to decipher the quantum information encoded therein. The readout circuit is a circuit coupled to the qubit to capture, read and measure the quantum state of the qubit. The output of the readout circuit is information that can be used by the q-processor to perform calculations.
[0012] Superconducting qubits have two quantum states - |0> and |1>. These two states can be the two energy states of an atom, such as the ground state (|g>) and the first excited state (|e>) of a superconducting artificial atom (superconducting qubit). Other examples include spin-up and spin-down of a nuclear or electron spin, the two positions of a crystal defect, and the two states of a quantum dot. Because the system has a quantum nature, any combination of these two states is allowed and valid.
[0013] In order for quantum computations using qubits to be reliable, quantum circuits (e.g., the qubits themselves, readout circuits associated with the qubits, and other parts of the quantum processor) must not change the energy state of the qubits (such as by injecting or dissipating energy) or affect the relative phase between the |0> and |1> states of the qubits in any significant way. This operational constraint on any circuit that operates with quantum information necessitates special considerations in the fabrication of semiconductor and superconducting structures used in such circuits.
[0014] Quantum computing can often be used to solve problems faster than conventional computing. For example, one quantum algorithm is Grover's search, which implements searching through an unordered list of N items with fewer lookups than is possible in conventional computing.
[0015] Quantum gates are the basic building blocks for quantum computing, acting on qubits one and two at a time in the same way that classical logic gates act on bits, changing the qubit state in a controllable way. The X gate inverts the state of a single qubit, much like the NO gate inverts the state of a single bit in classical computing. The H gate, or Hadamard gate, places a single qubit in a superposition state, a combination of 0 and 1 quantum states. When measured, a qubit resolves to only a definite state. For example, when provided with an input having a quantum state of 0, within a Hadamard gate the quantum state is in superposition, but the output has a 50% probability of being in the quantum 0 state and a 50% probability of being in the quantum 1 state. Other single-qubit gates change the qubit state in other defined ways.
[0016] Multi-qubit gates implement gates that perform conditional logic between qubits, meaning that the state of one qubit depends on the state of another qubit. For example, a controlled NOT gate, or CNOT gate, has two qubits, a target qubit and a control qubit. If the control qubit is in a 1 quantum state, then the CNOT gate inverts the state of the target qubit. If the control qubit is in a 0 quantum state, then the CNOT gate does not change the state of the target qubit.
[0017] Multiple qubits can also be entangled. Two or more qubits are entangled when they behave in ways that are individually random but also too strongly correlated to be explained by assuming each object is independent of the other, despite being too far apart to influence each other. Thus, the combinatorial properties of an entangled multi-qubit system can be predicted, but the individual results of measuring each individual qubit in such a system cannot be predicted.
[0018] Similar to traditional computing, quantum computing gates can be assembled into larger groups (called quantum circuits) to perform more complex operations. For example, a SWAP gate that swaps the states of a pair of qubits can be constructed from three CNOT gates.
[0019] A quantum circuit may execute some operations in parallel, and some operations in series. The length of the longest series in a program is also called the depth of the quantum circuit. For example, three CNOT gates constituting a SWAP gate are arranged in series, giving a depth of 3. Programs with shallower depths take less execution time and provide better performance, and are therefore preferred.
[0020] Conventional computers do not have to be manually programmed with specified instruction steps, such as those provided in a processor-specific assembly language. Instead, programmers write hardware-independent code in a higher-level language, and a compiler translates the code into assembly language for execution on a specified processor. Similarly, in quantum computing, programmers do not have to specify individual gates. Instead, programmers can write higher-level code in a higher-level language. The compiler parses this code and maps it into a quantum circuit. Finally, the quantum processor executes the quantum circuit. Quantum programmers can also take advantage of already programmed libraries for solving problems in fields such as chemistry, artificial intelligence, and optimization.
[0021] There is a class of problems called variational problems, of which there are subclasses - hard variational problems and easy variational problems. Optimization problems are non-limiting examples of variational problems, which can be hard or easy depending on the dimensionality, number of nodes, desired level of accuracy, and other factors. Optimization problems are computational problems of determining the best or optimal solution to a different problem, where the different problem has several possible solutions.
[0022] For example, the different problem may be the well-known traveling salesman problem, in which a route must be determined between several cities so that the traveling salesman covers each city without modifying any city. This problem has many possible solutions - routes between cities. An optimization problem related to the traveling salesman problem is to find the shortest route (i.e., the best or optimal route) from among many possible routes, each of which satisfies the requirements of the traveling salesman problem.
[0023] Another example of this different problem is the maximum cut problem. In a graph, solving the maximum cut problem means subset S of the set of vertices such that the number of edges between S and the complementary subset (the subset of vertices not in S) is as large as possible.
[0024] Computing a dissociation curve is another non-limiting example of a variational problem that can be difficult or easy depending on the dimensionality, the level of accuracy desired, and other factors. A dissociation curve plots the energy cost of pulling atoms in a molecule apart on a graph. The x-axis of the graph is the distance between atoms, and the y-axis of the graph is the amount of energy.
[0025] Configuring a variational problem for execution on a computer so that the computer can compute an optimal solution in polynomial time is itself a difficult problem. Until recently, the only computing resources available for performing variational problems were conventional computers as described herein. Many variational problems are too difficult or too complex for conventional computers to compute in polynomial time with reasonable resources. Typically, an approximate solution that can be computed in a reasonable time with reasonable resources is accepted as a near-optimal solution in such cases.
[0026] The advent of quantum computing has presented advanced possibilities in many areas of computing, including the computation of variational problems. Because quantum computing systems can evaluate many solutions from a solution space at once, the illustrative embodiments recognize that such systems are particularly well suited for solving variational problems.
[0027] Variational quantum algorithms use classical optimizers to search high-dimensional non-convex parameter spaces to find quantum circuits that solve specific problems. Typically, optimization in high-dimensional non-convex spaces is very difficult, and as the (meaningful) number of dimensions increases, it becomes increasingly difficult to converge to a solution. For quantum variational problems, this means that it will be very difficult (if not impossible) to solve most problems that require optimization in high-dimensional non-convex spaces using current technology. Prior art chemical or combinatorial optimization problems may require thousands of variational parameters to converge reliably, while modern methods typically strive to converge with only dozens of such parameters. According to preferred embodiments, the system that is the subject of the present invention has allowed us to improve the convergence prospects of chemical and optimization problems, where convergence to the desired accuracy was previously impossible. Related topics include bootstrapping for improving dissociation curve convergence, gate-based quantum adiabatic methods, homotopy methods for convex optimization, and interior point methods for optimization. Summary of the invention
[0028] Illustrative embodiments provide a method, system, and computer program product. Embodiments include a method for adiabatic progression with intermediate reoptimization to solve a difficult variational quantum problem in quantum computing. Embodiments configure a hybrid classical quantum computing device to execute a quantum circuit corresponding to the variational problem. The configuration further includes causing the hybrid classical quantum computing device to execute the quantum circuit by performing an adiabatic progression operation, wherein the adiabatic progression operation includes increasing the difficulty of the variational problem from a simplified version of the problem to the variational problem.
[0029] Embodiments include a computer usable program product. The computer usable program product includes a computer readable storage device and program instructions stored on the storage device.
[0030] Embodiments include a computer system. The computer system includes a processor, a computer-readable memory and a computer-readable storage device, and program instructions stored on the storage device for execution by the processor via the memory.
[0031] According to one aspect, a computer-implemented method is provided, comprising: configuring a hybrid classical quantum computing device to execute a quantum circuit corresponding to a variational problem, wherein the configuring further comprises: causing the hybrid classical quantum computing device to execute the quantum circuit by performing an adiabatic progress operation; generating a first increase of a continuous parameter of an optimization problem corresponding to a parameterization of the variational problem, wherein a current state of the continuous parameter corresponds to a solvable state of the optimization problem; generating a set of variational parameters corresponding to the first increase, the set of variational parameters specifying a configuration of the quantum circuit; and in response to determining that an output of the quantum circuit differs from a known correct solution to the problem by less than or equal to a threshold amount, replacing the current state of the continuous parameter with the first increase.
[0032] According to another aspect, a computer usable program product is provided, the computer usable program product comprising one or more computer readable storage devices and program instructions stored on at least one of the one or more storage devices, the stored program instructions comprising: program instructions for configuring a hybrid classical quantum computing device to execute a quantum circuit corresponding to a variational problem, wherein the configuring further comprises: causing the hybrid classical quantum computing device to execute the quantum circuit by performing an adiabatic progress operation; generating a first increase of a continuous parameter of an optimization problem corresponding to a parameterization of the variational problem, wherein a current state of the continuous parameter corresponds to a solvable state of the optimization problem; generating a set of variational parameters corresponding to the first increase, the set of variational parameters specifying a configuration of the quantum circuit; and in response to determining that an output of the quantum circuit differs from a known correct solution to the problem by less than or equal to a threshold amount, replacing the current state of the continuous parameter with the first increase.
[0033] According to another aspect, a computer system is provided, the computer system comprising one or more processors, one or more computer-readable memories and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising: program instructions for configuring a hybrid classical quantum computing device to execute a quantum circuit corresponding to a variational problem, wherein the configuration further comprises: causing the hybrid classical quantum computing device to execute the quantum circuit by performing an adiabatic progress operation; generating a first increase of a continuous parameter of an optimization problem corresponding to a parameterization of the variational problem, wherein a current state of the continuous parameter corresponds to a solvable state of the optimization problem; generating a set of variational parameters corresponding to the first increase, the set of variational parameters specifying a configuration of the quantum circuit; and in response to determining that an output of the quantum circuit differs from a known correct solution to the problem by less than or equal to a threshold amount, replacing the current state of the continuous parameter with the first increase. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Preferred embodiments of the present invention will now be described by way of example only and with reference to the following drawings:
[0035] Figure 1 A block diagram depicting a network of data processing systems in which the illustrative embodiments may be implemented;
[0036] Figure 2 A block diagram of a data processing system is depicted in which illustrative embodiments may be implemented.
[0037] Figure 3 depicts a block diagram of an example configuration for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing in accordance with an illustrative embodiment;
[0038] Figure 4 depicts a block diagram of an example configuration for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing in accordance with an illustrative embodiment;
[0039] Figure 5 depicts an example of a difficult variational quantum problem suitable for solving using adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing in accordance with an illustrative embodiment;
[0040] Figure 6 depicts an example of solving a maximum cut problem using adiabatic progression with intermediate reoptimization in accordance with an illustrative embodiment;
[0041] Figure 7 depicts an example of calculating a dissociation curve using adiabatic progression with intermediate reoptimization in accordance with an illustrative embodiment;
[0042] Figure 8 depicts another example of calculating a dissociation curve using adiabatic progression with intermediate reoptimization in accordance with an illustrative embodiment;
[0043] Fig. 9 A flow chart depicting an example process for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing in accordance with an illustrative embodiment; and
[0044] Fig.10 Depicted is a flow diagram of another example process for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing in accordance with an illustrative embodiment. DETAILED DESCRIPTION
[0045] Computation of variational problems is a recognized area of endeavor. Quantum computing using processors formed of quantum qubits is another recognized area of endeavor. The current state of the art combining these two areas of endeavor has certain disadvantages and limitations. The operation and / or configuration of the illustrative embodiments impart additional or new capabilities to improve upon the prior art in these areas of endeavor, particularly in terms of adiabatic progress with intermediate re-optimization to solve difficult variational quantum problems in quantum computing.
[0046] The illustrative embodiments recognize that solving problems such as optimization problems in quantum computing typically requires converting the optimization problem along with its inputs into an Ising Hamiltonian, and then passing the Ising Hamiltonian to a variational quantum algorithm, such as the Variational Quantum Eigensolver (VQE) algorithm and the Quantum Approximate Optimization Algorithm (QAOA).
[0047] Ising (Z. Physik, 31, 253, 1925) introduced a model consisting of a lattice of "spin" variables si, which can only take the values +1 (↑) and -1 (↓). Each spin interacts with its nearest neighbors (2 in one dimension) and with the external magnetic field h. See the example one-dimensional Ising model, Figure 3 .
[0048] The Hamiltonian for the example Ising model is
[0049]
[0050] Sum <i, j> over the nearest neighbors (in one dimension j = i ± 1).
[0051] J is a constant that specifies the strength of the interaction. The terms "spin" and "magnetic field" in the Ising model originate from the spontaneous magnetization phenomenon in its initial application to ferromagnetic materials (such as iron). Each iron atom has an unpaired electron and therefore has a net spin (or magnetic moment). At low temperatures, the spins spontaneously align, resulting in a non-zero macroscopic magnetic moment. When the temperature exceeds the Curie temperature (which is 1043K for iron), the macroscopic magnetic moment disappears.
[0052] The Ising model can be applied to many other problems beyond magnetism, such as phase separation in binary alloys, crystal growth, and solving optimization problems. Higher-dimensional Ising models are often used to solve many problems.
[0053] The 2D Ising model is defined on a square lattice of N spins under periodic boundary conditions. Again, the Hamiltonian can be written as
[0054]
[0055] J describes the strength of the interaction, h is the external magnetic field, and the sum is over all <i, j> nearest neighbor pairs. Each spin has 4 nearest neighbors.
[0056] Optimization and other variational problems are computationally intensive tasks. A thorough analysis of the solution space of an optimization or other variational problem can easily take several years on a commercially available conventional computer. Therefore, the illustrative embodiments also recognize that using currently available methods, it is even more difficult to compute the optimal solution in a time-efficient manner using a quantum computer.
[0057] The illustrative embodiments solve difficult variational problems to a desired accuracy by starting with a simplified version of the problem, which can be solved to the user's accuracy, and then carefully increasing the complexity of the problem while solving each more complex problem along the way until the desired problem is finally solved. Increasing the complexity of the problem while solving each more complex problem along the way is also referred to as adiabatic progress in this article. As an example, in the case of a dissociation curve in chemistry, this can mean starting with an easy section of the dissociation curve and progressing the Hamiltonian toward the more difficult, more excited sections of the curve. As another example, in an optimization problem where the target system is represented as a graph, it can mean starting with only a few nodes or components to the problem, and then gradually increasing the number of singularities.
[0058] Crucially, the illustrative embodiments provide a method for controlling the pace at which the difficulty of a problem is progressed, which is the main challenge here (trying to solve a problem directly can be considered poor pacing—jumping from an easy problem to a hard problem in one step). If the pace of the steps is too aggressive, the starting point of the intermediate optimization may jump out of the pool of attraction (which includes the desired solution), making the optimizer less likely to find a solution, or causing it to take longer to converge.
[0059] The illustrative embodiments control the pace to ensure that the intermediate solutions reach the accuracy level desired by the user. Some example problems of the current technology and the improvements of the illustrative embodiments relative to the prior art are as follows. First, the method of the illustrative embodiment is used together with the following "rewind" method to complete the dissociation curve and maximum cut problems to an accuracy that was previously impossible by solving them via "bootstrapping" (in the form of extrapolation with a window depth equal to 1) or directly with a variational algorithm. Second, the improvement relative to using a classical homology or interior point method is that the embodiment can use a quantum solution - the wave function of the intermediate solution can hold many probabilities in an exponential manner compared to the size of the problem. Finally, in the near future, quantum hardware will be large enough so that we will not be able to verify the solution of the quantum algorithm in a classical manner, and the problem of increasing the reliability of our quantum computing is urgent.
[0060] The illustrative embodiments recognize that currently available tools or solutions do not address these needs or provide adequate solutions to these needs. The illustrative embodiments used to describe the present invention generally address and solve the above and other related problems by adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing.
[0061] Embodiments may be implemented as software applications. Applications implementing embodiments, or one or more components thereof, may be configured as modifications to existing quantum-classical hybrid data processing systems (i.e., native applications in a classical computing system that generate inputs for the quantum computing system), as applications executed in a classical data processing system that communicates with an existing quantum computing system over a network, as separate applications that otherwise operate in conjunction with an existing quantum-classical system, as stand-alone applications for execution on a classical system, or some combination thereof.
[0062] Embodiments configure a hybrid data processing environment that includes a classical computing environment and a quantum computing environment. According to an illustrative embodiment, the environment includes at least one traditional node (CN) and at least one quantum computing node (QCN) on which the embodiment can execute. Such a computing environment is hereinafter referred to as a quantum computing environment (QCE). The QCE may include one or more CNs in a suitable configuration (such as a cluster) to execute applications using traditional binary computing. The hybrid environment may, but need not, be implemented using a cloud computing architecture. In order to solve a given problem, the embodiment generates a quantum circuit in a classical computing environment that is executed using a quantum computing environment.
[0063] Embodiments work as follows: When a parameterized problem with a single continuous parameter z is provided, where the property is that the problem corresponding to z=0 is easy to solve, and the problem corresponding to z=1 (or higher, a user-specified z) is the target (potentially difficult) problem that the embodiment wants to solve. For example, if the problem to be solved is an optimization of a graph (such as a maximum cut), then the parameterized problem can control the number of edges in the graph, where when z=0 the graph has one edge (and the problem is easy to solve), and when z=1 the graph has all the edges in the original problem instance. In embodiments, a smooth progression from easy problems (z=0) to hard problems (z=1) is obtainable (this has been studied in detail in the field of homotopy optimization and interior point methods).
[0064] The embodiment starts with a known easy problem. The easy problem has a corresponding continuous parameter z. The continuous parameter z has a corresponding set of variational parameters. The set of variational parameters defines the configuration of a quantum circuit that can be used to solve the problem. Therefore, in order to increase the complexity of the problem, the embodiment increases the continuous parameter z by a certain amount, thereby changing the set of variational parameters accordingly. The changed set of variational parameters defines a new configuration of the quantum circuit, which can be used to try to solve a more complex problem.
[0065] Embodiments may follow one of many approaches, including one or both of the rewind embodiment and the competition embodiment, to perform the complexity increase. Each approach performs the complexity increase differently.
[0066] The rewind embodiment is suitable for use when a known correct solution to a problem can also be obtained by another means. The rewind embodiment starts with a continuous parameter z in a simple state and increases z to a target state (i.e., maximum z). The rewind embodiment generates a set of variational parameters corresponding to the new z. Then, the rewind embodiment uses a quantum circuit configuration defined by the set of variational parameters to attempt to solve the problem. The rewind embodiment compares the output of the quantum circuit with a known correct solution to the problem obtained by another means (such as by using some form of polynomial time verification of the solution, or by comparing with an exact classical solution). If the output of the quantum circuit is lower than a threshold difference from a known correct solution, the embodiment has solved the difficult problem and met the goal. On the contrary, if the output of the quantum circuit is higher than a threshold difference from a known correct solution, or the quantum circuit fails to complete execution and produce a solution within a predetermined time period, the rewind embodiment infers that the increase in z has been too large.
[0067] If the increase in z is already too large, then the embodiment rewinds to select a smaller increase in z from the starting point. In one embodiment, the smaller increase in z is half the size of the previous increase. In another embodiment, the smaller increase in z is 1 / 3. In another embodiment, the smaller increase is 1 / n times the size of the previous increase, where n is any positive integer greater than 1. In another embodiment, another suitable method may be used to select the smaller increase.
[0068] Once the rewinding embodiment has determined a small increase, the embodiment repeats the process of generating a set of variational parameters corresponding to the new set of variational parameters, and then attempting to solve the problem using the quantum circuit configuration defined by the new set of variational parameters. If the new z successfully solves the problem, the embodiment takes the new z as a starting point and attempts to increase z in the manner described herein.
[0069] If the new z does not successfully solve the problem, the rewinding embodiment selects an even smaller increase of z from the starting point. In one embodiment, the even smaller increase is 1 / n times the size of the previous increase, where n is any positive integer greater than 1. In another embodiment, another suitable method may be used to select the even smaller increase. Once the rewinding embodiment has determined the even smaller increase, the embodiment repeats the process of generating a set of variational parameters corresponding to the new z, and then attempting to solve the problem using the quantum circuit configuration defined by the new set of variational parameters.
[0070] The rewinding embodiment repeats the process until it reaches an increase in z from the starting point that does solve the problem. The embodiment makes the new z the starting point and attempts to increase z again in the manner described herein. Thus, the rewinding embodiment increases z as much as possible in each step until the embodiment generates the correct quantum circuit configuration with the target value of z.
[0071] Thus, if each increase is less than the previous increase, the operation of the rewinding embodiment can be understood as performing a search for the next point that is inside the pool of attraction while using the variational parameters of the predecessor (e.g., a binary search when each increase is half the previous increase). This search is limited by the possibility of infinite rewinding and never making progress, so in practice, the search should preferably choose not to see or use some points that are very close to the predecessor.
[0072] If no validation method is available, then a competitive embodiment is suitable for use. A competitive embodiment uses one or more pseudo validation methods to select one of several possible successor points. For example, in one competitive embodiment, the time difference when converging to the optimal point using a gradient-based optimizer when inside and outside the attraction pool is used as a pseudo condition on progress. This means that if an embodiment determines that points inside the attraction pool converge very quickly, and points outside the pool take 10 times longer, then an embodiment can make the execution of these points "compete" with each other to select the next point.
[0073] Thus, a competitive embodiment starts with a continuous parameter z in an easy state and generates a set of increases of z from the starting point. In one embodiment, each increase in the set of increases is a fixed distance from the previous increase, thereby dividing the range from the starting point to the target state into equal-sized segments. Another embodiment uses equal-sized segments, but only reaches intermediate states instead of the target state. Another embodiment uses unequal-sized segments selected based on known characteristics of the problem to be solved to maximize the chance of reaching a solvable state of the problem. For example, the increase may be smaller near one value of z and larger near another value of z. Another embodiment uses another suitable method for generating a set of increases.
[0074] For each new z in the set, the competing embodiment generates a set of variational parameters corresponding to each new z. The competing embodiment then attempts to solve the problem using the quantum circuit configuration defined by each set of variational parameters.
[0075] Each quantum circuit configuration executes in parallel. Because the execution times of the group of quantum circuits tend to cluster, the competition embodiment records the time when the first quantum circuit completes execution. Starting from this time, the embodiment waits for an additional time period for the other circuits in the group to complete execution. In one embodiment, the additional time period is the same as the time when the first circuit completes. In another embodiment, the additional time period is twice the time when the first circuit completes. In one embodiment, the additional time period is three times the time when the first circuit completes. Other embodiments can be configured to use an adjustable time period (such as five times or ten times the time when the first circuit completes) or an absolute time period (e.g., ten seconds or one minute).
[0076] The embodiment considers any circuit that completes execution within the additional time period as a potential solution to the problem. Because any circuits that are still executing at the end of the additional time period are not potential solutions to the problem, the embodiment stops execution of these circuits. The embodiment selects the maximum value of z for the circuits in the group that corresponds to the solution. The embodiment makes the new z the starting point and attempts to increase z again in the manner described herein. Thus, the competing embodiment increases z as much as possible in each step until the embodiment reaches the target value of z.
[0077] Another embodiment of the pseudo-validation method uses a comparison of the computed variational cost function of each candidate point with their respective extrapolated parameters.
[0078] When the embodiment reaches the target value of the continuous parameter z (having solved the hard problem), it terminates and returns the problem solution. If the embodiment fails to reach the target value of z, the embodiment returns the achievable value of z and the solution of the corresponding complexity level of the problem.
[0079] Embodiments described herein provide a method for solving chemistry, machine learning, and optimization problems using adiabatic progress without having to perform expensive dithering or Hamiltonian exponentiation steps that make QAOA or adiabatic simulations impractical for noisy intermediate scale quantum (NISQ) devices. Embodiments produce very square circuits that are optimally suited for NISQ devices. Embodiments control the exact pace at which the difficulty of a problem progresses.
[0080] In currently available methods in the field of endeavors involving quantum computing, and particularly in the field of endeavors involving operating a quantum data processing environment to solve hard variational problems, the approach described herein to adiabatic progress with intermediate reoptimization to solve hard variational quantum problems in quantum computing is not available. The methods of the embodiments described herein, when implemented to be executed on a device or data processing system, include substantial advances in the functionality of the device or data processing system in adiabatic progress with intermediate reoptimization to solve hard variational quantum problems in quantum computing.
[0081] Merely by way of example, the illustrative embodiments are described with respect to certain types of algorithms, libraries, codes, instructions, dimensions, data, devices, data processing systems, environments, components, and applications. Any particular representation of these and other similar products is not intended to limit the present invention. Any suitable representation of these and other similar products may be selected within the scope of the illustrative embodiments.
[0082] Furthermore, the illustrative embodiments may be implemented with respect to any type of data, data source, or access to a data source over a data network. Any type of data storage device may provide data to embodiments of the present invention locally at a data processing system or over a data network within the scope of the present invention. Where embodiments are described using a mobile device, any type of data storage device suitable for use with a mobile device may provide data to such embodiments locally at the mobile device or over a data network within the scope of the illustrative embodiments.
[0083] The illustrative embodiments are described only as examples using specific codes, designs, architectures, protocols, layouts, schematics, and tools, and are not limited to the illustrative embodiments. In addition, for the sake of clarity of description, the illustrative embodiments are described only as examples using specific software, tools, and data processing environments in some instances. The illustrative embodiments can be used in conjunction with other comparable or similarly used structures, systems, applications, or architectures. For example, within the scope of the present invention, other comparable mobile devices, structures, systems, applications, or their architectures can be used in conjunction with such embodiments of the present invention. The illustrative embodiments can be implemented in hardware, software, or a combination thereof.
[0084] The examples in this disclosure are only for clarity of description and are not limited to the illustrative embodiments. Additional data, operations, actions, tasks, activities, and manipulations can be imagined from this disclosure, and these additional data, operations, actions, tasks, activities, and manipulations are contemplated within the scope of the illustrative embodiments.
[0085] Any advantages listed here are examples only and are not intended to limit the illustrative embodiments. Additional or different advantages may be achieved by specific illustrative embodiments. In addition, specific illustrative embodiments may have some, all, or none of the advantages listed above.
[0086] With reference to the drawings and in particular with reference to Figure 1 and Figure 2 , these figures are exemplary diagrams of data processing environments in which illustrative embodiments may be implemented. Figure 1 and Figure 2 These are examples only and are not intended to assert or imply any limitation with regard to the environments in which different embodiments may be implemented. Specific embodiments may make numerous modifications to the depicted environments based on the following description.
[0087] Figure 1A block diagram of a network of data processing systems in which the illustrative embodiments may be implemented is depicted. Data processing environment 100 is a network of classical computers in which the illustrative embodiments may be implemented. Data processing environment 100 includes network 102. Network 102 is a medium for providing communication links between various devices and computers connected together within data processing environment 100. Network 102 may include connections such as wired, wireless communication links, or fiber optic cables.
[0088] Client or server are merely example roles for certain data processing systems connected to network 102 and are not intended to exclude other configurations or roles for these data processing systems. Server 104 and server 106 are classic data processing systems and are coupled to network 102 and storage unit 108. Software applications may be executed on any computer in data processing environment 100. Clients 110, 112, and 114 are also coupled to network 102. Data processing systems such as servers 104 or 106 or clients 110, 112, or 114 may contain data and may have software applications or software tools executed thereon.
[0089] This is for example purposes only and does not imply any limitation on such architecture. Figure 1 Certain components that may be used in an example implementation of an embodiment are depicted. For example, servers 104 and 106 and clients 110, 112, 114 are depicted as servers and clients only as examples, without implying a limitation on client-server architectures. As another example, an embodiment may be distributed across several data processing systems and data networks as shown, while another embodiment may be implemented on a single data processing system within the scope of the illustrative embodiments. Data processing systems 104, 106, 110, 112, and 114 also represent example nodes in a cluster, partitions, and other configurations suitable for implementing an embodiment.
[0090] Device 132 is an example of a device described herein. For example, device 132 may take the form of a smartphone, a tablet computer, a laptop computer, a fixed or portable form of client 110, a wearable computing device, or any other suitable device. Figure 1 Any software application executing in another data processing system in may be configured to execute in device 132 in a similar manner. Figure 1 Any data or information stored or generated in another data processing system in may be configured to be stored or generated in device 132 in a similar manner.
[0091] QCE 140 is an example of a QCE described herein. As an example, QCE 140 includes CN 104, 106 and many other similar CNs 142. As an example, CN 106 and 142 can be configured as a cluster 144 of CNs. QCE 140 further includes one or more QCNs, such as QCN 146. A QCN such as QCN 146 includes one or more q-processors 148. A currently feasible qubit is an example of a q-processor 148. Application 105 implements the embodiments described herein. Application 105 runs on a CN, such as server 104 in QCE 140. Application 105 stores operation libraries, circuits, and metadata in storage unit 108 or in any other suitable storage device.
[0092] QCE 140 may be coupled to network 102 using a wired connection, a wireless communication protocol, or other suitable data connection. Clients 110, 112, and 114 may be, for example, personal computers or network computers. Network 102 may represent a collection of networks and gateways that communicate with each other using Transmission Control Protocol / Internet Protocol (TCP / IP) and other protocols. Figure 1 This is intended as an example, not as an architectural limitation for the different illustrative embodiments.
[0093] The data processing environment 100 may also take the form of a cloud and employ a cloud computing model of service delivery to enable convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly provisioned and released with minimal management effort or interaction with a service provider.
[0094] refer to Figure 2 , which depicts a block diagram of a data processing system in which the illustrative embodiments may be implemented. Data processing system 200 is an example of a computer, such as Figure 1 Servers 104 and 106 or clients 110, 112, and 114, or another type of device, in which computer usable program code or instructions implementing the processes may be located for use in the illustrative embodiments.
[0095] Data processing system 200 also represents a data processing system or configuration thereof, such as Figure 1 The data processing system 132 in which the computer usable program code or instructions implementing the processes of the illustrative embodiments may be located. The data processing system 200 is described as a computer only by way of example and is not limited thereto. Other devices (such as Figure 1Implementations in the form of device 132 in the present invention may modify data processing system 200 (such as by adding a touch interface) and even eliminate certain depicted components from data processing system 200 without departing from the general description of the operation and functionality of data processing system 200 described herein.
[0096] In the depicted example, data processing system 200 employs a hub architecture including north bridge and memory controller hub (NB / MCH) 202 and south bridge and input / output (I / O) controller hub (SB / ICH) 204. Processing unit 206, main memory 208, and graphics processor 210 are coupled to north bridge and memory controller hub (NB / MCH) 202. Processing unit 206 may include one or more processors and may be implemented using one or more heterogeneous processor systems. Processing unit 206 may be a multi-core processor. In some implementations, graphics processor 210 may be coupled to NB / MCH 202 via an accelerated graphics port (AGP).
[0097] In the depicted example, a local area network (LAN) adapter 212 is coupled to the south bridge and I / O controller hub (SB / ICH) 204. An audio adapter 216, a keyboard and mouse adapter 220, a modem 222, a read-only memory (ROM) 224, a universal serial bus (USB) and other ports 232, and a PCI / PCIe device 234 are coupled to the south bridge and I / O controller hub 204 via bus 238. A hard disk drive (HDD) or solid state drive (SSD) 226 and a CD-ROM 230 are coupled to the south bridge and I / O controller hub 204 via bus 240. The PCI / PCIe devices 234 may include, for example, Ethernet adapters, add-in cards, and PC cards for notebook computers. PCI uses a card bus controller, while PCIe does not. ROM 224 may be, for example, a flash binary input / output system (BIOS). Hard disk drive 226 and CD-ROM 230 may use, for example, an integrated drive electronics (IDE), a serial advanced technology attachment (SATA) interface, or variations such as external SATA (eSATA) and micro SATA (mSATA). Super I / O (SIO) device 236 may be coupled to south bridge and I / O controller hub (SB / ICH) 204 via bus 238.
[0098] Memories such as main memory 208, ROM 224, or flash memory (not shown) are some examples of computer usable storage devices. Hard disk drive or solid state drive 226, CD-ROM 230, and other similarly available devices are some examples of computer usable storage devices, which include computer usable storage media.
[0099] An operating system runs on processing unit 206. The operating system coordinates Figure 2 The various components within the data processing system 200 and the Figure 2 The operating system may be a commercially available operating system for any type of computing platform, including but not limited to server systems, personal computers, and mobile devices. Object-oriented or other types of programming systems may operate in conjunction with the operating system and provide calls to the operating system from programs or applications executing on data processing system 200.
[0100] for operating systems, object-oriented programming systems, and application programs or programs such as Figure 1 Instructions for the application 105 in the application program 105 are located on a storage device, such as in the form of code 226A on hard drive 226, and may be loaded into at least one of one or more memories, such as main memory 208, for execution by processing unit 206. The processes of the illustrative embodiments may be performed by processing unit 206 using computer-implemented instructions, which may be located in a memory, such as, for example, main memory 208, read-only memory 224, or one or more peripheral devices.
[0101] Furthermore, in one case, code 226A may be downloaded from remote system 201B via network 201A, where similar code 201C is stored on storage device 201D. In another case, code 226A may be downloaded to remote system 201B via network 201A, where downloaded code 201C is stored on storage device 201D.
[0102] Figure 1-Figure 2 The hardware in may vary depending on the implementation. Figure 1-Figure 2 In addition to or in lieu of the hardware depicted Figure 1-Figure 2 In addition to the hardware depicted in the drawings, other internal hardware or peripheral devices may be used, such as flash memory, equivalent non-volatile memory, or optical disk drives, etc. In addition, the processes of the illustrative embodiments may be applied to a multi-processor data processing system.
[0103] In some illustrative examples, data processing system 200 may be a personal digital assistant (PDA), which is typically configured with flash memory to provide non-volatile memory for storing operating system files and / or user-generated data. The bus system may include one or more buses, such as a system bus, an I / O bus, and a PCI bus. Of course, the bus system may be implemented using any type of communication structure or architecture that provides data transfer between different components or devices attached to the structure or architecture.
[0104] The communications unit may include one or more devices for sending and receiving data, such as a modem or a network adapter. A memory may be, for example, main memory 208 or a cache, such as found in north bridge and memory controller hub 202. A processing unit may include one or more processors or CPUs.
[0105] Figure 1-Figure 2 The examples depicted in and above-described are not meant to imply architectural limitations. For example, data processing system 200 may be a tablet computer, laptop computer, or telephone device in addition to taking the form of a mobile or wearable device.
[0106] Where a computer or data processing system is depicted as a virtual machine, virtual appliance, or virtual component, the virtual machine, virtual appliance, or virtual component uses virtualized representations of some or all of the components depicted in data processing system 200 to operate in the manner of data processing system 200. For example, in the virtual machine, virtual appliance, or virtual component, processing unit 206 is represented as a virtualized instance of all or some number of hardware processing units 206 available in a host data processing system, main memory 208 is represented as a virtualized instance of all or some portion of main memory 208 that may be available in the host data processing system, and disk 226 is represented as a virtualized instance of all or some portion of disk 226 that may be available in the host data processing system. The host data processing system in this case is represented by data processing system 200.
[0107] refer to Figure 3 , which depicts a block diagram of an example configuration for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing, according to an illustrative embodiment. Cloud 300 is Figure 1 An example of a QCE 140 in FIG. 310 is a Figure 1 An example of a CCN 104 in FIG. 320 is Figure 1 An example of a QCN 146 in FIG. 312 is Figure 1 An example of application 105 in Figure 1 Server 104 or Figure 1 The invention may be performed in any other suitable device in the invention.
[0108] Within the classical computing environment 310, application 312 receives as input a parameterized problem with a single continuous parameter z. Application 312 generates quantum circuits corresponding to various values of z.
[0109] Then, within quantum computing environment 320, quantum processor 340, including qubits 344 and readout circuitry 346, executes the quantum circuit. Quantum computing environment 320 also includes quantum processor support module 330, which outputs the result of executing the quantum circuit as a solution to the original input problem description.
[0110] refer to Figure 4 , which depicts a block diagram of an example configuration for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing, in accordance with an illustrative embodiment. Application 312 is associated with Figure 3 The same as application 312 in .
[0111] Application 312 receives as input a known easy problem. The easy problem has a corresponding continuous parameter z. Application 312 also receives as input a target value of z, which represents the desired complexity of the problem to be solved.
[0112] Step generator 410 generates one or more increases of the continuous parameter z. When implementing the rewind embodiment, module 410 starts with the continuous parameter z in a simple state and increases z to the target state (i.e., maximum z). If the increase in z proves to be too large, module 410 selects a smaller increase in z from the starting point. If the new z successfully solves the problem, module 410 makes the new z the starting point and increases z again to the target state or another intermediate state between the new starting point or target state. Module 410 continues to increase z as much as possible in each step until application 312 generates the correct quantum circuit configuration with the target value of z.
[0113] When implementing a competitive embodiment, module 410 starts with a continuous parameter z in an easy state and generates an increasing set of z from the starting point. Once a set of corresponding quantum circuits completes execution, module 410 selects the maximum value of z corresponding to the circuit in the set of solutions. Module 410 makes the new z the starting point and generates a new increasing set of z. Module 410 continues to increase z as much as possible in each step until application 312 generates the correct quantum circuit configuration with the target value of z.
[0114] Parameter set generator 420 generates a set of variational parameters corresponding to each increase in z generated by step generator 410. The set of variational parameters defines a configuration of a quantum circuit that can be used to solve the problem.
[0115] The problem solver interface module 430 takes as input a quantum circuit configuration defined by a set of variational parameters. The module 430 passes the quantum circuit configuration to the quantum computing environment 320 for execution, and receives execution results back from the quantum computing environment 320. The module 430 also monitors the execution time and completion time of the quantum circuit configuration.
[0116] The solution verifier interface module 440 compares the output of the quantum circuit to a known correct solution to the problem obtained by another means (such as by using some form of polynomial-time verification of the solution, or by comparison with an exact classical solution).
[0117] refer to Figure 5 , which depicts an example of a difficult variational quantum problem suitable for solving using adiabatic progression with intermediate reoptimization to solve difficult variational quantum problems in quantum computing in accordance with an illustrative embodiment.
[0118] Graph 510 depicts a dissociation curve for a fluorine molecule. Each fluorine molecule is composed of two fluorine atoms. The x-axis of graph 510 is the distance between the two atoms, and the y-axis of graph 510 is the amount of energy. Thus, graph 510 plots the amount of energy required to pull two atoms apart when the atoms are at a specific distance from each other. Calculating each point in the dissociation curve is a variational problem of a specific complexity.
[0119] Graph 520 corresponds to graph 510, and depicts two error measurements compared to the classical calculation associated with graph 510 calculated using conventional methods: total spin and total energy. Specifically, region 530 indicates that the error of the calculated point on the dissociation curve suddenly increases to the area above the baseline. Therefore, the point on the x-axis on the left side of region 530 of the dissociation curve corresponds to an easier problem to be solved. The point on the x-axis on the right side of region 530 of the dissociation curve corresponds to a relatively difficult problem to be solved. The point on the x-axis in region 530 of the dissociation curve corresponds to the most difficult problem to be solved. If the problem of calculating the dissociation curve is parameterized as a variational problem, the point on the x-axis on the left side of region 530 has a low z value, the point on the right side of region 530 has a medium-scale z value, and the point in region 530 has a high z value, where the z value is on a common scale (e.g., 0-1). The dissociation curve of fluorine is a non-limiting example. Many other dissociation curves have similar characteristics, and solving the points on such curves presents a similar amount of comparative computational complexity.
[0120] refer to Figure 6 , which depicts an example of solving a maximum cut problem using adiabatic progression with intermediate reoptimization in accordance with an illustrative embodiment. Figure 3 The application 312 in solves this problem in the manner described herein.
[0121] As depicted, each iteration represents the location of a value of z, which is a continuous parameter from 0 to 1 that parameterizes an optimization problem (such as maximum cut) on a graph. When z=0, the graph has one edge (and the problem is easy to solve), and when z=1, the graph has all the edges in the original problem instance.
[0122] In iteration 600, the application 312 using the backtracking method performs step 0, starting with the continuous parameter z(0) in the simple state, and increasing z to the target state (i.e., maximum z or 1). The application then attempts to solve the problem using the quantum circuit configuration defined by the set of variational parameters. The application compares the output of the quantum circuit to a known correct solution to the problem obtained by another means, and determines that the step 0 error is 5.16*10 -7 , is above a predefined threshold difference from the known correct solution. Therefore, the application infers that the step 0 that increases z from 0 to 1 is too large.
[0123] In iteration 610, the application performs step 1, selecting a smaller increase in z from the starting point—here, the smaller increase is half the size of the previous increase, or 0.5. The application then attempts to solve the problem using the quantum circuit configuration defined by the set of variational parameters. The application compares the output of the quantum circuit to a known correct solution to the problem obtained by another means, and determines that the step 1 error is 3.42*10 -8 , is still above a predefined threshold difference from the known correct solution. Therefore, the application infers that the step 1 that increases z from 0 to 0.5 is also too large.
[0124] In iteration 620, the application performs step 2, selecting an even smaller increase in z from the starting point—here, the even smaller increase is half the size of the previous increase, or 0.25. The application then attempts to solve the problem using the quantum circuit configuration defined by the set of variational parameters. This time, the step 2 error is 4.56*10 -9 , is lower than a predefined threshold difference from the known correct solution.
[0125] Therefore, in iteration 630, the application executes step 3, increases z from 0.25 to 0.5, and obtains the result of the corresponding quantum circuit configuration. This time, the error in step 3 is 3.59*10 -9 , is still below a predefined threshold difference from the known correct solution.
[0126] Therefore, in iteration 640, the application executes step 4, increases z from 0.5 to 1, and obtains the result of the corresponding quantum circuit configuration. This time, the error in step 4 is 2.23*10 -9 , which is also below a predefined threshold difference from the known correct solution. Because the error is below the threshold difference and z = 1, the goal state of the problem has been solved.
[0127] Figure 6The increases depicted in do not depict additional steps that the application could have performed to reach the target state. The application could have performed additional steps, fewer steps, or increases of different sizes without departing from the scope of the illustrative embodiments.
[0128] refer to Figure 7 , which depicts an example of calculating a dissociation curve using adiabatic progression with intermediate reoptimization in accordance with an illustrative embodiment. Points on the curve can be calculated using Figure 3 The application 312 in is solved in the manner described herein.
[0129] Graph 700 depicts points on a dissociation curve obtained using application 312. The x-axis of graph 700 represents interatomic distances measured in angstroms, and the y-axis depicts dissociation energy. Graph 700 also depicts an idealized dissociation curve 710 obtained using another method.
[0130] Region 720 depicts a portion of the x-axis known to have higher complexity, which is parameterized by high z values (eg, close to 1 on a 0-1 scale). Therefore, the application begins solving for points on the curve further to the left on the x-axis.
[0131] Specifically, the application starts with the already solved point 730. In step 740, the application using the back-step method increases z to try to solve for a point with a higher x-value than the x-value of point 730. However, the application's initial solution is above the threshold difference from a point on curve 710 having the same x-value.
[0132] Thus, in step 750, the application generates a smaller increase in z than the increase in z of step 740. The smaller increase results in a solution that is below the threshold difference from a point on curve 710 having the same x value.
[0133] Therefore, the z value of step 750 becomes the new starting point. In step 760, the application again increases z to the same level as attempted in step 740. Step 750 also results in a solution that is below the threshold difference from a point on curve 710 having the same x value. The application continues in the manner described herein until all desired points on the dissociation curve have been solved.
[0134] refer to Figure 8 , which depicts another example of calculating a dissociation curve using adiabatic progression with intermediate reoptimization in accordance with an illustrative embodiment. The points on the curve can be represented using Figure 3 The application 312 in the embodiment described herein is solved. The graph 700, the curve 710 and the point 730 are Figure 7 Graph 700, curve 710 and point 730 in are the same.
[0135] The application begins with point 730, which has been solved. The application using the competitive method generates an increasing set of z to attempt to solve a point with an x value higher than the x value of point 730. The application generates quantum circuits corresponding to the increasing set of z and waits for a predetermined time period for the quantum circuits to complete execution. At the end of the time period, all quantum circuits corresponding to region 840 have completed execution. Quantum circuits corresponding to points further to the right along the x-axis (e.g., points 860 and 870) have not yet completed execution. Because point 850 represents the highest increase in z from point 730 corresponding to the circuit within region 840, the application selects the z value corresponding to point 850 as a new starting point and repeats the process. The application continues in the manner described herein until all desired points on the dissociation curve have been solved.
[0136] refer to Fig. 9 , which depicts a flow chart of an example process for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing, according to an illustrative embodiment. Process 900 may be performed at Figure 3 or Figure 4 , and illustrates the operation of the rewind method described herein.
[0137] In box 902, the application generates an increase of a continuous parameter of a parameterized optimization problem, where the current state in the continuous parameter corresponds to a solvable state of the problem. In box 904, the application generates a set of variational parameters corresponding to the increase. In box 906, the application solves the problem using a quantum circuit configuration specified by the set of variational parameters. In box 908, the application checks whether the solution to the problem is greater than a threshold value that is different from a known correct solution to the problem. If not (the "no" path of box 908), then in box 910, the application generates another increase of the continuous parameter of the problem that is less than the previous increase, and then returns to box 904. Otherwise (the "yes" path of box 908), in box 912, the application checks whether the continuous parameter z is in a target state. If so, the application ends. Otherwise (the "no" path of box 912), the application returns to box 902.
[0138] refer to Fig.10 , which depicts a flow chart of another example process for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing, according to an illustrative embodiment. Process 1000 may be performed at Figure 3 or Figure 4 The embodiment is implemented in the application 312 in FIG. 1 and illustrates the operation of the competitive method described herein.
[0139] In box 1002, the application generates sets of different sizes of increases of continuous parameters of a parameterized optimization problem, where the current state in the continuous parameters corresponds to a solvable state of the problem. In box 1004, the application generates a set of variational parameters corresponding to each increase. In box 1006, the application solves the problem using the quantum circuit configuration specified by each set of variational parameters. In box 1008, the application waits for a predetermined time period after one of the quantum circuits completes execution. In box 1010, the application selects the quantum circuit corresponding to the largest increase in the continuous parameter that also completes execution within the time period, and replaces the current value of z with the largest increase. In box 1012, the application checks whether the continuous parameter z is in the target state. If so, the application ends. Otherwise (the "no" path of box 1012), the application returns to box 1002.
[0140] Thus, in illustrative embodiments, computer-implemented methods, systems or apparatus, and computer program products for adiabatic progress with intermediate reoptimization to solve difficult variational quantum problems in quantum computing and other related features, functions or operations are provided. Where embodiments or portions thereof are described with respect to one type of device, the computer-implemented methods, systems or apparatus, computer program products or portions thereof are adapted or configured for use with appropriate and comparable representations of that type of device.
[0141] Where embodiments are described as being implemented in an application, delivery of the application in a Software as a Service (SaaS) model is contemplated within the scope of the illustrative embodiments. In the SaaS model, the ability to implement the application of the embodiments is provided to the user by executing the application in a cloud infrastructure. The user can access the application using a variety of client devices through a thin client interface such as a web browser (e.g., web-based email) or other lightweight client applications. The user does not manage or control the underlying cloud infrastructure including the network, servers, operating system, or storage of the cloud infrastructure. In some cases, the user may not even manage or control the capabilities of the SaaS application. In some other cases, the SaaS implementation of the application may allow limited possible exceptions to user-specific application configuration settings.
[0142] The present invention may be a system, method and / or computer program product of any possible integrated technical detail level. The computer program product may include (one or more) computer-readable storage media having computer-readable program instructions thereon, the computer-readable program instructions being used to cause a processor to perform aspects of the present invention.
[0143] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device (such as a punched card or a raised structure in a groove with instructions recorded thereon) and any suitable combination of the foregoing. A computer-readable storage medium (including but not limited to a computer-readable storage device as used herein) cannot be understood as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., a light pulse through an optical fiber cable), or an electrical signal transmitted through a wire.
[0144] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the corresponding computing / processing device.
[0145] The computer-readable program instructions for performing the operation of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, dependent machine instructions, microcode, firmware instructions, state setting data, configuration data of an integrated circuit, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages (such as Smalltalk, C++, etc.) and procedural programming languages (such as "C" programming languages or similar programming languages). The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network (including a local area network (LAN) or a wide area network (WAN)), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, an electronic circuit (including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA)) may execute computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit, so as to perform aspects of the present invention.
[0146] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each frame of the flowchart illustration and / or block diagram and the combination of frames in the flowchart illustration and / or block diagram can be implemented by computer-readable program instructions.
[0147] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions, when executed via the processor of the computer or other programmable data processing device, create a means for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing device, and / or other equipment to function in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0148] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operating steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0149] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention.To this end, each frame in the flow chart or block diagram can represent the part of a module, segment or instruction, which includes one or more executable instructions for realizing the specified (one or more) logical functions.In some alternative embodiments, the function marked in the frame may not occur in the order marked in the figure.For example, depending on the function involved, the two frames shown in succession can actually be performed substantially at the same time, or these frames can sometimes be performed in the opposite order.It will also be noted that each frame in the block diagram and / or the flow chart diagram, and the combination of the frames in the block diagram and / or the flow chart diagram can be implemented by a system based on special-purpose hardware, and the system based on special-purpose hardware performs the specified function or action or performs a combination of special-purpose hardware and computer instructions.
[0150] Embodiments of the present invention may also be delivered as part of a service engagement with a client company, non-profit organization, government entity, internal organizational structure, etc. Aspects of these embodiments may include configuring a computer system to execute and deploy software, hardware, and web services that implement some or all of the methods described herein. Aspects of these embodiments may also include analyzing the operation of the client, creating recommendations in response to the analysis, building a system that implements the recommended portion, integrating the system into existing processing and infrastructure, metering the use of the system, allocating fees to users of the system, and accounting for the use of the system. Although each of the above-mentioned embodiments of the present invention has been described by stating its respective advantages separately, the present invention is not limited to its specific combination. On the contrary, according to the intended deployment of the present invention, these embodiments may also be combined in any manner and quantity without losing their beneficial effects.
Claims
1. A computer-implemented method comprising: generating a first increase from a current state of a continuous parameter of a parameterized optimization problem, wherein the current state of the continuous parameter corresponds to a first difficulty level of the parameterized optimization problem; generating a set of variational parameters corresponding to the first increase, the set of variational parameters specifying a first configuration of the quantum circuit; causing a hybrid classical quantum computing device to execute the first configuration of the quantum circuit, the execution of the first configuration of the quantum circuit producing a first output; as well as In response to determining that a sum of the current state of the continuous parameter and the first increase in the continuous parameter is less than or equal to a target state of the continuous parameter, causing the hybrid classical quantum computing device to perform a second configuration of the quantum circuit specified by a second set of variational parameters generated according to a second increase in the continuous parameter from the current state of the continuous parameter, wherein the target state of the continuous parameter corresponds to a second difficulty level of the parameterized optimization problem that is higher than the first difficulty level.
2. The computer-implemented method of claim 1, wherein: The hybrid classical quantum computing device includes a noisy intermediate-scale quantum (NISQ) device.
3. The computer-implemented method of claim 2, wherein: The first configuration of the quantum circuit comprises: A square quantum circuit suitable for implementation on a NISQ device.
4. The computer-implemented method of claim 1 , further comprising: A pace at which a difficulty level of the parameterized optimization problem is progressed is controlled in accordance with the first increased value of the continuous parameter.
5. The computer-implemented method of claim 4, wherein: The first increase comprises a difference between the target state of the continuous parameter and the current state of the continuous parameter.
6. The computer-implemented method of claim 4, wherein: The first increase comprises a difference between the target state of the continuous parameter and the current state of the continuous parameter, the difference then being divided by n, where n is a positive integer.
7. The computer-implemented method of claim 4, further comprising: determining that the first output of the quantum circuit differs by more than a threshold amount from a known correct solution to the parameterized optimization problem, the known correct solution to the parameterized optimization problem being obtained using a classical computing device; as well as The second increase of the continuous parameter from the current state of the continuous parameter is generated, wherein the second increase is less than the first increase.
8. The computer-implemented method of claim 7, wherein: The second increase is 1 / n times the first increase, where n is a positive integer.
9. A computer usable program product comprising one or more computer readable storage devices and program instructions stored on at least one of the one or more computer readable storage devices, wherein the stored program instructions include: program instructions for generating a first increase from a current state of a continuous parameter of a parameterized optimization problem, wherein the current state of the continuous parameter corresponds to a first difficulty level of the parameterized optimization problem; program instructions for generating a set of variational parameters corresponding to the first increase, the set of variational parameters specifying a first configuration of a quantum circuit; program instructions for causing a hybrid classical quantum computing device to execute the first configuration of the quantum circuit, execution of the first configuration of the quantum circuit producing a first output; as well as Program instructions for causing the hybrid classical quantum computing device to execute a second configuration of the quantum circuit in response to determining that a sum of the current state of the continuous parameter and the first increase in the continuous parameter is less than or equal to a target state of the continuous parameter, the second configuration of the quantum circuit being specified by a second set of variational parameters generated as a function of a second increase in the continuous parameter from the current state of the continuous parameter, wherein the target state of the continuous parameter corresponds to a second difficulty level of the parameterized optimization problem that is higher than the first difficulty level.
10. The computer usable program product of claim 9, wherein: The hybrid classical quantum computing device includes a noisy intermediate-scale quantum (NISQ) device.
11. The computer usable program product of claim 10, wherein: The first configuration of the quantum circuit comprises: A square quantum circuit suitable for implementation on a NISQ device.
12. The computer usable program product of claim 9, further comprising: Program instructions for controlling a pace at which a difficulty level of the parameterized optimization problem is progressed based on the first increased value of the continuous parameter.
13. The computer usable program product of claim 12, in, The first increase comprises a difference between the target state of the continuous parameter and the current state of the continuous parameter.
14. The computer usable program product of claim 12, in, The first increase comprises a difference between the target state of the continuous parameter and the current state of the continuous parameter, the difference then being divided by n, where n is a positive integer.
15. The computer usable program product of claim 12, further comprising: program instructions for determining that the first output of the quantum circuit differs by more than a threshold amount from a known correct solution to the parameterized optimization problem, the known correct solution to the parameterized optimization problem being obtained using a classical computing device; as well as Program instructions for generating the second increase of the continuous parameter from the current state of the continuous parameter, wherein the second increase is less than the first increase.
16. The computer usable program product of claim 15, wherein: The second increase is 1 / n times the first increase, where n is a positive integer.
17. The computer usable program product of claim 9, wherein: The computer usable code is stored in a computer readable storage device in the data processing system and wherein the computer usable code is transmitted over a network from a remote data processing system.
18. The computer usable program product of claim 9, wherein: The computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system, the computer usable program product further comprising: program instructions for metering usage of computer usable code associated with the request; and Program instructions for generating bills based on metered usage.
19. A computer system comprising one or more processors, one or more computer-readable memories and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more computer-readable storage devices for execution by at least one of the one or more processors via at least one of the one or more computer-readable memories, the stored program instructions comprising: program instructions for generating a first increase from a current state of a continuous parameter of a parameterized optimization problem, wherein the current state of the continuous parameter corresponds to a first difficulty level of the optimization problem; program instructions for generating a set of variational parameters corresponding to the first increase, the set of variational parameters specifying a first configuration of a quantum circuit; program instructions for causing a hybrid classical quantum computing device to execute the first configuration of the quantum circuit, execution of the first configuration of the quantum circuit producing a first output; as well as Program instructions for causing the hybrid classical quantum computing device to execute a second configuration of the quantum circuit in response to determining that a sum of the current state of the continuous parameter and the first increase in the continuous parameter is less than or equal to a target state of the continuous parameter, the second configuration of the quantum circuit being specified by a second set of variational parameters generated as a function of a second increase in the continuous parameter from the current state of the continuous parameter, wherein the target state of the continuous parameter corresponds to a second difficulty level of the parameterized optimization problem that is higher than the first difficulty level.
20. The computer system of claim 19, wherein: The hybrid classical quantum computing device includes a noisy intermediate-scale quantum (NISQ) device.
21. The computer system of claim 20, wherein: The first configuration of the quantum circuit comprises: A square quantum circuit suitable for implementation on a NISQ device.
22. The computer system of claim 19, further comprising: Program instructions for controlling a pace at which a difficulty level of the parameterized optimization problem is progressed based on the first increased value of the continuous parameter.
23. The computer system of claim 22, wherein: The first increase comprises a difference between the target state of the continuous parameter and the current state of the continuous parameter.
24. The computer system of claim 22, wherein: The first increase comprises a difference between the target state of the continuous parameter and the current state of the continuous parameter, the difference then being divided by n, where n is a positive integer.
25. The computer system of claim 22, further comprising: program instructions for, in response to determining that the first output of the quantum circuit differs by more than a threshold amount from a known correct solution to the parameterized optimization problem, the known correct solution to the parameterized optimization problem being obtained using a classical computing device; as well as Program instructions for generating the second increase of the continuous parameter from the current state of the continuous parameter, wherein the second increase is less than the first increase.
26. A computer program product comprising program code means adapted to perform the method as claimed in any one of claims 1 to 8 when run on a computer.
Citation Information
Patent Citations
Methods and systems for quantum ready and quantum enabled computations
CN109564639A
Simulating quantum systems with quantum computation
US20180096085A1