Using random control of quantum computers

By combining quantum computing and classical computing, quantum computing circuits are used to represent the quantum state of the random control problem, the problem of excessive consumption of computing resources in the prior art is solved, and faster and more efficient target value determination is achieved.

CN112740240BActive Publication Date: 2025-04-29INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980061970.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-09-24
Filing Date
2019-09-11
Publication Date
2025-04-29
Estimated Expiration
2039-09-11

AI Technical Summary

Technical Problem

When solving the random control problem, the prior art faces the problems of excessive computing resource consumption and inefficiency due to dimension complexity.

Method used

By combining quantum computing technology, quantum states representing random control problems are prepared using quantum computing circuits, and parameters of quantum computing circuits are determined through classical computing devices to achieve faster target value determination and less computing resource usage.

Benefits of technology

This method can determine the target value of the random control problem more quickly and uses fewer computing resources than the prior art, providing a more efficient solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112740240B_ABST
    Figure CN112740240B_ABST
Patent Text Reader

Abstract

Techniques for facilitating the use of quantum computing circuits in conjunction with stochastic control problems are provided. In one embodiment, a system is provided that includes a quantum computing circuit for preparing a quantum state representing a stochastic control problem. The system may further include a classical computing device for determining a plurality of parameters for the quantum computing circuit.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The present disclosure relates to quantum computing devices, and more specifically to combining quantum computing techniques with stochastic control problems. Stochastic control problems are a subset of control theory (e.g., controlling a continuously operating dynamic system) that generally attempts to account for uncertainty in observations or uncertainty in the noise that drives the evolution of an associated system. In a stochastic control problem, random noise with a known probability distribution can affect the evolution and observation of state variables of the stochastic control problem. In a stochastic control problem, the goal can be to design a time path of a controlled variable so as to perform an associated control task at minimum cost. Markov decision problems are then typically discrete-time stochastic control problems.

[0002] Stochastic control problems and Markov decision problems can be used to model different processes that occur in areas such as supply chain management, finance, or control of energy systems. In such problems, the system starts in an initial state (e.g., with inventory levels and open purchase orders), then makes a decision (e.g., places a purchase order), and observes some uncertainty (e.g., new customer demand). In each time period, known transition laws can be applied to the periodic uncertainty of the state, decision, and observation to determine the state in the next time period. The method can be repeated for a finite or infinite range. In some examples, in each cycle, the instantaneous cost (or reward) can be observed based on the state and decision. The overall goal can be to find a strategy that determines the decision for each state and time period so that the average / total / discounted cost (or reward) is minimized (or maximized). In some examples, such problems cannot be solved to optimality due to the complexity of the dimensions (i.e., the exponential growth of the state and action space with their dimensions).

[0003] More formally, such a problem can be described as follows. Let x t is the state at cycle t, where the initial state x is given 0 . Let u t is the decision at time period t (selected by a certain strategy). Let w t is the uncertainty at time t (following a given probability distribution or a random process). Then, the transition law can be expressed as x t +1 = f t (x t ,u t , w t ), with an immediate cost: c t (x t ,u t ). Then, the objective function can be expressed as to calculate the total cost over a finite time horizon. Possible objective functions may include cost / reward; finite / infinite horizon; and average, total, or discounted. The goal may be to find a policy π that minimizes (or maximizes) the total / average / discounted cost (or reward) t (x t )=u t .

[0004] Classical computational methods have been employed to solve this type of problem. However, there are several problems with using classical computational methods to solve stochastic control problems, some of which are well known.

[0005] For example, exact classical solutions (e.g., value iteration, policy iteration, or linear programming) scale exponentially in the problem dimension, i.e., they suffer from dimensional complexity. As a result, they are only applicable to small problem instances. Then, in cases where approximate techniques are used instead of exact classical solutions, these approximate techniques typically scale only slightly better than exact techniques, or they require extensive customization (e.g., choice of basis functions) that reduces their applicability. Summary of the invention

[0006] The following presents an overview to provide a basic understanding of one or more embodiments of the invention. This overview is not intended to identify key or important elements, or to delineate any scope of a particular embodiment or any scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to a more detailed description that is presented later. In one or more embodiments described herein, a combination of quantum computing techniques and stochastic control is described.

[0007] According to one embodiment, a system is provided. In one example, the system includes a quantum computing circuit that prepares a quantum state representing a stochastic control problem. In one or more implementations, the system may further include a classical computing device that determines multiple parameters for the quantum computing circuit. The advantage of the system is that it can be used to determine the target value of the stochastic control problem more quickly and use fewer computing resources at the same time compared to the prior art. In one or more implementations, the strategy scenario tree corresponding to the stochastic control problem has a first size, and the number of qubits of the quantum computing circuit has a second size, which is logarithmically smaller than the first size. This has the advantage that the stochastic control problem can be represented by a smaller amount of computing resources than a strategy scenario tree represented by classical computing techniques.

[0008] In another embodiment, a method is provided. In one example, the method includes preparing a quantum state representing a stochastic control problem by a quantum computing circuit of a computing system. In one or more examples, the method may further include determining a plurality of parameters for the quantum computing circuit by a classical computing device of the computing system. The advantage of this method is that it can be used to determine a target value of a stochastic control problem more quickly and at the same time use fewer computing resources than the prior art. In one or more implementations, the quantum computing circuit includes a first group of qubits and a second group of qubits, wherein the first group of qubits is associated with a first time, wherein the second group of qubits is associated with a second time, the first time being earlier than the second time, and the method may further include entangling the first group of qubits with the second group of qubits by the quantum computing circuit. One advantage of this implementation is that entangled qubits enable the expression of higher correlations than are possible in a corresponding classical system.

[0009] In another embodiment, a computer program product is provided, the computer program product comprising a computer-readable storage medium having program instructions contained therein. These program instructions are used by a computer system comprising a quantum computing circuit and a classical computing device to cause the computer system to prepare a quantum state representing a random control problem by the quantum computing circuit. These program instructions executable by the computer system can further cause the system to determine multiple parameters for the quantum computing circuit through the classical computing device. This has the advantage that it can be used to determine the target value of the random control problem more quickly and at the same time use fewer computing resources than the prior art. In one or more implementations, the program instructions executable by the computer system can further cause the system to apply an initial uncontrolled Y rotation with a known angle through the quantum computing circuit. One advantage of applying this rotation is that it enables the quantum computing circuit to be initialized with parameters corresponding to the random control problem.

[0010] In another embodiment, a system is provided. In one example, the system includes a quantum computing circuit that prepares a quantum state representing a stochastic control problem, the quantum state corresponding to a first number of qubits, and the stochastic control problem corresponds to a strategy scenario tree having a first size, wherein the first number of qubits is logarithmically smaller than the first size. An advantage of the system is that it can be used to determine a target value of the stochastic control problem more quickly and while using fewer computing resources than the prior art. In one or more implementations, the system of quantum computing circuits uses amplitude estimation or Monte Carlo simulation to determine the target value of the stochastic control problem. An advantage of the method is that it provides an efficient way to determine the target value of the stochastic control problem.

[0011] In another embodiment, a method is provided. In one example, the method includes preparing a quantum state representing a stochastic control problem by a quantum computing circuit of a computing system, the quantum state corresponding to a first number of qubits, the stochastic control problem corresponding to a strategy scenario tree having a first size, wherein the first number of qubits is logarithmically smaller than the first size. In one or more instances, the method may further include determining a plurality of parameters for the quantum computing circuit by a classical computing device of the computing system. The advantage of the method is that it can be used to determine a target value of the stochastic control problem more quickly, and at the same time use fewer computing resources than the prior art. In one or more implementations, the quantum computing circuit includes a first group of qubits and a second group of qubits, wherein the first group of qubits is associated with a first time, wherein the second group of qubits is associated with a second time, the first time is earlier than the second time, and the method may further include, by the quantum computing circuit, entangle the first group of qubits with the second group of qubits. One advantage of this implementation is that entangled qubits enable the expression of higher correlations than are possible in a corresponding classical system. In one or more implementations, the method may further include determining the target value of the stochastic control problem by the quantum computing circuit using amplitude estimation. The advantage of this method is that it provides an efficient way to determine the objective value of a stochastic control problem. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 Exemplary, non-limiting quantum computing circuits that can be used with stochastic control problems are shown.

[0013] Figure 2 Shown as Figure 1 A compressed version of quantum computing circuit 100 is an exemplary, non-limiting quantum computing circuit.

[0014] Figure 3 An exemplary non-limiting quantum computing circuit is shown for T=2. Figure 1 Version 100 of the quantum computing circuit.

[0015] Figure 4 An exemplary, non-limiting quantum computing circuit is shown in which qubits are swapped.

[0016] Figure 5 An exemplary, non-limiting quantum computing circuit is shown, with emphasis on the switching paths of different qubits.

[0017] Figure 6 An exemplary, non-limiting process flow for inventory management is shown, which represents a stochastic control problem that can be handled with quantum computing circuits.

