WO2022008556A1 - Method for optimizing a computing process in a classical binary processor - Google Patents
Method for optimizing a computing process in a classical binary processor Download PDFInfo
- Publication number
- WO2022008556A1 WO2022008556A1 PCT/EP2021/068746 EP2021068746W WO2022008556A1 WO 2022008556 A1 WO2022008556 A1 WO 2022008556A1 EP 2021068746 W EP2021068746 W EP 2021068746W WO 2022008556 A1 WO2022008556 A1 WO 2022008556A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quantum
- processor
- function
- qubits
- parameters
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present invention is related to a method for optimizing a computing process in a classical binary processor wherein the computing process is optimized by reducing the number of parameters on which the process depends.
- the invention is a computer implemented method that combines a classical binary processor and a quantum processor wherein the method receives a high-cost instantiated function and instantiates a new function requiring a much lower computational cost.
- the method may be applied iteratively providing a sequence of functions wherein each function requires a lower computational cost with respect to the previous one converging to a very efficient instantiated function.
- an allocated or an instantiated function must be interpreted as an object allocating memory resources and having a plurality of input parameters for transferring data into the object, the specific code for computing the value of the function according to a specific expression or even a more complex algorithm, and an output parameter.
- this function can be unallocated, allowing to reuse of memory resources being previously reserved. Even if a function has been identified with an object, this interpretation is not limited to implementations based on the use of object-oriented programing languages.
- the processor When a computing process depends on multiple evaluations of such function, the processor must prepare the set of variables to be transferred to the instantiated function, to evaluate with the code implementing the evaluation algorithm and preparing the result to return the scalar value.
- the computational cost resulting from executing the code implementing the evaluation algorithm is highly dependent on the number of variables, then only classical code optimization methods may be applied.
- the method provides an automatic method for reducing the number of variables by selecting a subset of variables in such a manner that the resulting subset of variables reproduces the same behavior on the function when removing the dependency with the rest of the variables.
- quantum processors are very incipient and they have very limited use since they have their specific form of programming and it is not easy to combine a classic binary computer with a quantum processor.
- the present invention is a method for optimizing a process in a classical binary processor combining: - a quantum processor comprising at least N qubits and at least one quantum gate parameterizable with at least one parameter (W 1 , W 2 , ... , W P ); - a classical binary processor in communication with the quantum processor.
- the classical binary processor is the processor where the computational cost is optimized.
- the quantum processor is an auxiliary unit performing some specific tasks being controlled by the classical binary processor.
- the quantum processor comprises at least a quantum gate with at least one parameter being set by the classical binary processor.
- the quantum processor comprises a plurality of quantum gates forming a specific ansatz, tha ic combination o gates.
- the allocated scalar function F depends on N parameters and comprises the code that, when executed over the N parameters (x 1 , x 2 , ..., x N ), provide the scalar value F(x 1 , x 2 , ..., x N ).
- This scalar function is the process to be optimized by the method.
- the scalar function F shows at least a minimum. For convex functions, the minimum value is unique.
- the set of values minimizing de value of F may be chosen among those well-known in the prior art such as Newton- Raphson, Gradient descent or GMRES.
- a new objective function H(s 1 , ... , s N ) is defined wherein its parameters are binary values taking the value 0 or 1.
- the objective function H is therefore construed from the scalar function F(x 1 , x 2 , ..., x N ) by determining the coordinates where F reaches the minimum, that is , and for all binary combinations s 1 , ...
- the method further comprises the step d): d) selecting m ⁇ N and carrying out a variational guantum optimization method on the guantum processor, being the objective function H(s 1 , ... , s N ) and being the binary variables S i under the constraints ; and, providing as the observable of the guantum processor corresponding to the minimum of the objective function H(s 1 , ... , s N ).
- Step d) provides the specific objective function to the quantum processor H(s 1 , ... , s N ) allowing to use a variational guantum optimization method wherein the quantum processor is adjusted by varying the wave function until the minimum of objective function is obtained and the binary variables S i satisfy the constraint .
- the observable of the quantum qubits are taken as the coordinates of the objective function FI corresponding to the minimum, i.e., .
- the experiment is repeated K times assessing the minimum value as the mean value of all the observations.
- the result is a set of N binary variables , fulfilling the condition where H(s 1 , ... , s N ) is minimum and therefore makes the function ) minimum.
- Step e) provides the specific selection of m variables among the original N variables allowing to allocate the new function F new having a smaller number of variables.
- the new allocated function substitutes the original F function but provides the same result with a highly reduced computational cost. That is, the original F function may be disposed freeing the allocated computational resources.
- the classical binary processor is configured to: set a value in the at least one parameter of the guantum processor; and, retrieving an observable of the guantum state of each of the at least N gubits of the guantum processor.
- a specific configuration of the classical binary processor allows a communication with the quantum processor allowing to set a value in said quantum processor.
- the execution of specific code in the classical binary processor must have access to the hardware of the quantum processor allowing for instance to set parameters of the ansatz that comprises one or more quantum gates modifying the wave representing the states of the qubits.
- the connection between a bus of data or a register with the parameter value may require an interface for adapting the binary values of the classical binary processor to the parameters of the qubit depending on the physical properties used to configure the quantum gate.
- the classical binary processor comprises means for carrying out an observation on the quantum state of each of the at least N qubits and transferring the information to the classical binary processor using 0 or 1 values depending on the state of each qubit,
- the variational quantum optimization method comprises: selecting a variational ansatz in the quantum processor comprising the at least one quantum gate and having parameters W 1 , W 2 , ... , W P ; defining a second scalar function G wherein wherein ⁇ (W 1 , W 2 , ... , W P ) is a trial function responsive of the variational ansatz of the quantum processor according to the set of parameters W 1 , W 2 , ... , W P ; executing a classical global optimizer in the classical binary processor to find parameters W 1 , W 2 , ... , W P providing the best approximation to the minimum of the second scalar function G(W 1 , W 2 , ... , W P ); providing as the observable of the quantum processor providing the minimum of the objective function G(W 1 , W 2 , ... , W P ).
- the selection of the ansatz has influence on the convergence of the method but it has been proven that any ansatz may be used for this purpose.
- the ansatz may provide at list P parameters W 1 , W 2 , ..., W P which may be different to the number of qubits of the quantum processor.
- a second scalar function G is defined within the quantum processor, defined from the objective function H(s 1 , ... , s N ) satisfying wherein the trial function is adjusted by varying parameters W 1 , W 2 , ..., W P from the classical binary processor.
- the value of the second scalar function G depends on the values of the P parameters; therefore, the search space defined by the set of variables W 1 , W 2 , ... , W P is explored using a classical optimization method such as a Newton- Raphson, a Gradient descent or a GMRES.
- the observable corresponding to said minimum is determined: and said observable is the one providing the minimum of the objective function G(W 1 , W 2 , ..., W P ).
- the scalar value of the second scalar function G to be minimized in the classical global optimizer is obtained by executing K times, being K a predetermined positive integer number, the following steps: sending instructions to the guantum computer to create the variational state with the at least one parameter W 1 , W 2 , ...
- the classical global optimizer is executed in the classical binary processor in a search space defined by parameters W 1 , W 2 , ..., W P .
- the classical global optimizer determine a sequence of points during the search process moving towards the coordinates where the second scalar function G is minimum. In each point of the sequence of the iterative process the second scalar function G has to be evaluated.
- the ansatz is parametrized according to the parameters W 1 , W 2 , ..., W P , the coordinates of a certain point of the iterative process of the classical global optimizer, creating the variational state.
- the observable of the quantum state is taken as a sample of the value of the second scalar function G. This process is repeated K times and the result is the mean value of the K sample values.
- the observable of the quantum state provides values 0 or 1 depending on the observed state of the N qubits corresponding to ) or respectively.
- the method departures from the scalar function F(x 1 ,x 2 , ... , x N ) reducing the set of parameters to m: .
- the method is applied to wherein now F new plays the roll of F(x 1 , x 2 , ..., x N ) reducing the set of parameters to m’ wherein m’ ⁇ m.
- This iterative process provides a sequence of scalar functions reproducing the behavior of the original scalar function but requiring a reduced number of parameters wherein the m value is reduced in each iteration (in the first iteration m ⁇ N, in the second iteration m’ ⁇ m an so on) and therefore a highly reduced computational cost for evaluating it.
- This process is stopped when a certain predetermined criteria is reached like the number of parameters of the scalar function.
- FIG. 1 This figure shows an schematic representation of an hybrid computer according to an embodiment of the invention comprising a classical binary processor and a quantum processor.
- Figure 2 This figure shows a specific ansatz of the quantum computer used for determining the best combination of facilities in order to supply the demand.
- Figure 3 This figure shows a second specific ansatz of the quantum computer used for determining the best combination of facilities in order to supply the demand.
- aspects of the present invention may be embodied as a system, method or computer program product.
- FIG. 1 shows a schematic representation of a hybrid computer (1) according to a first embodiment of the invention.
- the hybrid computer (1) comprises a classical binary processor (CP) in communication with a quantum processor (QP).
- the classical binary processor (CP) comprises a central processing unit (CPU) in communication with a memory storage unit (M) where, when running a program, may instantiate objects like a function, a procedure or an object having implemented private and public variables and also private and public methods.
- Supplies and demands are determined by using vectors x j and y j respectively, with dimensions N and C, since they may be implemented in an array in the classical binary processor.
- the optimal combination of transportation volumes between suppliers and demands requires a high computational cost assessing all the combinations such that the cost is minimum.
- Figure 1 represents function F shown as a module (MD) depending on a high number of parameters, the plurality of arrows shown at the left side and the scalar value, the cost, with the arrow located at the right side.
- the purpose of the method is to generate a new instantiated function F new also shown as a module (MD), comprising a lower number m of parameters but providing the same scalar values under determined conditions. That is, the set of m reduced parameters is selected among the N original parameters.
- the new instantiated F new module (MD) requires a highly reduced computational cost when compared with the F module (MD); therefore, the computational resources associated to module (MD) F may be disposed.
- the method for generating the new module (MD) F new , instantiating the new scalar function, form the module (MD) instantiating the original scalar function F is according to the steps disclosed below.
- a matrix R ij denotes normalized transportation volumes, i.e., the proportion of product that goes to customer i form facility j. This matrix satisfies, It is selected a number m ⁇ N of facilities in such a way that supplies x j ⁇ satisfy the demand y i from customers.
- a new cost function F is defined as
- 2 , where s is a vector of decision variables S j ⁇ ⁇ 0,1 ⁇ indicating whether facility j is selected or not, and D is a diagonal matrix D ij x j ⁇ ij , being ⁇ ij ⁇ delta of Kroneker and x j contains the supply of each facility.
- CP classical binary processor
- the second option is used by defining the function where is a constant (Lagrange multiplier) and 1 T the transpose of a vector of ones.
- the term penalizes those combinations not satisfying the cardinality constraint
- 0 m whenever the constant P is high enough.
- P may be of the same order than
- the specific manners to minimize the function H is as follows.
- the quantum state is represented by a complex vector ⁇ (W).
- mapping s i ⁇ 1/2(1 — ⁇ i z ), from bits to Pauli Z matrix ⁇ i z , converts the function H to a matrix H.
- the objective function H(s 1 , ... , s N ) depending on S i , i 1, ... , N, binary values taking the value 0 or 1, satisfies
- the lowest eigenvalue of H now encodes the global minimum of a second scalar function G.
- the parameters minimizing the expected value of are determined which may also be expressed as:
- the result of the observable in each of the five qubits is a bit-string s° that approximately minimizes the second scalar function G subject to the restriction
- 0 m.
- the procedure can be repeated a plurality of times to select the best bit-string from all of them.
- Figure 2 shows a quantum circuit wherein
- Phase-shift gate R y (W j ) may be modelled as
- Each qubit is connected with a CNOT gate with the following qubit in a sequential manner. After this elemental operation, the set of five qubits are observed.
- Figure 3 shows the same part at the left wherein there are five phase-shift gate too after setting for all qubits.
- the set of five qubits are connected though quantum gates using a predefined controlled-Z operator as shown in figure 3. That is, they are z-control binary gates. At the end, the set of five qubits are observed.
- a new matrix R new is generated by selecting those columns of R where x has 1's, similarly with the vector of capacities u, to create a new vector u new where the active components are given by x. Then the following problem is posed
- the new module (MD) has m parameters parameters wherein: the m parameters are selected among the N parameters x 1 ,x 2 , ...,x N ; that is, the m indices i 1 , i 2 , ..., i m of are selected among those satisfying that , where are the N values provided by the variational quantum optimization method, ; and, .
- the new allocated module (MD) instantiating the scalar function F new is represented in figure 1 as using less resources and having a lower number of parameters.
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Complex Calculations (AREA)
Abstract
The present invention is related to a method for optimizing a process in a classical binary processor. The invention is a computer implemented method that combines a classical binary processor and a quantum processor wherein the method receives a high-cost instantiated function and instantiates a new function requiring a much lower computational cost. The method, according to a specific embodiment, may be applied iteratively providing a sequence of functions wherein each function requires a lower computational cost in respect to the previous one converging to a very efficient instantiated function.
Description
METHOD FOR OPTIMIZING A COMPUTING PROCESS IN A CLASSICAL BINA Y
PROCESSOR
DESCRIPCTION
FIELD OF THE INVENTION
The present invention is related to a method for optimizing a computing process in a classical binary processor wherein the computing process is optimized by reducing the number of parameters on which the process depends. The invention is a computer implemented method that combines a classical binary processor and a quantum processor wherein the method receives a high-cost instantiated function and instantiates a new function requiring a much lower computational cost. The method, according to a specific embodiment, may be applied iteratively providing a sequence of functions wherein each function requires a lower computational cost with respect to the previous one converging to a very efficient instantiated function.
One of the technical fields with more intensive development is the optimization of computational processes having very high computational requirements. Some of the strategies are based on the splitting of the whole process into a plurality of tasks that may be processed in parallel using parallel architectures. In many cases the main process may not be implemented in a parallel computer or, even if it is parallelized, the individual tasks still have a very high computational cost or the new parallel paradigm has little impact on the whole process.
In many problems in Engineering uses a process being modeled by a scalar function depending on a plurality of variables. In the context of this invention, an allocated or an instantiated function must be interpreted as an object allocating memory resources and having a plurality of input parameters for transferring data into the object, the specific code for computing the value of the function according to a specific expression or even a more complex algorithm, and an output parameter. Once this function is not used, it can be unallocated, allowing to reuse of memory resources being previously
reserved. Even if a function has been identified with an object, this interpretation is not limited to implementations based on the use of object-oriented programing languages.
When a computing process depends on multiple evaluations of such function, the processor must prepare the set of variables to be transferred to the instantiated function, to evaluate with the code implementing the evaluation algorithm and preparing the result to return the scalar value. When the computational cost resulting from executing the code implementing the evaluation algorithm is highly dependent on the number of variables, then only classical code optimization methods may be applied.
According to this invention, the method provides an automatic method for reducing the number of variables by selecting a subset of variables in such a manner that the resulting subset of variables reproduces the same behavior on the function when removing the dependency with the rest of the variables.
This is also a problem with a high computati d that in practice
prohibitive computational resources. Such problem involves choosing m variables out of N original variables requiring brute force to try combinatorial (N,m), which can become a huge number. For example, if N= 100 and m= 20 is the limited number of variables selected, the result is 535,983,370,403,809,600,000 possible combinations not being affordable in a classical computer.
The use of quantum processors is very incipient and they have very limited use since they have their specific form of programming and it is not easy to combine a classic binary computer with a quantum processor.
It is known the patent application No. US20190095811A1 for solving a variational quantum eigenvalue in a quantum computing machine.
There are other publications wherein the quantum processor is specifically programmed for solving a determined problem but it none of them discloses the combination of a classical binary processor and a quantum processor in such a way that allows determining specific combinations of variables among the huge of possible
combination in order to reduce the computational cost of the original scalar function.
DESCRIPTION OF THE INVENTION The present invention is a method for optimizing a process in a classical binary processor combining: - a quantum processor comprising at least N qubits and at least one quantum gate parameterizable with at least one parameter (W1, W2, ... , WP); - a classical binary processor in communication with the quantum processor.
The classical binary processor is the processor where the computational cost is optimized. The quantum processor is an auxiliary unit performing some specific tasks being controlled by the classical binary processor. Specifically, the quantum processor comprises at least a quantum gate with at least one parameter being set by the classical binary processor.
According to some embodiments, the quantum processor comprises a plurality of quantum gates forming a specific ansatz, tha ic combination o
gates.
The method comprises at least the steps: a) receiving in the classical binary processor an allocated scalar function F, the scalar function F depending on N parameters: F(x1, x2, ..., xN); b) determining in the classical binary processor a set of values
minimizing de value of F; c) defining an objective function H(s1, ... , sN) depending on s1,i = 1,..., N, binary values taking the value 0 or 1, satisfying .
The allocated scalar function F depends on N parameters and comprises the code that, when executed over the N parameters (x1, x2, ..., xN), provide the scalar value F(x1, x2, ..., xN). This scalar function is the process to be optimized by the method. The scalar function F shows at least a minimum. For convex functions, the minimum value is unique. The set of values minimizing de value of
F may be chosen among those well-known in the prior art such as Newton- Raphson, Gradient descent or GMRES.
A new objective function H(s1, ... , sN) is defined wherein its parameters are binary values taking the value 0 or 1. These values will used like flags that indicates those variables among the N variables that are kept and, those variables among the N variables that are discarded. The objective function H has matching values with function F, specifically at each coordinate determined by the binary combination s1, ... , sN, the value of the objective function is the value of
; that is, the value of the scalar function F when the coordinates are the set of values where F is minimum except those coordinates where Si = 0 that the coordinate is also zero. The objective function H is therefore construed from the scalar function F(x1, x2, ..., xN) by determining the coordinates where F reaches the minimum, that is , and for all binary combinations s1, ... , sN letting H(s1, ... , sN) =
.
The method further comprises the step d): d) selecting m < N and carrying out a variational guantum optimization method on the guantum processor, being the objective function H(s1, ... , sN) and being the binary variables Si under the constraints ; and, providing as
the observable of the guantum processor corresponding to the minimum of the objective function H(s1, ... , sN).
Step d) provides the specific objective function to the quantum processor H(s1, ... , sN) allowing to use a variational guantum optimization method wherein the quantum processor is adjusted by varying the wave function until the minimum of objective function is obtained and the binary variables Si satisfy the constraint . In such conditions, the observable of the quantum qubits are taken as
the coordinates of the objective function FI corresponding to the minimum, i.e., . These parameters are the direct result of a quantum
measurement of the at least N qubits.
According to an embodiment, the experiment is repeated K times assessing the minimum value as the mean value of all the observations.
The result is a set of N binary variables
, fulfilling the condition
where H(s1, ... , sN ) is minimum and therefore makes the function
) minimum. Actually expressed as .
The method also further comprises: e) allocating a new scalar function Fnew on the classical binary processor depending on m parameters
wherein: - the m parameters
are selected among the N parameters x1, x2, ... , xN; that is, the m indices i1, i2, ... , im of
are selected among those satisfying that , where
are the N values
provided by the variational guantum optimization method, , j = 1, ... , m; and,
-
f f) returning the optimized new scalar function
.
Step e) provides the specific selection of m variables among the original N variables allowing to allocate the new function Fnew having a smaller number of variables. The new allocated function substitutes the original F function but provides the same result with a highly reduced computational cost. That is, the original F function may be disposed freeing the allocated computational resources.
According to a specific embodiment, the classical binary processor is configured to: set a value in the at least one parameter of the guantum processor; and, retrieving an observable of the guantum state of each of the at least N gubits of the guantum processor.
A specific configuration of the classical binary processor allows a communication with the quantum processor allowing to set a value in said quantum processor. In some embodiments, the execution of specific code in the classical binary processor must have access to the hardware of the quantum processor allowing for instance to set parameters of the ansatz that comprises one or more quantum gates modifying the wave representing the states of the qubits. The connection between a bus of data or a register with the parameter value may require an interface for adapting the binary values of the classical binary processor to the parameters of the qubit depending on the physical properties used to configure the quantum gate.
Additionally, the classical binary processor comprises means for carrying out an observation on the quantum state of each of the at least N qubits and transferring the
information to the classical binary processor using 0 or 1 values depending on the state of each qubit, |0) or |1) respectively.
According to an embodiment, the variational quantum optimization method comprises: selecting a variational ansatz in the quantum processor comprising the at least one quantum gate and having parameters W1, W2, ... , WP; defining a second scalar function G wherein
wherein Ψ(W1, W2, ... , WP) is a trial function responsive of the variational ansatz of the quantum processor according to the set of parameters W1, W2, ... , WP; executing a classical global optimizer in the classical binary processor to find parameters W1, W2, ... , WP providing the best approximation to the minimum of the second scalar function G(W1, W2, ... , WP); providing
as the observable of the quantum processor providing the minimum of the objective function G(W1, W2, ... , WP).
The selection of the ansatz has influence on the convergence of the method but it has been proven that any ansatz may be used for this purpose. The ansatz may provide at list P parameters W1, W2, ..., WP which may be different to the number of qubits of the quantum processor.
A second scalar function G is defined within the quantum processor, defined from the objective function H(s1, ... , sN) satisfying
wherein the trial function is adjusted by varying parameters W1, W2, ..., WP from the classical binary processor. The value of the second scalar function G depends on the values of the P parameters; therefore, the search space defined by the set of variables W1, W2, ... , WP is explored using a classical optimization method such as a Newton- Raphson, a Gradient descent or a GMRES.
Once the classical method obtains the best approximation to the minimum of the second scalar function G the observable corresponding to said minimum is determined:
and said observable is the one providing the minimum of the objective function G(W1, W2, ..., WP).
According to another embodiment, the scalar value of the second scalar function G to be minimized in the classical global optimizer is obtained by executing K times, being K a predetermined positive integer number, the following steps: sending instructions to the guantum computer to create the variational state with the at least one parameter W1, W2, ... , WP, retrieving an observable of the guantum state of each of the at least N gubits of the guantum processor and generating a seguence of binary numbers c wherein kj is 0 or 1 depending on the observed state of the corresponding jth gubit,
or
respectively; computing in the classical binary processor an estimate Fk = H (k1, k2, ... , kN); returning the average value .
The classical global optimizer is executed in the classical binary processor in a search space defined by parameters W1, W2, ..., WP. The classical global optimizer determine a sequence of points during the search process moving towards the coordinates where the second scalar function G is minimum. In each point of the sequence of the iterative process the second scalar function G has to be evaluated. The ansatz is parametrized according to the parameters W1, W2, ..., WP, the coordinates of a certain point of the iterative process of the classical global optimizer, creating the variational state. The observable of the quantum state is taken as a sample of the value of the second scalar function G. This process is repeated K times and the result is the mean value of the K sample values.
The observable of the quantum state provides values 0 or 1 depending on the observed state of the N qubits corresponding to
) or
respectively. The sequences of the binary values may be identified as k2, k2, ... , kN. This sequence is taken as the argument of the objective function Fk = H(k1,k2, ... , kN ) which is the scalar value used for computing the mean value.
According to another embodiment, the method departures from the scalar function F(x1,x2, ... , xN) reducing the set of parameters to m:
. In the next iteration, the method is applied to
wherein now Fnew plays the roll of F(x1, x2, ..., xN) reducing the set of parameters to m’ wherein m’ < m. This
iterative process provides a sequence of scalar functions reproducing the behavior of the original scalar function but requiring a reduced number of parameters wherein the m value is reduced in each iteration (in the first iteration m < N, in the second iteration m’ < m an so on) and therefore a highly reduced computational cost for evaluating it.
This process is stopped when a certain predetermined criteria is reached like the number of parameters of the scalar function.
DESCRIPTION OF THE DRAWINGS
These and other features and advantages of the invention will be seen more clearly from the following detailed description of a preferred embodiment provided only by way of illustrative and non-limiting example in reference to the attached drawings.
Figure 1 This figure shows an schematic representation of an hybrid computer according to an embodiment of the invention comprising a classical binary processor and a quantum processor.
Figure 2 This figure shows a specific ansatz of the quantum computer used for determining the best combination of facilities in order to supply the demand. Figure 3 This figure shows a second specific ansatz of the quantum computer used for determining the best combination of facilities in order to supply the demand.
DETAILED DESCRIPTION OF THE INVENTION
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product.
Figure 1 shows a schematic representation of a hybrid computer (1) according to a first embodiment of the invention. The hybrid computer (1) comprises a classical binary
processor (CP) in communication with a quantum processor (QP). The classical binary processor (CP) comprises a central processing unit (CPU) in communication with a memory storage unit (M) where, when running a program, may instantiate objects like a function, a procedure or an object having implemented private and public variables and also private and public methods.
In the embodiment shown in figure 1, a method for determining the operative conditions in a supply chain wherein there are available N facilities to supply the demand o C >= N custumers.
This task is high demanding from the computational cost point of view. Supplies and demands are determined by using vectors xj and yj respectively, with dimensions N and C, since they may be implemented in an array in the classical binary processor. The optimal combination of transportation volumes between suppliers and demands requires a high computational cost assessing all the combinations such that the cost is minimum.
Figure 1 represents function F shown as a module (MD) depending on a high number of parameters, the plurality of arrows shown at the left side and the scalar value, the cost, with the arrow located at the right side. The purpose of the method is to generate a new instantiated function Fnew also shown as a module (MD), comprising a lower number m of parameters but providing the same scalar values under determined conditions. That is, the set of m reduced parameters is selected among the N original parameters. The new instantiated Fnew module (MD) requires a highly reduced computational cost when compared with the F module (MD); therefore, the computational resources associated to module (MD) F may be disposed.
The method for generating the new module (MD) Fnew, instantiating the new scalar function, form the module (MD) instantiating the original scalar function F is according to the steps disclosed below.
As it has been indicated above, supplies and demands are represented by vectors Xj and yi respectively, with dimensions N and C. A matrix Rij denotes normalized transportation volumes, i.e., the proportion of product that goes to customer i form facility j. This matrix satisfies,
It is selected a number m < N of facilities in such a way that supplies xj· satisfy the demand yi from customers. The logistic design determined by Rij will be deemed fixed and therefore the amount of product Xj supplied by each facility is computed knowing that it cannot exceed the maximum capacity uj. This condition may be expressed as xj ≤ uj ∀j = 1, ...,N
A new cost function F is defined as
F = ||y — Rx||2 Therefore, the problem comes down solving the following optimization problem for vector x of N components arg min F x
||x||0 = m
Xj ≥ 0, ∀j = 1, ...,N Xj ≤ uj ∀j = 1, ...,N wherein
stands for the 0-norm, which indicates the number of components different from 0.
The cost function can be expressed as F = ||y — RDs ||2, where s is a vector of decision variables Sj ∈ {0,1} indicating whether facility j is selected or not, and D is a diagonal matrix Dij = xjδij, being δij· delta of Kroneker and xj contains the supply of each facility.
The next step of the method solves the following optimization problem by means of the classical binary processor (CP), assuming there are no restrictions to the number of facilities selected (in other words, the vector s is a vector of ones), arg minxF =|| y — RDs ||2
xj ≥ 0 , ∀j = 1, ...,N xj ≤ Uj ∀j = 1, ...,N
This solution is used for determining matrix D and now a new combinatorial optimization problem is solved by using the quantum processor (QP): arg min H = ||y — RDs ||2
S
||s||0 = m The optimal solution obtained in the classical binary processor (CP) is a set of values minimizing de value of F.
To account for the restriction ||s||0 = m a quantum circuit that avoids unfeasible combinations is selected (simply because the quantum state it produces lives in a subspace that fulfills the restriction), or modify the function H or the function H is modified so that it penalizes unfeasible combinations. According to this embodiment, the second option is used by defining the function
where is a constant (Lagrange multiplier) and 1T the transpose of a vector of ones. The term
penalizes those combinations not satisfying the cardinality constraint ||y||0 = m whenever the constant P is high enough. P may be of the same order than ||y — RD1|| wherein 1 is interpreted as a column vector replacing vector s.
The specific manners to minimize the function H is as follows. The quantum state of the ansatz depends on W = W1, W2, ..., W5, the number parameters and the number of quantum bits of the quantum circuit chosen. In other embodiments the two numbers may be different. The quantum state is represented by a complex vector Ψ(W).
The mapping si → 1/2(1 — σi z), from bits to Pauli Z matrix σi z, converts the function H to a matrix H. The objective function H(s1, ... , sN) depending on Si, i = 1, ... , N, binary values taking
the value 0 or 1, satisfies
The lowest eigenvalue of H now encodes the global minimum of a second scalar function G. With the help of the classical binary processor (CP) and a global optimization method, the parameters minimizing the expected value of
are determined which may also be expressed as:
According to the ansatz shown in figure 2, the quantum circuit is parametrized with parameters W = W1, W2, ..., W5 for m = 5. The result of the observable in each of the five qubits (represented at the right side of figure 2) is a bit-string s° that approximately minimizes the second scalar function G subject to the restriction ||s||0 = m. As the measurement is stochastic, the procedure can be repeated a plurality of times to select the best bit-string from all of them.
Figure 3 shows a second quantum circuit parametrized with parameters W = W1, W2, ..., W5 for m = 5.
Figure 2 shows a quantum circuit wherein |0) is set for all qubits. This input is modified with phase-shift gate Ry(Wj), the phase shift around axis y, wherein the phase-shift in the jth qubit is the parameter Wj. Phase-shift gate Ry(Wj) may be modelled as
Each qubit is connected with a CNOT gate with the following qubit in a sequential manner. After this elemental operation, the set of five qubits are observed.
Figure 3 shows the same part at the left wherein there are five phase-shift gate too after setting for all qubits. In this second quantum circuit the set of five qubits are
connected though quantum gates using a predefined controlled-Z operator as shown in figure 3. That is, they are z-control binary gates. At the end, the set of five qubits are observed.
Once the best bit-string s0 has been obtained in the quantum circuit, it is used for generating the new module (MD) Fnew having a reduced number of arguments. The classical binary processor (CP) allocates a new scalar the new scalar function as a module (MD) Fnew having m = 5 parameters.
Specifically, a new matrix Rnew is generated by selecting those columns of R where x has 1's, similarly with the vector of capacities u, to create a new vector unew where the active components are given by x. Then the following problem is posed
The solution
gives the target vector of supplies . Therefore, the new module (MD)
has m parameters parameters
wherein: the m parameters
are selected among the N parameters x1,x2, ...,xN; that is, the m indices i1, i2, ..., im of
are selected among those satisfying that , where
are the N values
provided by the variational quantum optimization method,
; and, .
The new allocated module (MD) instantiating the scalar function Fnew is represented in figure 1 as using less resources and having a lower number of parameters.
Claims
1.- Method for optimizing a computing process in a classical binary processor (CP) wherein the computing process is optimized by reducing the number of parameters on which the process depends, using: - a quantum processor (QP) comprising at least N qubits and at least one quantum gate (QG) parameterizable with at least one parameter
(W1,W2. wP); - a classical binary processor (CP) in communication with the quantum processor (QP), wherein the method comprises the steps: a) receiving in the classical binary processor (CP) an allocated scalar function F, the scalar function F depending on N parameters: F(x1, x2, ... , xN) and having at least a minimum value; b) determining in the classical binary processor (CP) a set of values
minimizing de value of F; c) defining an objective function H(s1, ... , sN) depending on si, i = 1, ..., N, binary values taking the value 0 or 1, satisfying
d) selecting m < N and carrying out a variational quantum optimization method on the quantum processor (QP), being the objective function H(s1, ... , sN) and being the binary variables si under the constraints
and, providing
as the observable (O) of the quantum processor (QP) corresponding to the minimum of the objective function H(s1, ... , sN), being the observable (O)
the direct result of a quantum measurement of the at least N qubits; e) allocating a new scalar function Fnew on the classical binary processor (CP) depending on m parameters
wherein: - the m parameters
1 2 m are selected among the N parameters x1,x2, ...,xN; that is, the m indices i1, i2, ..., im of
; are selected among those satisfying that , where
are the N values
provided by the variational quantum optimization method, - ; and,
-
; f) returning the optimized new scalar function
.
2.- Method according to claim 1, wherein the classical binary processor (CP) is configured to:
set a value in the at least one parameter of the quantum processor (QP); and, retrieving an observable (O) of the quantum state of each of the at least N qubits of the quantum processor (QP).
3.- A method according to claim 2, wherein the variational quantum optimization method comprises: selecting a variational ansatz in the quantum processor (QP) comprising the at least one quantum gate (QG) and having parameters W1, W2, ..., WP; defining a second scalar function G wherein
wherein Ψ(W 1, W2, ... , WP) is a trial function responsive of the variational ansatz of the quantum processor (QP) according to the set of parameters W1, W2. WP) executing a classical global optimizer in the classical binary processor (CP) to find parameters W1, W2, ..., WP providing the best approximation to the minimum of the second scalar function G( W1, W2, ..., WP ); providing
as the observable (O) of the quantum processor (QP) providing the minimum of the objective function G(W1, W2, ..., WP).
4.- A method according to claim 3, wherein the scalar value of the second scalar function
G to be minimized in the classical global optimizer is obtained by executing K times, being K a predetermined positive integer number, the following steps: sending instructions to the quantum computer to create the variational state with the at least one parameter W1, W2, ..., WP, retrieving an observable (O) of the quantum state of each of the at least N qubits of the quantum processor (QP) and generating a sequence of binary numbers k1, k2, ... , kN wherein k1 is 0 or 1 depending on the observed state of the corresponding jth qubit,
or
respectively; computing in the classical binary processor (CP) an estimate Fk = H(k1, k2, ... , kN); returning the average value .
6.- A method according to any of previous claims, wherein the quantum processor (QP) comprises: - N qubits; - An inlet configured for setting each N qubits as ;
- A phase-shift gate at each N qubit wherein the phase-sift value of the jth qubits is
Wj ; - At least one quantum gate (QG) connecting at least two qubits; - Means for observing the quantum state of the N qubits.
7.- A method according to claim 6, wherein the quantum processor (QP) comprises
N — 1 CNOT quantum gates, sequentially connecting a qubit and the next qubit.
8.- A method according to claim 6, wherein the quantum processor (QP) comprises a plurality of controlled-z operator, each controlled-z operator connecting two qubits.
9.- A computer system comprising: - a quantum processor (QP) comprising at least N qubits and at least one quantum gate (QG) parameterizable with at least one parameter
( W1, W2, ..., WP); - a classical binary processor (CP) in communication with the quantum processor (QP), the computer system adapted to carry out a method according to steps a) to f) of claim
1.
10.- A computer system as claim 9 wherein further adapted to carry out a method according to any of claims 2 to 8.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20382614.4 | 2020-07-08 | ||
EP20382614 | 2020-07-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022008556A1 true WO2022008556A1 (en) | 2022-01-13 |
Family
ID=71614850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2021/068746 WO2022008556A1 (en) | 2020-07-08 | 2021-07-07 | Method for optimizing a computing process in a classical binary processor |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022008556A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095811A1 (en) | 2017-09-22 | 2019-03-28 | International Business Machines Corporation | Hardware-efficient variational quantum eigenvalue solver for quantum computing machines |
-
2021
- 2021-07-07 WO PCT/EP2021/068746 patent/WO2022008556A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095811A1 (en) | 2017-09-22 | 2019-03-28 | International Business Machines Corporation | Hardware-efficient variational quantum eigenvalue solver for quantum computing machines |
Non-Patent Citations (4)
Title |
---|
DANIEL J EGGER ET AL: "Quantum computing for Finance: state of the art and future prospects", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 25 June 2020 (2020-06-25), XP081707073 * |
JIN-MIN LIANG ET AL: "Variational Quantum Algorithms for Dimensionality Reduction and Classification", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 20 March 2020 (2020-03-20), XP081625166, DOI: 10.1103/PHYSREVA.101.032323 * |
PANAGIOTIS KL BARKOUTSOS ET AL: "Improving Variational Quantum Optimization using CVaR", QUANTUM, 13 April 2020 (2020-04-13), pages 256, XP055766241, Retrieved from the Internet <URL:https://arxiv.org/pdf/1907.04769.pdf> [retrieved on 20210118], DOI: 10.22331/q-2020-04-20-256 * |
WARE CORP QC ET AL: "White Paper A quadratic unconstrained binary optimization problem formulation for single-period index tracking with cardinality constraints", 28 August 2018 (2018-08-28), XP055766718, Retrieved from the Internet <URL:http://web.stanford.edu/~rsarkar/materials/index-tracking-white-paper.pdf> [retrieved on 20210119] * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544630B2 (en) | Automatic feature subset selection using feature ranking and scalable automatic search | |
Kaya et al. | Scalable sparse tensor decompositions in distributed memory systems | |
US20210390466A1 (en) | Fast, predictive, and iteration-free automated machine learning pipeline | |
Chin et al. | A learning-rate schedule for stochastic gradient methods to matrix factorization | |
Turner et al. | Characterising across-stack optimisations for deep convolutional neural networks | |
Horsch et al. | An anytime algorithm for decision making under uncertainty | |
JPH1173406A (en) | Method for using support vector machine | |
Ma et al. | Kernel machines that adapt to GPUs for effective large batch training | |
Schittkowski | Optimal parameter selection in support vector machines | |
WO2021061328A1 (en) | Method and apparatus for execution of neural network | |
EP3367310A1 (en) | Method and apparatus for parallelizing layers of deep neural networks onto parallel computing systems | |
Kinnison et al. | Shadho: Massively scalable hardware-aware distributed hyperparameter optimization | |
Zolnouri et al. | Importance of data loading pipeline in training deep neural networks | |
WO2022008556A1 (en) | Method for optimizing a computing process in a classical binary processor | |
CN108108242B (en) | Storage layer intelligent distribution control method based on big data | |
JP2021039751A (en) | Local search using global view for large-scale combination optimization | |
Kokkinos et al. | Simulating parallel scalable probabilistic neural networks via exemplar selection and EM in a ring pipeline | |
Kuchkovsky et al. | Method for optimizing a computing process in a classical binary processor | |
Jarachanthan et al. | ACTS: autonomous cost-efficient task orchestration for serverless analytics | |
Al Maruf et al. | Optimizing DNNs Model Partitioning for Enhanced Performance on Edge Devices. | |
US20230064834A1 (en) | Discrete optimisation | |
Miao et al. | Cuwide: Towards efficient flow-based training for sparse wide models on gpus | |
US20210286650A1 (en) | Dynamic allocation and re-allocation of learning model computing resources | |
CN115023685A (en) | Accelerator for dense and sparse matrix computations | |
Saeed et al. | Enhancing AdaBoost Performance: Comparative Analysis of CPU Parallel Processing on Breast Cancer Classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21742368 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21742368 Country of ref document: EP Kind code of ref document: A1 |