This application is based on and incorporates herein by reference Japanese Patent Application No. 2021-157193 filed on Sep. 27, 2021.
The present disclosure relates to a processing technique for solving a combinatorial optimization problem with binary variables.
In the quantum annealing just varying the transverse magnetic field over time, there was a limit to output the optimal solution with high accuracy in a short annealing time.
According to a first aspect of the present disclosure, a processing system is configured to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits. The processing system includes a processor configured to: perform an annealing process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function; and perform an optimization process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The processor is configured to, in the optimization process: extract, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determine the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and output an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
According to a second aspect of the present disclosure, a processing device is configured to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits. The processing device includes a processor configured to: perform an annealing process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function; and perform an optimization process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The processor is configured to, in the optimization process: extract, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determine the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and output an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
According to a third aspect of the present disclosure, a processing device is configured to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits. The processing device includes a processor. An annealing process is defined as a process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function. An optimization process is defined as a process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The processor is configured to, as the optimization process: extract, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determine the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and output an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
According to a fourth aspect of the present disclosure, a processing method to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits includes: performing an annealing process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function; and performing an optimization process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The optimization process includes: extracting, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determining the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and outputting an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
A fifth aspect of the present disclosure is a processing method to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits. An annealing process is defined as a process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function. An optimization process is defined as a process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The processing method includes, as the optimization process: extracting, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determining the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and outputting an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
A sixth aspect of the present disclosure is a computer program product stored on at least one non-transitory computer readable medium to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits. The computer program product includes instructions configured to, when executed by at least one processor, cause the at least one processor to: perform an annealing process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function; and perform an optimization process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The instructions are configured to, when executed by the at least one processor, cause the at least one processor to, in the optimization process: extract, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determine the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and output an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
A seventh aspect of the present disclosure is a computer program product stored on at least one non-transitory computer readable medium to solve a combinatorial optimization problem with binary variables by controlling a quantum annealer with qubits. An annealing process is defined as a process to individually control, depending on time, each contribution of (i) a cost function that is to be optimized in the combinatorial optimization problem, (ii) a transverse field function that define a magnetic field orthogonal to the cost function, and (iii) an orthogonal field function that defines a magnetic field orthogonal to the cost function and the transverse field function. An optimization process is defined as a process to sequentially determine an optimal value of the contribution of the orthogonal field function for each of the qubits corresponding to one of the binary variables of the combinatorial optimization problem based on a final state of the annealing process. The computer program product includes instructions configured to, when executed by at least one processor, cause the at least one processor to, as the optimization process: extract, from the qubits that have not been optimized, the qubit that optimizes an evaluation indicator for the final state of the annealing process in which an intensity parameter that gives a maximum value of the orthogonal field function is varied, based on a gradient caused by the variation; determine the intensity parameter that gives the optimal value for the extracted qubit based on the gradient; and output an optimal solution of the combinatorial optimization problem by mapping a set of the intensity parameters determined for each of the qubits.
Hereinafter, an embodiment of the present disclosure will be described with reference to the drawings.
A processing system 1 of an embodiment shown in
The dedicated computer of the processing system 1 has at least one memory 10 and at least one processor 12. The memory 10 is at least one type of non-transitory tangible storage medium, such as a semiconductor memory, a magnetic medium, and an optical medium, for non-transitory storage of computer readable programs and data. The processor 12 has a quantum processing unit as a core configured to perform the quantum annealing method. When the dedicated computer of the processing system 1 is a combination of the quantum computer and the classical computer, the processor 12 may include at least one type of, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an RISC (Reduced Instruction Set Computer) CPU, and so on.
The processor 12 of the processing system 1 is configured to execute instructions included in at least one processing program stored in the memory 10 for solving the combinatorial optimization problem with binary variables by controlling the quantum annealer with qubits. Accordingly, the processor 12 builds functional blocks for solving the combinatorial optimization problem by controlling the quantum annealer. The functional blocks built in the processing system 1 includes an annealing block 100 and an optimization block 110 as shown in
The annealing block 100 is realized by a combination of the processor 12 and the memory 10 of the quantum computer. The annealing block 100 may be realized by a combination of the processor 12 and the memory 10 of the classical computer. The annealing block 100 may be realized by combinations of the processors 12 and the memories 10 of the quantum computer and the classical computer. The annealing block 100 performs an annealing process by the annealing method. Specifically, the annealing block 100 of the present embodiment is configured to perform the annealing process such that each contribution of a cost function Hz, a transverse field function Hx, and an orthogonal field function Hy shown in
The QA process is based on an Ising model (i.e. spin glass model) in which qubits correspond to binary variables of the combinatorial optimization problem. As expressed in the formula 1, in the QA processing, the cost function Hz, the transverse field function Hx, and the orthogonal field function Hy are combined to be total Hamiltonian H. In the formula 1,1′ is the elapsed time in the QA process, which varies in the numerical range between 0 and T in the present embodiment as shown in
=A(t)
Z+B(t)
+
y (Formula 1)
A cost function Hz is z-component of the total Hamiltonian H shown in
Coefficient A(t) for the cost function Hz in the formula 1 is expressed in the formula 6 as a function of time shown in
A(t)=at/τ (Formula 6)
The transverse field function Hx is x-component of the total Hamiltonian H shown in
Coefficient B(t) for the transverse field function Hx in the formula 1 is expressed in the formula 8 as a function of time shown in
B(t)=b(1−t/τ) (Formula 8)
The orthogonal field function Hy is y-component of the total Hamiltonian H shown in
Coefficient Ci(t) for the orthogonal field function Hy in the formula 9 is expressed in the formula 10 as a function of time shown in
C
i(t)=ci sin2(πt/τ) (Formula 10)
Through the QA process, the final state of the wave function Ψ shown in
In the time-dependent control of the QA process, the coefficient A(t), which can be called the contribution of the cost function Hz to the total Hamiltonian H, is gradually increased from zero to the final value as the time t passes. Particularly, in the time-dependent control of the present embodiment, the output value of the coefficient A(t) is increased, to the set final intensity parameter a which is an end value, proportionally to the elapsed time t. Further, in the time-dependent control of the QA process, the coefficient B(t), which can be called the contribution of the transverse field function Hx to the total Hamiltonian H, is decreased from the initial value to zero as the time t elapses. Particularly, in the time-dependent control of the present embodiment, the output value of the coefficient B(t) is decreased, from the set initial intensity parameter b which is the initial value, proportionally to the elapsed time t. Further, in the time-dependent control of the QA process, the coefficient Ci(t), which can be called the contribution of the orthogonal field function Hy to the total Hamiltonian H, is increased from zero to the maximum value as the time t elapses, and then is decreased to zero as the time t elapses. Particularly, in the time-dependent control of the present embodiment, the output value of the coefficient Ci(t) is varied proportionally to the square of the sine function such that the output value of the coefficient Ci(t) fluctuates at the midpoint of the elapsed time t until the intensity parameter increases to the set maximum value.
The optimization block 110 shown in
In the QGO process, the intensity parameter ci for each of N qubits whose values (combination of binary values) are to be optimized, i.e. qubits of indexes i (1 to N) which have not optimized yet, is initialized to the reference intensity parameter ci_b expressed in the formula 12. In the present embodiment, the reference intensity parameter ci_b for the qubit of each index is zero as shown in
C
i_b=0 (Formula 12)
In the QGO process, as the intensity parameter ci of each qubit of the index i in addition to the reference intensity parameter ci_b, varied intensity parameter ci_f is set for each qubit of the index i. The varied intensity parameter ci_f is the intensity parameter ci calculated by adding minute quantity Δ to the reference intensity parameter ci_b as expressed in the formula 13. In the QGO process in which the reference intensity parameter ci_b is initialized to zero, the varied intensity parameters ci_f (=Δ) are set as shown in
c
i_f
=c
i_b+Δ=Δ (Formula 13)
In the QGO process, the sensitivity analysis subroutine is iterated based on the reference intensity parameter ci_b and the varied intensity parameter ci_f which is slightly changed from the reference intensity parameter ci_b. In this sensitivity analysis subroutine, the reference intensity parameter ci_b and the varied intensity parameter ci_f are passed from the QGO process performed by the optimization block 110 to the QA process performed by the annealing block 100 as shown in
In response to the passing in the sensitivity analysis subroutine, the annealing block 100 performs the QA process by the quantum annealing for the total Hamiltonian H that includes the varied intensity parameter ci_f corresponding to the index i and the reference intensity parameter ci_b that does not correspond to the index i for each qubit before optimization. As a result, the analysis final state Ψi_f is obtained as the final state Ψ_f of the wave function for the total Hamiltonian H for each qubit before optimization. The qubit before optimization may mean the qubit for which the intensity parameter has not optimized yet. At the same time, the annealing block 100 performs the QA process by the quantum annealing for the total Hamiltonian H that includes the reference intensity parameters ci_b of all indexes i, in common with all qubits before optimization as shown in
In the sensitivity analysis subroutine of the QGO process, the analysis final state Ψi_f and the reference final state Ψb_f are obtained by the optimization block 110 as the measured data of the QA process from the annealing block 100, as shown in
In the sensitivity analysis subroutine of the QGO process, the analysis evaluation indicator Fi is defined as an evaluation indicator that individually evaluates the obtained analysis final state Ψi_f for each qubit before optimization as shown in
F
i=Ψi_f|
z|Ψi_f
(Formula 14)
F
b=Ψb_f|
z|Ψb_f
(Formula 15)
In the sensitivity analysis subroutine of the QGO process, the optimization operation is performed to extract one qubit of index i, whose corresponding analysis evaluation indicator Fi is optimal, from all qubits before optimization. Here, the gradient gi between the analysis evaluation indicator Fi and the reference evaluation indicator Fb according to the individual change of the intensity parameter ci is expressed in the formula 16 for each qubit before optimization using the minute quantity Δ of the individual change. In the optimization operation, the qubit with the largest absolute value of the gradient gi among all qubits before optimization is extracted according to the formula 17 based on the gradient gi of the energy value, which is the analysis evaluation indicator Fi in the present embodiment. Since the index i is used for the optimal qubit in the analysis evaluation indicator Fi after the optimization operation, the indexes k, m are used for the qubits before optimization for explanation.
In the sensitivity analysis subroutine of the QGO process, the optimal intensity parameter ci_o expressed in the formula 18 is determined, as the optimal value of the intensity parameter c for the qubit whose analysis evaluation indicator Fi is optimized, based on the gradient gi of the analysis evaluation indicator Fi of this optimized qubit as shown in
c
i_o
=−c
c sgn gi (Formula 18)
The sensitivity analysis subroutine of the QGO process is repeated each time the optimal intensity parameter ci_o is determined as the optimal value, changing the target to be passed to the QA process by the annealing block 100, as shown in
The passing of the parameters ci_f, ci_b, ci_o and the acquisition of the final states Ψi_f, Ψb_f may each be performed once, which is simultaneous to the qubits before optimized. The passing of the required parameters (see
In the second and subsequent cycles of the sensitivity analysis subroutine that acquired the measured data from such QA process, the optimal intensity parameter ci_o for the qubit whose analysis evaluation indicator Fi is optimized in the current cycle is determined based on the gradient gi. In
In the QGO process, the optimal intensity parameters ci_o for all N qubits are determined by iterating the sensitivity analysis subroutine for N times as shown in
OA=(sgnc1
With the cooperation of the blocks 100, 110 described above, the processing method in which the processing system 1 controls the quantum annealer with qubits to solve the combinatorial optimization problem with binary variables is performed according to the sequence diagram shown in
In S10 of the QGO process, the optimization block 110 initializes the intensity parameters c for all qubits before optimization to the reference intensity parameter ci_b. In S11 of the QGO process, the optimization block 110 sets the varied intensity parameter ci_f for each qubit. The varied intensity parameter ci_f is varied from the reference intensity parameter ci_b. In S12 of the QGO process, the optimization block 110 repeatedly performs the sensitivity analysis subroutine which includes S120-S127.
Specifically, in S120 of the sensitivity analysis subroutine, the optimization block 110 passes the reference intensity parameter ci_b and the varied intensity parameter ci_f to the annealing block 100. After the intensity parameters ci_b, ci_f are passed, the sensitivity analysis subroutine is held back until all measured data is received from the annealing block 100.
In S20 of the QA process started in response to the passing of all measured data, the annealing block 100 acquires the analysis final state Ψi_f, which is independent for each qubit before optimization, by the quantum annealing. Further in S20, the annealing block 100 acquires the reference final state Ψb_f, which is common to the qubits before optimization, by the quantum annealing different from the quantum annealing for the analysis final state Ψi_f. In S21 of the QA process, the annealing block 100 transmits the analysis final state Ψi_f and the reference final state Ψb_f to the optimization block 110 as the measured data.
The passing of the parameters ci_f, ci_b in S120 and the acquisition of the final states Ψi_f, Ψb_f in S20, S21 may each be performed once, which is simultaneous to the qubits before optimization. The passing of the required parameters in S120 and the acquisition and the transmission of the final state Ψi_f in S20, 21 may be alternately performed once for each qubit before optimization, and the passing of the parameter ci_b in S120 and the acquisition and the transmission of the final state Ψb_f in S20, S21 may further be performed once.
In S121 of the sensitivity analysis subroutine resumed in response to the reception of the measured data, the optimization block 110 calculates the analysis evaluation indicator Fi for each qubit before the optimization. In S121, the optimization block 110 calculates the reference evaluation indicator Fb that is common to each qubit before optimization.
In S122 of the sensitivity analysis subroutine, the optimization block 110 calculates the gradient gi between the analysis evaluation indicator Fi and the reference evaluation indicator Fb for each qubit before optimization. In S123 of the sensitivity analysis subroutine, the optimization block 110 extracts, as the optimal qubit based on the gradient gi, one qubit whose analysis evaluation indicator Fi is optimized from the qubits before optimization.
In S124 of the sensitivity analysis subroutine, the optimization block 110 determines, as the optimal value of the intensity parameter ci for the optimal qubit, the optimal intensity parameter ci_o according to the gradient gi of the analysis evaluation indicator Fi for the optimal qubit. In S125 of the sensitivity analysis subroutine, the optimization block 110 determines whether the determination of the optimal intensity parameter ci_o has been completed for all N qubits.
When a negative determination is made in S125, S126 is performed instead of S120 to repeat the sensitivity analysis subroutine. In S126, the optimization block 110 passes, to the annealing block 100, the determined optimal intensity parameter ci_o instead of the reference intensity parameter ci_b of the same index i, and the reference intensity parameter ci_b and the varied intensity parameter ci_f of the other indexes as in S120. After the intensity parameters ci_b, ci_f, ci_o are passed, the sensitivity analysis subroutine is held back until all measured data is received as a result of S20, S21 from the annealing block 100, as in the step following S120.
The passing of the parameters ci_f, ci_b, ci_o in S126 and the acquisition of the final states Ψb_f in S20, S21 may each be performed once, which is simultaneous to the qubits which have not been optimized. The passing of the required parameters in S120 and the acquisition and the transmission of the final state Ψi_f in S20, 21 may be alternately performed once for each qubit before optimization, and the passing of the parameter ci_b in S120 and the acquisition and the transmission of the final state Ψb_f in S20, S21 may further be performed once.
In contrast, when a positive determination is made in S125, the sensitivity analysis subroutine ends and the process proceeds to S127. In S127 of the QGO process, the optimization block 110 outputs the optimal solution OA of the combinatorial optimization problem by mapping the set of the optimal intensity parameters ci_o determined for all N qubits. Further in S127, the optimization block 100 stores the output optimal solution OA to the memory 10. Thus, one cycle of the process shown in the sequence diagram ends.
In the QGO process of the present embodiment, the optimal values of the contribution of the orthogonal field function Hy are sequentially determined for each qubit based on the final state Ψ_f of the QA process for independently controlling the contributions of the cost function Hz, the transverse field function Hx, and the orthogonal field function Hy depending on time. According to the QGO process of the present embodiment, the qubit that gives the optimal evaluation indicator F for the final state Ψ_f of the QA process in which the intensity parameter c for maximizing the orthogonal field function Hy is varied is extracted based on the gradient gi.
According to this, even if the annealing time in the QA process is shortened, the solution space of the combinatorial optimization problem can be narrowed down by sequentially determining the intensity parameter ci, which is the optimal value for extracted qubit, based on the gradient gi. Accordingly, accurate optimal solution OA can be output by mapping the set of the intensity parameters c determined for all qubits. Therefore, accurate optimal solution OA can be obtained with shorter annealing time. Accurate optimal solution OA (i.e. optimal solution OA with high accuracy) may mean the optimal solution with large probability amplitude, or the solution with the cost function Hz having lower value.
Although one embodiment has been described, the present disclosure should not be limited to the above embodiment and may be applied to various other embodiments within the scope of the present disclosure.
In the optimization block 110 that performs S121 of a modification example, the analysis evaluation indicator Fi and the reference evaluation indicator Fb may be defined as the error expressed in the formulas 20, 21 using the probability to find the ground state Ψ_gs of the wave function Ψ, i.e. fidelity. In the optimization block 110 that performs S123, S124 of a modification example, two or more qubits whose analysis evaluation indicators Fi are optimal may be extracted in one cycle of the sensitivity analysis subroutine. In this case, the optimal intensity parameter ci_o may be determined for each optimal qubit. In the annealing block 100 that performs S20 of a modification example, the time-dependent control may be realized by transforming, by time-dependent unitary transformations, Pauli matrix σiy expressed in the formula 9 into the time-dependent Pauli matrix σix and Pauli matrix σiz to make new total Hamiltonian H.
F
i=1−Ψi_f|Ψ_gs
2 (Formula 20)
F
b=1−Ψb_f|Ψ_gs
2 (Formula 21)
The above-described embodiment and the modification example may be realized as a computer device or a semiconductor device (e.g. semiconductor chip) that has at least one processor 12 and at least one memory 10 of the processing system 1. The QGO process of the above-described embodiment and the modification example may be performed by executing computer program other than the program for the QA process by a computer device or a semiconductor device other than the device for the QA process. In this case, the computer device or the semiconductor device that performs only the QGO process may include at least one of the quantum computer and the classical computer as the dedicated computer. The computer device or the semiconductor device that performs only the QGO process may include only the classical computer as the dedicated computer.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2021-157193 | Sep 2021 | JP | national |