[0018] Figure 7 Shows the Figure 6 Exemplary, non-limiting graphs comparing the results of determination of the objective value of a stochastic control problem with classical computation and with quantum computation.

[0019] Figure 8 A block diagram of an exemplary, non-limiting quantum computing system for implementing stochastic control according to one or more embodiments described herein is shown.

[0020] Fig. 9 Another block diagram of an exemplary, non-limiting quantum computing system for implementing stochastic control according to one or more embodiments described herein is shown.

[0021] Fig.10 A block diagram of an exemplary, non-limiting quantum computing system for implementing stochastic control according to one or more embodiments described herein is shown.

[0022] Fig.11 A block diagram is shown of an exemplary, non-limiting operating environment in which one or more embodiments described herein may be facilitated. DETAILED DESCRIPTION

[0023] The following detailed description is illustrative only and is not intended to limit the embodiments and / or the application or uses of the embodiments. In addition, there is no intention to be bound by any express or implied information presented in the previous background or summary sections or in the detailed description section.

[0024] One or more embodiments are now described with reference to the accompanying drawings, wherein the same reference numerals are used to refer to the same elements throughout the text. In the following description, for the purpose of explanation, many specific details are set forth in order to provide a more thorough understanding of one or more embodiments. However, it is apparent that one or more embodiments may be practiced without these specific details in different circumstances.

[0025] Reference is again made to the solution of problems associated with solving stochastic control problems using classical computational methods, and Markov decision problems can then be found by implementing these problems with quantum computing (i.e., computation performed using quantum mechanical phenomena). The exponentially growing policy-scenario tree of the stochastic control problem can be efficiently represented by a set of quantum states of a small logarithmic number of quanta (i.e., a two-state quantum mechanical system), which can be prepared by parameterized quantum computing circuits. The corresponding values ​​of the objective function under consideration can be estimated by applying quantum amplitude estimation, and the optimal parameters can be determined using classical optimization techniques.

[0026] Utilizing quantum amplitude estimates in quantum computing can also provide solutions to problems associated with classical computing in this area, and can be quadratically more efficient than classical Monte Carlo estimates. In other words, to improve accuracy by a factor of 10, classical computing would use 100 times more samples, while quantum computing would use only 10 times more samples.

[0027] In various embodiments, quantum techniques may be used to estimate a target value for a given set of angles for a qubit of a quantum computing circuit. For example, the quantum computing circuit may be sampled (e.g., 10,000 times) for a given set of values ​​to give an estimate of the target value. Then, given this estimate from the quantum technique, classical techniques may be used to find the best angle (in terms of the target value). One way a quantum computing circuit may be evaluated is with amplitude estimates, which provide for extracting a target value for a given set of parameters. In some instances, the target value may be estimated quadratically faster than sampling quadratically, and this is where quantum advantage may come from some classical techniques.

[0028] Specifically, for simulations of larger systems (e.g., supply chains), this speedup could be crucial for the practical applicability of the optimization method. Furthermore, quantum computing circuits can be mapped onto existing devices in such a way that the circuit depth only increases linearly with the number of qubits, making it applicable to practical devices where the circuit depth is limited due to decoherence and phase shifting.

[0029] The scenario tree generated by uncertainty and strategy can grow exponentially with the number of cycles considered. Due to entanglement and superposition, for a given number of qubits, the quantum state can represent exponentially large objects (for n qubits, the corresponding dimension of the state space can be equal to 2 n ). In addition, quantum states can allow modeling of arbitrary discrete multivariate random distributions. This exponential scenario tree (with O(2 n ) nodes) can be represented by a quantum system with a logarithmically small number of qubits (O(n)). The circuit depth of the quantum computing circuit can then only increase linearly, and the number of parameters can then only increase quadratically with the number of qubits. This can provide a very general method with good scaling to compute good policies for stochastic control problems, and a quadratic speedup compared to classical implementations of the method for solving stochastic control problems.

[0030] One approach to solving stochastic control problems can be to construct quantum states that represent good policies for stochastic control problems. This can be achieved by following a hybrid approach: parameterized quantum computing circuits can efficiently prepare quantum states that represent exponentially large strategies and scenario trees. Magnitude estimation can be applied to determine the target values ​​corresponding to given parameters quadratically compared to classical methods. Classical optimization algorithms can determine the optimal parameters for quantum computing circuits. In the following, appropriate quantum computing circuits can be described, as well as efficient mappings to different quantum hardware; the objective function can be evaluated and optimized for given parameters; a version of the overall optimization process is described; and an example of inventory management is considered.

[0031] Regarding the target value, one option for evaluating this objective function could be to measure the qubits, derive the state / action trajectory x t / u t , and evaluate the objective function classically. This can be an effective approach, but may not lead to a quantum advantage because it can also be performed classically. However, in some examples, using a quantum computer it is possible to evaluate the objective function for each scenario in parallel, and then use quantum amplitude estimation techniques to estimate the target value with quadratic speedup compared to classical methods.

[0032] Next, a classical optimization scheme may be applied to determine the optimal parameters and, therefore, the optimal strategy. A suitable classical optimization algorithm may be the Simultaneously Perturbed Stochastic Approximation (SPSA) method or (a variant of) the Broyden–Fletcher–Goldfarb–Shanno (BFGS) method.

[0033] Note that the same approach can be applied to determine other properties of the policy, such as the variance of the objective function, or the value of constraints on the system (e.g., customer service level in the inventory management example). In some examples, these additional properties can be combined with the main objective function into a weighted objective function, or they can be added as penalties to the (classical) objective or as constraints using other classical solvers.

[0034] This method can be used to determine the optimal strategy (represented by the quantum computing circuit described in this article) and the expected cost of the modeled time horizon. In addition, the generated optimal parameters can be used to sample the optimal decision generated in the first time period (the strategy can be random). If it is determined that the strategy should be applied in practice, the applied decision and the observed circuit uncertainty realization can be directly determined, or the circuit can be truncated and the initial state adjusted to determine the following decision.

[0035] In examples where the actual planning horizon is longer than the time horizon for modeling behavior, reoptimization can be performed at each time step and the approach can be applied in a rolling horizon setting. Embedding the resulting policy from this approach in a rolling horizon simulation allows performance to be evaluated for arbitrary planning horizons.

[0036] Figure 1 An exemplary, non-limiting quantum computing circuit 100 that can be used with a stochastic control problem is shown. The quantum computing circuit 100 can be used as a problem solver for an efficient computational solution to a stochastic control problem. The quantum computing circuit 100 can utilize qubits to represent stochastic control problems over multiple time steps and decisions with uncertainty. Here, the first two qubits encode the decision (in an example utilizing a binary tree), the second two qubits encode the uncertainty, and the subsequent two qubits encode the decision at a second timestamp. Four states can be encoded at once using two qubits. For example, the first decision may be {0, 1, 2, 3}—for example, in an inventory management problem, the first decision may not require ordering anything, or may require ordering 1, 2, or 3 additional units. Similarly, uncertainty may be {0, 1, 2, 3}, and in an inventory management problem, uncertainty may mean that a customer needs to purchase 0, 1, 2, or 3 units within a given time period.

[0037] A Y rotation can be applied to the qubit (giving the qubit a rotation angle theta ij ), such that the qubit can be prepared to have an even probability between 0, 1, 2, and 3, or such that there is a particular probability of those various values ​​occurring. In some embodiments, the optimal parameters for the rotation angle can be determined by classical methods. In some embodiments, the uncertainty qubit is prepared with a gate that is not a Y rotation gate. In some embodiments, the uncertainty qubit can be controlled by a previous qubit.

[0038] In a quantum computing circuit such as quantum computing circuit 100, a set of qubit indices can be represented by Q:={1, ..., n}, and for i in Q, a specific qubit is represented by q[i]. A qubit can represent a part of a decision within a certain time period t, or a part of uncertainty in t, and Q can be decomposed into D t , U t , t = 0, ..., T. Knowing the decisions and observations of uncertainty up to period t and the initial state x 0 This allows the construction of a complete state trajectory x by repeatedly applying the transition law f(x,u,w) 0 , x 1 , ..., x t. In some examples, it can be assumed that the gates can only be placed at discrete positions k = 0, 1, 2,... that match all qubits. For all qubits to match. Two gates applied to different qubits but at the same position k are applied simultaneously.

[0039] Consider an instance where the initial quantum state is |0>. The quantum computing circuit 100 can include an initialization step that applies an initial uncontrolled Y rotation with an angle \(\theta\) {i} to all q[i] in D t , i, t = 0,..., T. Additionally, the initialization phase can prepare the states of all q[j] in U t , j, t = 0,..., T - 1 such that they follow the same multivariate distribution as (w 0 ,..., w {T-1} ), and in some examples, the multivariate distribution can always be achieved.

[0040] Next, the quantum computing circuit 100 can apply a controlled Y rotation with control q[i], target q[j], and angle \(\theta\) t to all (i, j) in C := {i in Q, j in D {i} | t > 0 & i < j} and denote them with R {i,j} . In other words, in some examples, each decision qubit can be entangled with all qubits carrying information about earlier time periods and all qubits carrying information about the same time period but with a smaller index. In some examples, the only exception is the qubits q[i], i in D 0 , which can be set directly and do not depend on any other qubits. In some examples, for each set \(\theta\) {i,j} , (i, j) in C, this prepares a quantum state that defines a strategy and spans the corresponding scenario tree for all possible realizations of the uncertainty.

[0041] The quantum computing circuit 100 presents an example with n = 6, T = 1, D 0 = {1, 2}, U 0 = {3, 4}, D 1 = {5, 6}. As described, D 0 150 is used to determine the first decision, and in this example, the decision is used to encode {0, 1, 2, 3}. D 0 150 includes R 0,0 102 and R 1,0 104, each of which is described as a controlled Y rotation gate with a rotation angle theta ij . Then, U 0is used to represent uncertainty and is described as having an uncertainty gate H 106 and an uncertainty gate H 108. In some examples, the value of each of the uncertainty gate H 106 and the uncertainty gate H 108 may remain constant. In an example, the uncertainty w 0 Following a uniform distribution on {0,1,2,3}, this is accomplished by applying Hadamard gates to U 0 For each q[j], j in 0 =q[3]*2^1+q[4]*2^0.

[0042] Similar to D 0 150,D 1 154 is used to determine the second decision - for example, as described, based on the D 0 150 first decisions and from U 0 The observation of the first uncertainty of 152 encodes {0,1,2,3}. 1 154 including R 2,0 110 and R 3,0 112 (and R2 ,1 114,R 2,2 116,R 2,3 118,R 2,4 120,R 3,1 122,R 3,2 124,R 3,3 126,R 3,4 128,R 3,5 130), they are also each described as having a rotation angle theta ij Control Y revolving door.

[0043] As described, R 2,1 114 is based on 0,0 102 (described as utilizing communication connection 132) and R 2,0 110. Similarly, the line describes the R 2,2 116 is based on R 1,0 104 and R 2,1 114 confirmed; R 2,3 118 is based on H 106 and R 2,2 116 confirmed; R 2,4 120 is based on H 108 and R 2,3 118 confirmed; R 3,1 122 is based on R 0,0 102 and R 3,0 112 confirmed; R 3,2124 is based on R 0 , 1 104 and R 3,1 122 confirmed; R 3,3 126 is based on H 106 and R 3,2 124 confirmed; R 3,4 122 is based on H 106 and R 3,3 126 confirmed; and R 3,5 130 is based on R 2,4 120 and R 3,4 128 confirmed.

[0044] Figure 1 describes that there are two time steps—one time step and R 0,0 102 and R 1,0 104 and the associated uncertainty represented by H 106 and H 108; and the second time step and R 2,0 110 and R 3,0 112 is associated. It can be realized that Figure 1 The description in is an example, and similar techniques can be applied with more qubits per time step and / or more time steps.

[0045] Figure 2 Shown as Figure 1 An exemplary non-limiting quantum computing circuit 200 is a compressed version of the quantum computing circuit 100. The quantum computing circuit 200 can be used as a problem solver for efficient computational solutions to stochastic control problems.

[0046] Even if the number of parameters (i.e., the rotation angle \theta {i,j} ) can increase quadratically with n, and the mapping of the circuit can also be provided for different hardware that increases only linearly with n. Since the error rate of current hardware will limit the depth of feasible quantum computing circuits. In order to compress the circuit (such as using quantum computing circuit 200 that represents a compressed version of quantum computing circuit 100), it is noted that R in C can be changed as long as the accidental relationship is preserved. {i,j} ,(i,j), i.e., all rotations targeting a qubit may need to be applied before this qubit can be used as a control for a rotation targeting another qubit. t The qubits in , t = 0, ..., T are not modified after initialization, so they can be used as controls at any time.

[0047] Consider the example of a quantum chip with all-to-all connectivity between the qubits. In this example, the following simple greedy algorithm achieves the minimum possible circuit depth equal to [I+cR*n], where I represents the length of the initialization phase and cR represents the length of the controlled Y rotation (usually this involves 2 uncontrolled Y rotations and 2 CX gates):

[0048] 1.) Run the initialization phase of the circuit.

[0049] 2.) For all (i,j) in C, apply R in lexicographic order at the first feasible position k {i,j} .

[0050] In this example, feasibility in step 2 may require that for each qubit, q[i],i, in Q, positions k = 0, 1, ... are never used twice and that causal dependencies are respected.

[0051] As described, quantum computing circuit 200 represents a compressed version of quantum computing circuit 100. Similar to quantum computing circuit 100, quantum computing circuit 200 includes six gates. The general difference between quantum computing circuit 100 and quantum computing circuit 200 is that quantum computing circuit 200 simultaneously targets D 1 154 Execute multiple decisions (e.g., calculate R simultaneously 2,1 114 and R 3,2 222), that is, in quantum computing circuit 100, all gates are sequential, while quantum computing circuit 200 has parallel gates. Observe the parallel operation, for example, R 2,1 114 and R 3,2 222 operates on multiple disjoint sets of qubits and can therefore be run in parallel in this instance.

[0052] As described, R 2,1 114 is based on R 2,0 110 and R 0,0 102 (by utilizing communication connection 232); R 2,2 116 is based on R 2,1 114 and R 1,0 104 (determined by utilizing communication connection 238); R 2,3 118 is based on R 2,2 116 and H106 (by utilizing communication connection 240); R 2,4 120 is based on R 2,3 118 and H 106 (determined by utilizing communication connection 246); R 3,2 222 is based on R 3,0112 and R 1,0 104 (determined by utilizing communication connection 234); R 3,2 222 is based on R 3,0 112 and R 1,0 104 (determined by utilizing communication connection 234); R 3,1 224 is based on R 3,2 222 and R 0,0 102 (by utilizing communication connection 236); R 3,4 226 is based on R 3,1 224 and U 108 (by utilizing communication connection 242); R 3,3 228 is based on R 3,4 226 and U 106 (by utilizing communication connection 244); and R 3,5 230 is based on R 3,3 228 and R 2,4 120 (determined by utilizing communication connection 248).

[0053] Figure 3 An exemplary non-limiting quantum computing circuit 300 is shown for T=2. Figure 1 The quantum computing circuit 300 can be used as a solution to the problem of efficient computational solutions to stochastic control problems.

[0054] While quantum computing circuit 200 shows a compressed version of a quantum computing circuit for T=1 (quantum computing circuit 100 depicts T=1), quantum computing circuit 300 extends this compression for T=2. That is, quantum computing circuit 200 shows n=6, T=1, D 0 ={1,2},U 0 ={3,4},D 1 ={5,6}. Then, the quantum computing circuit 300 shows n=10, T=2, D 0 ={1,2},U 0 ={3,4},D 1 ={5,6},U 1 ={7,8},D 2 ={9,10}. In an uncompressed example, where all operations are performed sequentially (such as quantum computing circuit 100), the length of the quantum computing circuit grows quadratically with the number of qubits. Here, there is compression (e.g., operations performed in parallel), so the length of the quantum computing circuit grows at a subquadratic rate.

[0055] As described, quantum computing circuit 300 includes U1 356, which is used to represent uncertainty (between the second decision and the third decision), and is described as having an uncertainty gate H360 and an uncertainty gate H362. 2 358 is used to determine the third decision.

[0056] The determination made during time period 368 is as follows. 2,1 114 is based on R 2,0 110 and R 0,0 102 (by utilizing communication connection 232); R 3,2 222 is based on R 3,0 112 and R1,0 104 (determined by utilizing communication connection 234); R 4,3 244 is based on R 4,0 364 and H 106 (by utilizing communication connection 340); and R 5,3 346 is based on R 5,0 366 and H 108 (by utilizing communication connection 342).

[0057] After the determination is made in time period 368, determinations are made in time period 370 and they are as follows. 2,2 116 is based on R 2,1 114 and R 1,0 104 (determined by utilizing communication connection 238); R 3,1 224 is based on R 3,2 222 and R0,0102 (determined by utilizing communication connection 234); R 4,4 352 is based on R 4,3 344 and H 108 (by utilizing communication connection 350); and R 5,3 354 is based on R 5,4 346 and H 106 (by utilizing communication connection 348).

[0058] Similar approaches may be taken to make other determinations described in quantum computing circuit 300 .

[0059] Figure 4An exemplary, non-limiting quantum computing circuit 400 is shown in which qubits are exchanged. Quantum computing circuit 400 can use a nearest neighbor qubit architecture as a problem solver for an efficient computational solution to the stochastic control problem. In the example of quantum computing circuit 300, full-to-full connectivity between qubits is used. That is, each qubit can access information from or be entangled with every other qubit of quantum computing circuit 300 at a given time. In contrast, in the example of quantum computing circuit 400, nearest neighbor connectivity between qubits is used. That is, each qubit can access information from or be entangled with two qubits adjacent to it. Similar to quantum computing circuit 300, quantum computing circuit 400 utilizes n=10, T=2, D 0 ={1,2},U 0 ={3,4},D 1 ={5,6},U 1 ={7,8},D 2 ={9,10} example.

[0060] As described, R 5 430, R 6 432, R 9 434 and R 10 436 is a decision gate; and H 432 and H 434 are uncertainty gates. In time period 426, R 4,5 406 based on H 108 and R 5 430 to determine; and R 8,9 Based on H 362 and R 9 434 OK.

[0061] Then, swaps also occur during time period 426 - i.e., swap 402 and swap 404. In this example, swaps indicate that two qubits exchange their stored values. In other words, swaps indicate that the states of the two qubits are switched. By swapping the values ​​of the two qubits, while those qubits may only have nearest neighbor connectivity (as opposed to all-to-all connectivity), those values ​​can be moved through quantum computing circuit 400 so that all associated determinations can be made for this example.

[0062] After time period 426 comes time period 428. As shown, four determinations and four exchanges occur during time period 428. 3,5 410 is based on H 106 and R 4,5 406 OK (because exchange 402 has already occurred); R 4,6 It is based on R 6 432 and H 108 confirmed (because the exchange 402 has already occurred); R7,9 414 is based on H 360 and R 8,9 408 OK (because the exchange 404 has already occurred); and R 8,10 416 R-based 10 436 and H 362 to determine (because exchange 404 has already occurred). After these determinations are made during time period 428, exchanges also occur - exchange 418, exchange 420, exchange 422, and exchange 424.

[0063] Similar determinations and exchanges are described for the rest of the circuit.A formal way of expressing this method may be as follows.

[0064] Assume that all qubits are linearly arranged with nearest neighbor connectivity and labeled according to Q. This can be considered a realistic setup for current existing devices. A similar process can be applied here and used again to achieve linear scaling of circuit depth. As a simple example, assume |Dt| = |Ut| = u, and set v = n / u. The following process can compress our circuit so that the circuit depth is equal to [I+(cR+S)*((v+1)*u-1)], where S represents the length of the swap gate:

[0065] 1.) Run the initialization phase of the circuit.

[0066] 2.) If there are neighboring qubits that should be entangled, apply the corresponding R {i,j} , and then swap the two qubits.

[0067] 3.) Repeat step 2 until all required R {i,j} are all imposed.

[0068] In some examples, the qubit (D t q[i],i,t>0 in q[i] are swapped up until they are entangled with all qubits with lower indices; once they reach the top position, they can be used as controls for qubits with higher indices and swapped down again. In some examples, qubits that are used only as controls (e.g., uncertainties, or qubits to which all rotations have been applied) are swapped down until all corresponding rotations have been applied. In some examples, since n*v=n, the circuit depth increases only linearly with the number of qubits.

[0069] Some stochastic control problems do not require a policy with access to the full history. This can be used to further reduce circuit depth and the number of parameters. In some examples, instead of entangle qubit q[j] with all qubits q[i], i < j, qubits can only be entangled up to a maximum distance (either relative to their index or relative to the corresponding time period).

[0070] In some examples, currently available quantum computers (and the gates on them) are not perfect and may have biases, so the representation of the random distribution may have to be calibrated (e.g., adding correction terms to the rotations) to achieve the desired random behavior. In some examples, this can be done by running only an initialization phase and then measuring all qubits U t This is done by taking q[i], i,t=0,...,T-1 in , and comparing these samples to the target distribution. Classical search heuristics can be applied to the parameters until the samples satisfy some statistical test that verifies the expected distribution.

[0071] Figure 5 An exemplary non-limiting quantum computing circuit 500 is shown in which the exchange paths of different qubits are emphasized. Quantum computing circuit 500 can be used as a solution to the problem of efficient computational solution to the stochastic control problem. In quantum computing circuit 500, the exchange paths of different qubits are emphasized relative to the exchange paths of quantum computing circuit 400, which describes similar qubit exchange.

[0072] As described, the dashed line indicates R {i,j} And the solid lines indicate swaps. In some embodiments, the last swaps (between 9 and 10) can be discarded. Here, we have u=2, v=5, and therefore, the circuit depth is equal to 133 "1 qubit gate equivalents" (assuming I=1, cR=(2+2*2)=6, S=3*2=6, where a 2 qubit gate is assumed to take twice as long as a 1 qubit gate).

[0073] During time period 426, the qubits store multiple values. It will be appreciated that these values ​​can change over time, such as by determining the qubits, as shown in FIG. Figure 1 As illustrated by the quantum computing circuit 100 of . There are value 1 504, value 2 506, value 3 508, value 4 510, value 5 512, value 6 514, value 7 516, value 8 518, value 9 520, and value 10 522.

[0074] In time period 426, R is executed based on value 4 510 and value 5 512. {i,j} , and then performs another R based on the value 8518 and the value 9520 {i,j} At the end of time period 426, value 4 510 and value 5 512 are swapped with each other, and value 8 518 and value 9 520 are swapped with each other.

[0075] In time period 428, there is a value 1 504' (corresponding to value 1 504 in time period 426), a value 2 506' (corresponding to value 2 506 in time period 426), a value 3 508' (corresponding to value 3 508 in time period 426), a value 4 510' (corresponding to value 4 510 in time period 426), a value 5 512' (corresponding to value 5 512 in time period 426), a value 6 514' (corresponding to value 6 514 in time period 426), a value 7 516' (corresponding to value 7 516 in time period 426), a value 8 518' (corresponding to value 8 518 in time period 426), a value 9 520' (corresponding to value 9 520 in time period 426), and a value 10 522' (corresponding to value 10 522 in time period 426). In time period 428, R is executed based on value 3 508' and value 5 512'. {i,j} ; based on value 4 510' and value 6 514'; based on value 7 516' and value 9 520'; and based on value 8 518' and value 10 522'. At the end of time period 428, value 3 508' and value 5 512' are swapped with each other; value 4 510' and value 6 514' are swapped with each other; value 7 516' and value 9 520' are swapped with each other; and value 8 518' and value 10 522' are swapped with each other.

[0076] After time period 428, further R {i,j} s and exchange.

[0077] Figure 6 An exemplary, non-limiting process flow 600 for inventory management is shown, which represents a stochastic control problem that can be processed with quantum computing circuits. Figure 6 and 7 An embodiment of the present disclosure is described for an inventory management problem. A quantum computing circuit for solving the inventory management problem may be Figure 4 Quantum computing circuit 400.

[0078] In process flow 600, at external supplier 602 ( t ) to place an order. Then, the order arrives at the order queue 604 (u t-1 Then, the order arrives at warehouse 606 (x t ) of inventory / backlog. Finally, the order reaches external demand 608 (d t ). In this example, the lead time L between ordering at the external supplier 602 and having the corresponding stock / backlog at the warehouse 606 is specified as 2.

[0079] In other words, in the inventory management problem, the system is in a specific state. Then, at each timestamp, a decision can be made, such as changing the state, determining the consequences of changing the state based on uncertainty, and reacting to what has been learned about the changed state to change the system state again. For example, in the inventory management problem, inventory can be ordered, then customer demand can be observed, and the inventory can be potentially reordered. In such an example, uncertainty can indicate what the customer actually buys. Using a simplified example, in a binary tree structure where customers can order or not order, one branch from the nodes of the binary tree structure can indicate no customer demand, while the other branch can indicate demand. Then, if the entity reorders, but there is ultimately no corresponding customer demand, the policy can indicate not to reorder next time (because of having extra inventory).

[0080] To express the inventory management problem more formally, in the example, let X be the inventory owned, U be the inventory ordered, and W be the customer demand. Thus, the transformation law for this inventory management problem can be expressed as X+1=X+UW. There are then costs, such as the holding costs of the inventory or the costs associated with paying for new inventory, and these costs can be measured by the objective function of the inventory management problem. Then, the policy P i Indicates what to do in a given state.

[0081] The maintenance cost of the objective function can be expressed as max(x t , 0), and the sorting cost can be u t Then, the objective function can represent the total average cost for a given time horizon, and the rotation angle of the circuit can be determined such that the corresponding objective function is minimized.

[0082] Figure 7 An exemplary, non-limiting graph 700 is shown that shows Figure 6 The results of determination of an objective value of a stochastic control problem are compared with classical computation as well as with quantum computation.

[0083] Graph 700 is a graph of a quantum computing circuit such as Figure 4 The quantum computing circuit 400) and the BFGS optimizer are used to illustrate the solution of Figure 6 Experimental results show that, in some examples, such a quantum computing circuit can approximate the optimal strategy for the considered examples very well and estimate the corresponding expected cost with a mean error of 2.34% (averaged over the total number of tested initial states).

[0084] The graph 700 has a Y-axis 702 and an X-axis 704, where the Y-axis 702 represents the expected cost of different initial states and the X-axis 704 represents different initial states. The X-axis 704 also has a column for representing the expected cost of a particular initial state u. -1 706 (which represents the order queue 604 from the process flow 600) and x 0 Two variables 708 representing inventory / overstock at warehouse 606 from process flow 600 .

[0085] Thus, both the analytical solution 712 and the quantum solution 710 are plotted. As can be seen visually, there are only the mildest deviations between the values ​​of the analytical solution 712 and the quantum solution 710. In this example used, the average deviation between the analytical solution 712 and the quantum solution 710 is 2.34%.

[0086] Figure 8 A flowchart of an exemplary, non-limiting, computer-implemented method for facilitating the use of a quantum computing circuit in conjunction with a stochastic control problem is shown. In some examples, flowchart 800 may be implemented by quantum computing circuit 100, quantum computing circuit 200, quantum computing circuit 300, quantum computing circuit 400, or quantum computing circuit 500. It is understood that the operations of flowchart 800 may be implemented in a different order than that described. It is also understood that the operations of flowchart 800 may be implemented in a different order than that depicted. Flowchart 800 may be implemented to effectively provide a solution to the problem of solving a stochastic control problem.

[0087] In a non-limiting example embodiment, a computing device (or system) (e.g., computing system 1000) is provided that includes one or more processors and one or more memories storing executable instructions that, when executed by the one or more processors, can facilitate the performance of operations as described herein, including Figure 8 As a non-limiting example, the computing device may assist in the performance of these methods by directing or controlling one or more devices to operate to assist in utilizing quantum computing circuits in conjunction with stochastic control problems.

[0088] Operation 802 depicts preparing, by a quantum computing circuit of a computing system (e.g., by computing system 1000), a quantum state representing a stochastic control problem. Stochastic control problems are generally a subset of control theory that attempts to account for uncertainty in observations or uncertainty in the noise that drives the evolution of a system of interest. Preparing a quantum state representing a stochastic control problem may include creating a representation of the stochastic control problem in a quantum computer system.

[0089] In some examples, a policy scenario tree corresponding to the stochastic control problem has a first size, and the plurality of qubits of the quantum computing circuit has a second size that is logarithmically smaller than the first size. Typically, a policy for a stochastic control problem is an indication of what to do given a current state. The policy scenario tree can then indicate what to do given various states that can branch off from one another based on, for example, uncertainty values.

[0090] For example, in a situation where uncertainty determines one of two outcomes (e.g., the customer buys one unit of the product, or the customer does not buy one unit of the product), the strategy scenario tree may branch twice at each state. Thus, such a strategy scenario tree will have 2 n nodes, in 2 n The strategy can be implemented at each node. n The present technique using quantum computing circuits can implement a given strategy tree with a logarithmically smaller number of qubits than with 10 nodes.

[0091] More specifically, with respect to a policy tree, the present technique can optimize an optimal policy tree with logarithmically fewer qubits than nodes of the corresponding policy tree. For a given time in a stochastic control problem, the policy tree can be approximated for a predetermined number of steps, referred to as T. The qubit corresponding to the first decision of the policy tree can be evaluated, and then the corresponding decision can be implemented, and the corresponding first uncertainty observed.

[0092] After achieving a first decision and observing a corresponding first uncertainty, the technique can be repeated. Starting from this updated state, a second policy tree for the next T time steps can be approximated and then the decision can be evaluated. At this updated state, the first decision of the second policy tree can be evaluated, which is also the decision corresponding to the second total time step of the corresponding stochastic control problem. This approach can be referred to as a rolling horizon approach.

[0093] In some examples, the quantum computing circuit includes a parameterized quantum computing circuit. A parameterized quantum computing circuit can include a quantum computing circuit in which at least one decision gate of the quantum computing circuit has a parameter that describes the associated rotation.

[0094] In some examples, quantum computing circuits use amplitude estimation or Monte Carlo simulation to determine the target value of a stochastic control problem. In quantum computing, amplitude estimation can be used to estimate the number of x∈X so that χ(x)=1. Monte Carlo simulations can typically include repeated random sampling to determine the result.

[0095] In some examples, the objective value of the stochastic control problem includes a cost of the stochastic control problem. The cost of the stochastic control problem can include a value that represents an undesirable degree of deviation from an optimal outcome at a given point (e.g., in an inventory control problem, the cost associated with not having enough inventory, or the cost of having to pay to store the inventory that is owned).

[0096] In some examples, the quantum computing circuit exchanges first information stored in a first qubit with second information stored in a second qubit as part of compiling the quantum computing circuit into a nearest neighbor qubit topology. A nearest neighbor qubit topology can be a topology in which a qubit is configured to exchange information with one or more qubits that are neighbors to it, but is not configured to exchange information with other qubits (such as would be possible in an all-to-all qubit topology). In some examples, the first qubit and the second qubit are physically placed adjacent to each other in the quantum computing circuit.

[0097] In some examples, the quantum state further represents a policy for the stochastic control problem. A policy may represent an action to be taken in the stochastic control problem given a state. In some examples, the quantum state further represents a scenario tree for the stochastic control problem. A scenario tree may represent possible states that may be reached in the stochastic control problem and possible transitions from one state to another.

[0098] In some examples, operation 802 also includes representing, by a quantum computing circuit, a decision corresponding to a stochastic control problem of a qubit prepared by applying one or more gates (e.g., a Y rotation gate). Typically, the Y rotation gate is configured to act on the qubit and is equal to a rotation of π radians around the Y axis of the Bloch sphere. In some examples, operation 802 also includes representing, by a quantum computing circuit, an uncertainty corresponding to a stochastic control problem of a qubit prepared by applying one or more gates.

[0099] In some examples, the quantum computing circuit includes a first qubit and a second qubit, wherein the first qubit is associated with a first time, wherein the second qubit is associated with a second time, the first time being earlier than the second time. In such examples, operation 802 may also include entanglement, by the quantum computing circuit, of the second qubit with the first qubit. That is, the quantum computing circuit may execute over multiple time periods and may have a set of values ​​stored in the qubits at each time period. In the process of making a determination, a qubit may be entangled with another qubit that has previously made a determination (e.g., R 2,1 The value of 114 can be based on R 0,0 102 and R 2,0110). In some examples, the quantum computing circuit includes a third qubit, wherein the third qubit is associated with the second time, and operation 802 further includes entanglement, by the quantum computing circuit, of the second qubit with both the first qubit and the third qubit.

[0100] In some examples, the quantum computing circuit includes a first qubit that corresponds to a decision of the stochastic control problem, and operation 802 also includes applying, by the quantum computing circuit, an initial uncontrolled Y rotation having a known angle.

[0101] In some examples, the quantum computing circuit includes a plurality of qubits corresponding to the uncertainty of the stochastic control problem, and operation 802 further includes preparing, by the quantum computing circuit, states of the plurality of qubits such that the states of the plurality of qubits follow a known multivariate distribution or a stochastic process. In some examples, the multivariate distribution may include a multivariate normal distribution or a multivariate Gaussian distribution.

[0102] In some examples, the quantum computing circuit determines estimated parameters of the quantum computing circuit, and operation 802 also includes determining, by the classical computing device, parameters of the quantum computing circuit based on the estimated parameters.

[0103] In some examples, the quantum computing circuit includes a plurality of qubits corresponding to the uncertainty of the stochastic control problem, and operation 802 also includes preparing, by the quantum computing circuit, the plurality of qubits so that a plurality of random variables corresponding to measuring the plurality of qubits follow a target distribution. The target distribution may include a known mathematical distribution.

[0104] Operation 804 depicts determining, by a classical computing device of a computing system (e.g., by computing system 1000), parameters for a quantum computing circuit. These parameters may include, for example, a Y rotation with a known angle for a qubit, and may be determined based on the value of the objective function determined by the quantum computing circuit in operation 802.

[0105] Fig. 9 Another flowchart of an exemplary, non-limiting, computer-implemented method for facilitating the use of a quantum computing circuit in conjunction with a stochastic control problem is shown. In some examples, flowchart 900 may be implemented by quantum computing circuit 100, quantum computing circuit 200, quantum computing circuit 300, quantum computing circuit 400, or quantum computing circuit 500. It is understood that the operations of flowchart 900 may be implemented in a different order than that described. It is also understood that the operations of flowchart 900 may be implemented in a different order than that described. Flowchart 900 may be implemented to provide a problem-solving method that effectively solves a stochastic control problem.

[0106] In a non-limiting example embodiment, a computing device (or system) (e.g., computing system 1000) is provided, which includes one or more processors and one or more memories storing executable instructions, which, when executed by the one or more processors, can facilitate the performance of operations as described herein, including Fig. 9 As a non-limiting example, the computing device may assist in the performance of these methods by directing or controlling one or more devices to operate to assist in utilizing quantum computing circuits in conjunction with stochastic control problems.

[0107] Operation 902 describes preparing, by a quantum computing circuit of a computing system (e.g., by computing system 1000), a quantum state representing a stochastic control problem, the quantum state corresponding to a first number of qubits, the stochastic control problem corresponding to a strategy scenario tree having a first size, wherein the first number of qubits is logarithmically less than the first size. Typically, a strategy for a stochastic control problem is an indication of what to do given a current state. The strategy scenario tree may then indicate what to do given various states that may branch off from one another based on, for example, uncertainty values.

[0108] For example, in a situation where uncertainty determines one of two outcomes (e.g., the customer buys one unit of the product, or the customer does not buy one unit of the product), the strategy scenario tree may branch twice at each state. Thus, such a strategy scenario tree will have 2 n time units. n nodes, in 2 n The strategy can be implemented at each node. n The present technique using quantum computing circuits can implement a given strategy tree with a logarithmically smaller number of qubits than with 10 nodes.

[0109] In some examples, the quantum computing circuit includes a parameterized quantum computing circuit. A parameterized quantum computing circuit can include a quantum computing circuit in which at least one decision gate of the quantum computing circuit has a parameter that describes the associated rotation.

[0110] In some examples, quantum computing circuits use amplitude estimation or Monte Carlo simulation to determine the target value of a stochastic control problem. In quantum computing, amplitude estimation can be used to estimate the number of x∈X so that χ(x)=1. Monte Carlo simulations can typically include repeated random sampling to determine the result.

[0111] In some examples, the objective value of the stochastic control problem includes a cost of the stochastic control problem. The cost of the stochastic control problem can include a value that represents the degree of undesirability of deviating from an optimal outcome at a given point (e.g., in an inventory control problem, the cost associated with not having enough inventory, or the cost of having to pay to store the inventory that is owned).

[0112] In some examples, the quantum computing circuit exchanges first information stored in a first qubit with second information stored in a second qubit as part of compiling the quantum computing circuit into a nearest neighbor qubit topology. A nearest neighbor qubit topology can be a topology in which a qubit is configured to exchange information with one or more qubits that are neighbors to it, but not configured to exchange information with other qubits (such as would be possible in an all-to-all qubit topology). In some examples the first qubit and the second qubit are physically placed adjacent to each other in the quantum computing circuit.

[0113] In some examples, the quantum state further represents a policy for the stochastic control problem. A policy may represent an action to be taken in the stochastic control problem given a state. In some examples, the quantum state further represents a scenario tree for the stochastic control problem. A scenario tree may represent possible states that may be reached in the stochastic control problem and possible transitions from one state to another.

[0114] In some examples, operation 902 also includes representing, by the quantum computing circuit, a decision corresponding to a stochastic control problem of one or more qubits prepared with one or more gates (e.g., a Y rotation gate). Typically, a Y rotation gate is configured to act on a qubit and is equal to a rotation of π radians about a Y axis of a Bloch sphere. In some examples, operation 902 also includes representing, by the quantum computing circuit, an uncertainty corresponding to a stochastic control problem of one or more qubits prepared with one or more gates (e.g., a Y rotation gate).

[0115] In some examples, a quantum computing circuit includes a first set of qubits and a second set of qubits, wherein the first set of qubits is associated with a first time, wherein the second set of qubits is associated with a second time, the first time being earlier than the second time. In such examples, operation 902 may also include entanglement, by the quantum computing circuit, of the second set of qubits with the first set of qubits. That is, the quantum computing circuit may execute over multiple time periods and may have a set of values ​​stored in the qubits at each time period. In the process of making a determination, a qubit may be entangled with another qubit that has previously made a determination (e.g., R 2,1 The value of 114 can be based on R 0,0 102 and R 2,0110). In some examples, the quantum computing circuit includes a third set of qubits, wherein the third set of qubits is associated with a third time, and operation 902 further includes intertwining, by the quantum computing circuit, the second set of qubits with both the first set of qubits and the third set of qubits.

[0116] In some examples, the quantum computing circuit includes a first qubit that corresponds to a decision of the stochastic control problem, and operation 902 also includes applying, by the quantum computing circuit, an initial uncontrolled Y rotation having a known angle.

[0117] In some examples, the quantum computing circuit includes a plurality of qubits corresponding to the uncertainty of the stochastic control problem, and operation 902 further includes preparing, by the quantum computing circuit, states of the plurality of qubits such that the states of the plurality of qubits follow a known multivariate distribution or a stochastic process. In some examples, the multivariate distribution may include a multivariate normal distribution or a multivariate Gaussian distribution.

[0118] In some examples, the quantum computing circuit determines a plurality of estimated parameters of the quantum computing circuit, and operation 902 further includes determining, by the classical computing device, parameters of the quantum computing circuit based on the estimated parameters.

[0119] In some examples, the quantum computing circuit includes a plurality of qubits corresponding to the uncertainty of the stochastic control problem, and operation 902 also includes preparing, by the quantum computing circuit, the plurality of qubits so that a plurality of random variables corresponding to measuring the plurality of qubits follows a target distribution. The target distribution may include a known mathematical distribution.

[0120] Operation 904 depicts determining parameters of the quantum computing circuit by a classical computing device of a computing system (e.g., computing system 1000). These parameters may include, for example, a Y rotation with a known angle for the qubit, and may be determined based on the value of the objective function determined by the quantum computing circuit in operation 902.

[0121] Fig.10 A block diagram of an exemplary, non-limiting quantum computing system for implementing stochastic control according to one or more embodiments described herein is shown. More specifically, computing system 1000 may be a simplified example of a quantum computer. It may be appreciated that aspects of the present disclosure may be implemented on a variety of quantum computing hardware, and that the quantum hardware of this example computing system 1000 may be merely one such example that may be used to implement aspects of the present disclosure. In some examples, computing system 1000 may be used to implement aspects of quantum computing circuit 100, quantum computing circuit 200, quantum computing circuit 300, quantum computing circuit 400, or quantum computing circuit 500.

[0122] The computing system 1000 includes an input 1002, a stochastic control logic 1004, a driver 1006a, a driver 1006b, a driver 1006c, a qubit 1008a, a qubit 1008b, a coupler 1010, a sensor 1012a, a sensor 1012b, a stochastic control readout control logic 1014, and an output 1016. The input 1002 may be an input to a stochastic control problem to be solved, and the output 1016 may be a target value or target function corresponding to the stochastic control problem. In some examples, the stochastic control logic 1004 and the stochastic control readout control logic 1014 may be implemented using classical control logic. The stochastic control logic 1004 may provide a sequence of gate operations to act on the qubits 1008a-b, and may also provide the input 1002 to the drivers 1006a-c. The stochastic control logic 1014 may receive outputs from the sensors 1012a-b and process the outputs to generate the output 1016.

[0123] Drivers 1006a-c can control qubits and also act as on / off switches for interactions between qubits, and can be implemented via radio frequency pulses. Qubits 1008a-b are two-state quantum mechanical systems in which qubits can be in a superposition of these two states at the same time. Qubits 1008a-b can be constructed via circuits (sometimes referred to as IC circuits) including inductors and capacitors. Coupler 1010 can be electromagnetically coupled between qubits 1008a-b and can be implemented with modulated capacitors, inductors, or microwave cavities. Sensors 1012a-b can interface between the quantum existence of qubits 1008a-b and the classical control logic of stochastic control readout control logic 1014. For example, sensors 1012a-b can be implemented by a magnetometer or electrometer, which can be coupled to the corresponding qubit of the sensor, and can then be processed by an amplifier or comparator that determines the larger voltage before two voltages or currents.

[0124] Fig.11 A block diagram of an exemplary, non-limiting operating environment in which one or more embodiments described herein may be facilitated is shown. Operating environment 1100 may be considered a classical computing environment (as opposed to a quantum computing environment). Aspects of operating environment 1100 may be used to implement Fig.10 The random control logic 1004 and the random control readout control logic 1014.

[0125] To provide context for various aspects of the disclosed subject matter, Fig.11 The following discussion is intended to provide a general description of a suitable environment in which various aspects of the disclosed subject matter may be implemented.

[0126] Fig.11 A block diagram of an exemplary, non-limiting operating environment is shown in which one or more embodiments described herein may be facilitated. For the sake of brevity, repeated descriptions of similar elements employed in other embodiments described herein are omitted. Fig.11 , a suitable operating environment 1100 for implementing various aspects of the present disclosure may also include a computer 1112. The computer 1112 may also include a processing unit 1114, a system memory 1116, and a system bus 1118. The system bus 1118 couples system components including, but not limited to, the system memory 1116 to the processing unit 1114. The processing unit 1114 may be any of a variety of available processors. Dual microprocessors and other multi-processor architectures may also be used as the processing unit 1114. The system bus 1118 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus or external bus, and / or a local bus using a variety of available bus structures, including, but not limited to, Industry Standard Architecture (ISA), Micro Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus (USB), Advanced Graphics Port (AGP), FireWire (IEEE 1394), and Small Computer System Interface (SCSI).

[0127] The system memory 1116 may also include volatile memory 1120 and non-volatile memory 1122. A basic input / output system (BIOS) containing basic routines such as transferring information between elements within the computer 1112 during startup is stored in the non-volatile memory 1122. By way of illustration and not limitation, the non-volatile memory 1122 may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). The volatile memory 1120 may also include random access memory (RAM) that acts as an external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM.

[0128] The computer 1112 may also include removable / non-removable, volatile / nonvolatile computer storage media. Fig.11 For example, disk storage 1124 is shown. Disk storage 1124 may also include, but is not limited to, devices such as a disk drive, a floppy disk drive, a tape drive, a Jaz drive, a Zip drive, an LS-100 drive, a flash memory card, or a memory stick. Disk storage 1124 may also include storage media, either separately or in combination with other storage media, including but not limited to optical disk drives such as a compact disk ROM device (CD-ROM), a CD recordable drive (CD-R drive), a CD rewritable drive (CD-RW drive), or a digital versatile disk ROM drive (DVD-ROM). To facilitate the connection of disk storage 1124 to system bus 1118, a removable or non-removable interface, such as interface 1126, is typically used. Fig.11 Also described is software that acts as an intermediary between a user and the basic computer resources described in the appropriate operating environment 1100. Such software may also include, for example, an operating system 1128. The operating system 1128, which may be stored on disk storage 1124, is used to control and allocate the resources of the computer 1112.

[0129] System applications 1130 manage resources using operating system 1128 through program modules 1132 and program data 1134 (e.g., stored in system memory 1116 or on disk storage 1124). It should be understood that the present disclosure can be implemented with different operating systems or combinations of operating systems. A user enters commands or information into computer 1112 through input device 1136. Input device 1136 includes, but is not limited to, a pointing device such as a mouse, trackball, stylus, touchpad, keyboard, microphone, joystick, gamepad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, webcam, etc. These and other input devices are connected to processing unit 1114 through system bus 1118 via interface port 1138. Interface port 1138 includes, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device 1140 uses some of the same type of ports as input device 1136. Thus, for example, a USB port may be used to provide input to the computer 1112 and output information from the computer 1112 to the output device 1140. Output adapters 1142 are provided to illustrate that there are some output devices 1140 that require special adapters, such as monitors, speakers, and printers, among other output devices 1140. By way of illustration and not limitation, output adapters 1142 include video and sound cards that provide a means of connection between the output devices 1140 and the system bus 1118. It should be noted that other devices and / or device systems provide both input and output capabilities, such as a remote computer 1144.

[0130] The computer 1112 can operate in a networked environment using logical connections to one or more remote computers, such as (multiple) remote computers 1144. The remote computer 1144 can be a computer, server, router, network PC, workstation, microprocessor-based device, peer device or other public network node, etc., and can also generally include many or all of the elements described relative to the computer 1112. For the sake of simplicity, only a memory storage device 1146 with the remote computer 1144 is shown. The remote computer 1144 is logically connected to the computer 1112 through a network interface 1148 and then physically connected via a communication connection 1150. The network interface 1148 includes a wired and / or wireless communication network, such as a local area network (LAN), a wide area network (WAN), a cellular network, etc. LAN technologies include fiber distributed data interface (FDDI), copper distributed data interface (CDDI), Ethernet, token ring, etc. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks (such as integrated services digital network (ISDN)) and its variants, packet switching networks, and digital subscriber lines (DSL). The communication connection 1150 refers to the hardware / software used to connect the network interface 1148 to the system bus 1118. Although the communication connection 1150 is shown as being internal to the computer 1112 for clarity of illustration, it may also be external to the computer 1112. The hardware / software used to connect to the network interface 1148 may also include (for exemplary purposes only) internal and external technologies such as modems including conventional telephone grade modems, cable modems, and DSL modems, ISDN adapters, and Ethernet cards.

[0131] The present invention may be a system, method, apparatus and / or computer program product at any possible level of integrated technical detail. The computer program product may include a computer-readable storage medium having thereon computer-readable program instructions for causing a processor to perform aspects of the present invention. A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, - but not limited to - an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the above. More specific examples (a non-exhaustive list) of computer-readable storage media include: 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 punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the above. The computer-readable storage medium used herein is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., light pulses through a fiber optic cable), or an electrical signal transmitted through wires.

[0132] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device through a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmission, wireless transmission, 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 the computer-readable storage medium in each computing / processing device. The computer program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcodes, firmware instructions, state setting data, integrated circuit configuration data, 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" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, 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., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized using the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present invention.

[0133] Here, various aspects of the present invention are described with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to the embodiment of the present invention. It should be understood that each square frame of the flowchart and / or block diagram and the combination of each square frame in the flowchart and / or block diagram can be realized by computer-readable program instructions. These computer-readable program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device, so as to produce a machine so that these instructions, when executed by the processor of the computer or other programmable data processing device, produce a device for realizing the function / action specified in one or more square frames in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions make the computer, programmable data processing device and / or other equipment work in a specific manner, so that the computer-readable medium storing the instructions includes a product of manufacture, which includes instructions for realizing various aspects of the function / action specified in one or more square frames in the flowchart and / or block diagram. Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0134] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each square frame in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the function marked in the square frame can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square frames can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the function involved. It should also be noted that each square frame in the block diagram and / or flow chart, and the combination of the square frames in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.

[0135] Although the present subject matter has been described above in the general context of computer executable instructions of a computer program product running on a computer and / or multiple computers, it will be appreciated by those skilled in the art that the present disclosure may also or may be implemented in conjunction with other program modules. Typically, program modules include routines, programs, components, data structures, etc. that perform specific tasks and / or implement specific abstract data types. In addition, it will be appreciated by those skilled in the art that the computer-implemented method of the present invention may be practiced with other computer system configurations, including single-processor or multi-processor computer systems, small computing devices, large computers, and computers, handheld computing devices (e.g., PDAs, phones), microprocessor-based or programmable consumer or industrial electronics, etc. The illustrated aspects may also be practiced in a distributed computing environment in which a remote processing device linked by a communication network performs tasks. However, some aspects of the present disclosure (if not all) may be practiced on a stand-alone computer. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

[0136] As used in this application, the terms "component", "system", "platform", "interface", etc. may refer to and / or may include computer-related entities or entities related to an operating machine having one or more specific functions. The entities disclosed herein may be hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to, a process, a processor, an object, an executable file, a thread of execution, a program, and / or a computer running on a processor. As an illustration, both an application running on a server and a server may be a component. One or more components may reside in a process and / or an execution thread, and a component may be located on one computer and / or distributed between two or more computers. In another example, a corresponding component may be executed from different computer-readable media having different data structures stored thereon. Components may communicate via local and / or remote processes, such as according to a signal having one or more data packets (e.g., data from a component interacting with another component in a local system, a distributed system, and / or interacting with other systems via a signal across a network (such as the Internet)). As another example, a component may be a device having a specific function provided by a mechanical part operated by an electrical or electronic circuit, which is operated by a software or firmware application executed by a processor. In this case, the processor may be internal or external to the device and may execute at least a portion of a software or firmware application. As yet another example, a component may be a device that provides a particular functionality through an electronic component without mechanical parts, where the electronic component may include a processor or other device for executing software or firmware that at least partially imparts the functionality of the electronic component. In one aspect, the component may emulate the electronic component via, for example, a virtual machine within a cloud computing system.

[0137] In addition, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any natural inclusive arrangement. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied in any of the foregoing cases. In addition, the articles "a" and "an" used in this specification and the drawings should generally be interpreted as meaning "one or more" unless otherwise specified or clear from the context that they are for the singular form. As used herein, the terms "example" and / or "exemplary" are used to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited to such examples. In addition, any aspect or design described herein as an "example" and / or "exemplary" is not necessarily to be interpreted as being preferred or advantageous over other aspects or designs, nor is it intended to exclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.

[0138] When used in this subject specification, the term "processor" may refer to substantially any computing processing unit or device, including but not limited to a single-core processor; a single processor with software multithreaded execution capability; a multi-core processor; a multi-core processor with software multithreaded execution capability; a multi-core processor with hardware multithreading technology; a parallel platform; and a parallel platform with distributed shared memory. In addition, a processor may refer to an integrated circuit, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Further, the processor may utilize nanoscale architectures, such as but not limited to transistors, switches, and gates based on molecules and quantum dots, in order to optimize space usage or enhance the performance of user devices. The processor may also be implemented as a combination of computing processing units. In this disclosure, terms such as "storage", "storage", "data storage", "data storage", "database", and substantially any other information storage component related to the operation and function of the component are used to refer to a "memory component", an entity included in a "memory", or a component including a memory. It should be understood that the memory and / or memory components described herein may be volatile memory or non-volatile memory, or may include both volatile memory and non-volatile memory. As an illustration and not limitation, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory may include RAM, which may, for example, act as an external cache memory. As an illustration and not limitation, RAM is available in many forms, such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM). In addition, the memory components of the system or computer-implemented method disclosed herein are intended to include, but are not limited to, including these and any other suitable types of memory.

[0139] What has been described above only includes examples of systems and computer-implemented methods. Of course, for the purpose of describing the present disclosure, it is not possible to describe every conceivable combination of components or computer-implemented methods, but one of ordinary skill in the art will recognize that many further combinations and permutations of the present disclosure are possible. In addition, to the extent that the terms "including," "having," "having," and the like are used in the detailed description, claims, appendices, and drawings, such terms are intended to be inclusive in a manner similar to the term "comprising," as interpreted when "comprising" is used as a transitional word in a claim.

[0140] The description of various embodiments has been presented for the purpose of illustration, but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A computing system comprising: A quantum computing device, via execution of a quantum computing circuit, for preparing quantum states representing a stochastic control problem; as well as a classical computing device for determining a plurality of parameters for the quantum computing circuit, wherein determining the plurality of parameters comprises compressing the quantum computing circuit by determining an order of Y rotations of Y rotation gates acting on qubits of the quantum computing device associated with the quantum computing circuit such that a circuit depth of the quantum computing circuit increases linearly with the number of qubits and a number of the parameters increases quadratically with the number of qubits; and wherein the quantum computing device, via execution of the compressed quantum computing circuit having the plurality of parameters, entangles a first set of qubits of the quantum computing device associated with a first time and a second set of qubits of the quantum computing device associated with a second time after the first time.

2. The computing system of claim 1 , wherein the strategy scenario tree corresponding to the stochastic control problem has a first size and the number of qubits of the quantum computing circuit has a second size, the second size being logarithmically smaller than the first size.

3. The computing system of claim 1, wherein the quantum computing circuit comprises a parameterized quantum computing circuit.

4. The computing system of claim 1, wherein the quantum computing circuit uses amplitude estimation or Monte Carlo simulation to determine the target value of the stochastic control problem.

5. The computing system of claim 4, wherein the objective value of the stochastic control problem comprises a cost of the stochastic control problem.

6. The computing system of claim 1, wherein the quantum computing device exchanges first information stored in a first qubit with second information stored in a second qubit as part of compiling the quantum computing circuit into a nearest neighbor qubit topology.

7. The computing system of claim 6, wherein the first qubit and the second qubit are placed physically adjacent to each other in the quantum computing circuit.

8. A computer-implemented method comprising: preparing, by a quantum computing device of a computing system via execution of a quantum computing circuit, a quantum state representing a stochastic control problem; determining, by a classical computing device of the computing system, a plurality of parameters of the quantum computing circuit, wherein determining the plurality of parameters comprises compressing the quantum computing circuit by determining an order of Y rotations of a Y rotation gate acting on qubits of the quantum computing device associated with the quantum computing circuit such that a circuit depth of the quantum computing circuit increases linearly with the number of qubits and a number of the parameters increases quadratically with the number of qubits; and A first set of qubits of the quantum computing device associated with a first time and a second set of qubits of the quantum computing device associated with a second time after the first time are entangled together by the quantum computing device via the compressed quantum computing circuit having the plurality of parameters.

9. The computer implemented method of claim 8, wherein the quantum state further represents a strategy for the stochastic control problem.

10. The computer-implemented method of claim 9, wherein the quantum state further represents a scenario tree for the stochastic control problem.

11. The computer-implemented method of claim 8, further comprising: The one or more qubits prepared by the quantum computing device through application of one or more gates via execution of the compressed quantum computing circuit having the plurality of parameters represent a decision corresponding to the stochastic control problem.

12. The computer-implemented method of claim 11, further comprising: By the quantum computing device, via execution of the compressed quantum computing circuit having the plurality of parameters, one or more qubits prepared by applying one or more gates represent an uncertainty corresponding to the stochastic control problem.

13. The computer-implemented method of claim 8, further comprising: The second set of qubits is entangled with the first set of qubits and a third set of qubits associated with a third time different from the first time and the second time by the quantum computing device via executing the compressed quantum computing circuit having the plurality of parameters.

14. A computer program product comprising a computer readable storage medium having program instructions embodied therein, the program instructions being executable by a computer system comprising a quantum computing device and a classical computing device to cause the computer system to at least: preparing, by the quantum computing device, a quantum state representing a stochastic control problem via execution of a quantum computing circuit; and determining, by the classical computing device, a plurality of parameters for the quantum computing circuit, wherein determining the plurality of parameters comprises compressing the quantum computing circuit by determining an order of Y rotations of Y rotation gates acting on qubits of the quantum computing device associated with the quantum computing circuit such that a circuit depth of the quantum computing circuit increases linearly with the number of qubits and a number of the parameters increases quadratically with the number of qubits; and Execution by the quantum computing device via the compressed quantum computing circuit having the plurality of parameters entangles a first set of qubits of the quantum computing device associated with a first time and a second set of qubits of the quantum computing device associated with a second time after the first time.

15. The computer program product of claim 14, wherein the quantum computing circuit comprises a first qubit corresponding to a decision of the stochastic control problem, and wherein the program instructions are further executable by the computer system to cause the computer system to at least: An initial uncontrolled Y rotation having a known angle is applied by the quantum computing device via execution of the compressed quantum computing circuit having the plurality of parameters.

16. The computer program product of claim 14, wherein the quantum computing circuit comprises a plurality of qubits corresponding to the uncertainty of the stochastic control problem, and wherein the program instructions are further executable by the computer system to cause the computer system to at least: By means of the quantum computing device, through the execution of the quantum computing circuit, the quantum states of the plurality of qubits are prepared so that the quantum states of the plurality of qubits follow a known multivariate distribution or a random process.

17. The computer program product of claim 14, wherein the quantum computing circuit determines estimated parameters of the quantum computing circuit, and wherein the program instructions are further executable by the computer system to cause the computer system to at least: The plurality of parameters for the quantum computing circuit are determined by the classical computing device based on the estimated parameters.

18. The computer program product of claim 14, wherein the quantum computing circuit comprises a plurality of qubits corresponding to the uncertainty of the stochastic control problem, and wherein the program instructions are further executable by the computer system to cause the computer system to at least: The plurality of qubits are prepared, by the quantum computing device, via execution of the compressed quantum computing circuit having the plurality of parameters, such that a plurality of random variables corresponding to measuring the plurality of qubits follow a target distribution.

19. The computer program product of claim 14, wherein the program instructions are further executable by the computer system to cause the computer system to at least: First information stored in a first qubit is exchanged with second information stored in a second qubit by the quantum computing device as part of compiling the quantum computing circuit into a nearest neighbor qubit topology.

20. A computing system comprising: a quantum computing device, via execution of a quantum computing circuit, for preparing a quantum state representing a stochastic control problem corresponding to a number of qubits of the quantum computing device, the stochastic control problem corresponding to a strategy scenario tree having a first size, wherein the number of qubits is logarithmically less than the first size; and a classical computing device for determining a plurality of parameters for the quantum computing circuit, wherein determining the plurality of parameters comprises compressing the quantum computing circuit by determining an order of Y rotations of Y rotation gates acting on the qubits of the quantum computing device associated with the quantum computing circuit such that a circuit depth of the quantum computing circuit increases linearly with the number of qubits and a number of the parameters increases quadratically with the number of qubits; and wherein the quantum computing device, via execution of the compressed quantum computing circuit having the plurality of parameters, entangles a first set of qubits of the quantum computing device associated with a first time and a second set of qubits of the quantum computing device associated with a second time after the first time.

21. The computing system of claim 20, wherein the quantum computing circuit uses amplitude estimation or Monte Carlo simulation to determine the target value of the stochastic control problem.

22. The computing system of claim 20, wherein the quantum computing device exchanges first information stored in a first qubit and second information stored in a second qubit as part of compiling the quantum computing circuit into a nearest neighbor qubit topology.

23. A computer-implemented method comprising: preparing, by a quantum computing device of the computing system, via execution of a quantum computing circuit, a quantum state representing a stochastic control problem, the quantum state corresponding to a number of qubits, the stochastic control problem corresponding to a strategy scenario tree having a first size, wherein the number of qubits is logarithmically less than the first size; and determining, by a classical computing device of the computing system, a plurality of parameters of the quantum computing circuit, wherein determining the plurality of parameters comprises compressing the quantum computing circuit by determining an order of Y rotations of a Y rotation gate acting on qubits of the quantum computing device associated with the quantum computing circuit such that a circuit depth of the quantum computing circuit increases linearly with the number of qubits and a number of the parameters increases quadratically with the number of qubits; and A first set of qubits of the quantum computing device associated with a first time and a second set of qubits of the quantum computing device associated with a second time after the first time are entangled together by the quantum computing device via execution of the compressed quantum computing circuit having the plurality of parameters.

24. The computer-implemented method of claim 23, further comprising: The quantum computing circuit uses the amplitude estimate to determine a target value of the stochastic control problem.

25. The computer implemented method of claim 23, wherein the quantum state further represents a policy for the stochastic control problem.

Citation Information

Patent Citations

  • Method and system for improving a policy for a stochastic control problem

    US20170323195A1