The present invention relates to a Potts model computing device which simulates the Potts model using optical pulses.
A conventionally-known von Neumann computer cannot efficiently solve a combinatorial optimization problem classified as an NP problem. As a method of solving a combinatorial optimization problem, there is proposed a method using the Ising model, which is a lattice model for a statistical mechanics analysis of a magnetic material as an interaction between spins arranged in respective sites of a lattice.
It is known that a Hamiltonian H, which is an energy function in the Ising model, is expressed by the following formula (1).
H=ΣijIijσiσj (1)
Here, Jij is a coupling coefficient indicating a correlation between spins on I and j th sites. σi and σj represent spins of the sites and each take on a value of 1 or −1.
In the case of using the Ising model to solve a combinatorial optimization problem, an optimum solution can be attained by obtaining σi at which the system is in a stable (ground) state and the value of energy H is the lowest when the Hamiltonian of the Ising model is provided with Jij, the interaction between the sites. In recent years, attention is being given to a computing device capable of solving a combinatorial optimization problem such as an NP problem by simulating the Ising model using optical pulses (see PTL 1 and NPL 1).
The Ising model computing device implements 1 and −1 of the spins in the Ising model in association with the 0 and π phases of the optical pulses. The phases and amplitudes of the optical pulse train are measured by a measurement unit 3 outside the ring resonator 1 each time the optical pulses circulate, and the measurement result is input to an arithmetic unit 4 provided with the coupling coefficient Jij in advance and is used to compute a coupling signal (feedback input signal) for the i-th pulse,
ΣjJijcj
(cj is the amplitude of an optical pulse in the j-th site).
Further, the computed coupling signal is used to make a correlation between optical pulses forming the optical pulse train by generating an external optical pulse according to the coupling signal computed by an external optical pulse input unit 5 and inputting the external optical pulse to the ring resonator 1.
The Ising model computing device can obtain a solution of the Ising model by circulating and amplifying the optical pulse train in the ring resonator 1 while providing the correlation described above, and measuring the 0 and π phases of the respective optical pulses forming the optical pulse train in a stable state.
Incidentally, a solution to an Ising problem that can be solved by the Ising model computing device is either of binary spins. However, there are a number of combinatorial optimization problems in which a spin to be a solution takes one of more than two values (multiple values), so-called Potts problems (multivalued spin problems). Multivalued Potts problems with more than two values cannot be directly solved by the Ising model computing device, which deals with binary problems. However, since Potts problems that are multivalued problems are widely applicable, there has been a need for a device capable of computing the Potts model (NPL 2) for solving multivalued combinational optimization problems.
The present invention has been accomplished in view of the conventional problem described above. An object of the present invention is to provide a Potts model computing device capable of computing a Potts problem that is a multivalued spin problem.
To achieve the object, the invention according to one embodiment is a Potts model computing device comprising: A Potts model computing device comprising: an Ising model computing device; a computation result storage and determination unit configured to store a value of a set of spins of the Ising model obtained in a case where a coupling coefficient is set in the Ising model computing device and to determine whether a computation is finished; and a coupling coefficient overwriting unit configured to update a coupling coefficient generated based on the stored value of the set of spins to the Ising model computing device, wherein, according to values of the spins of the Ising model obtained as a computation result for an m-th time iterative computation using the Ising model computing device, the coupling coefficient overwriting unit generates a coupling coefficient to be set for an (m+1)-th time computation and updates the generated coupling coefficient to the Ising model computing device, the computation result storage and determination unit determines that a computation is finished in a case where a number of iteration times reaches to Ms (Ms is a natural number), and computes a value Si by substituting a value σi m of a spin obtained as a computation result of the m-th time iterative Ising model computation into the following formula to compute a problem mapped to the Potts model using the Ising model computing devices:
Si=Σm=1Ms(1+σim)2m−2
wherein a possible value of a multivalued spin of the Potts model is Si=0, 1, 2, . . . , M−1 (M is a natural number) and M≤2M S.
Embodiments of the present invention will be described in detail.
Potts Model
A Potts problem (multivalued spin problem) dealt with in a Potts model computing device of the present embodiment can be solved using the Hamiltonian of the following formula (2) called Potts model. In the formula (2), a value of a multivalued spin in a site (node) i forming the Potts model is represented by Si (Si=0, 1, 2, 3 . . . , M−1; M is a natural number indicating a multivalued number), and a coupling coefficient indicating a correlation between sites (nodes) forming the Potts model is represented by Jij (i, j=1, 2, . . . N; indices indicating sites; N indicates the number of sites). The Kronecker delta δ(Si−Sj) is 1 only when Si=Si and is 0 in other cases.
HPotts=ΣijJijδ(Si−Sj) (2)
In the case of solving the Potts problem, a problem to be solved is mapped to Jij in the formula (2). When the multivalued number can be expressed as M=2M S, the formula (2) describing a multivalued spin problem can be rewritten as the following formula (3) by using binary Ising spins σi m, σj m=(±1) with a degree ranging from 1 to Ms. σj m indicates a binary spin value in the site j whose interaction with the site i having a binary spin value σi m with the degree m is considered.
The product of the binary spin interactions in the formula (3) can be rewritten as shown by the following formula (4).
The formula (4) shows that (1+σimσjm)/2 in each of the m-th order terms is equivalent to a binary Ising problem expressed by the formula (1) except for the addition and multiplication of constants (any constants do not affect a solution of the Ising problem). That is, the Potts problem of the multivalued number M (=2M S) can be represented by the product of Ms binary Ising problems. More specifically, in order to derive an interaction between multivalued spins (Potts interaction), it is necessary to consider the Ms product of the Ising interactions (first interaction) between binary spins σi m, σj m in each of the m-th order terms as well as an interaction (second interaction) provided by the infinite product of the first interactions. At this time, the value Si of the multivalued spin having the Potts interaction can be expressed by the following formula (5) using the Ms m-th order binary spins σi m in the formulae (3) and (4).
Si=Σm=1M
Accordingly, the value of the multivalued spin Si to be solved in the Potts problem can be obtained by obtaining the value of the m-th order binary spin σi m when the Ising-like Hamiltonian in the formulae (3) or (4) is brought into a stable state. Further, according to the formulae (3) and (4), the multivalued spin can be determined by obtaining Ms sets of values of N binary spins σi m, σj m (i, j=1, 2, . . . N; indices indicating sites; N represents the number of sites). That is, a problem mapped to the Potts model can be computed by substituting (simulating) the binary spins σi m, σj m (i, j=1, 2, . . . N) with phases of optical pulses (such as 0, π) and providing the phases of the optical pulses with the Potts interaction.
This transformation for the Potts model Hamiltonian will be further described by giving an example of a map coloring problem. Coloring Kyushu with eight colors can be regarded as a multivalued problem in which values from 0 to 7 are assigned to the respective colors used for coloring. The problem can be expressed by using three sets of binary spins σi m, σj m, where M=8=23, that is, m=1, 2, 3 (i, j=1, 2, . . . N; indices indicating sites; N represents the number of sites).
First, two specific adjacent sites in each layer in the graph shown in
In the eight color coloring problem, each site can take on eight values. However, adjacent sites should be colored with different colors. In other words, as to adjacent sites, a solution to the problem is a set of multivalued spins Si obtained by substituting the values (±1) of the sites in each layer into formula (5) in the case where Potts interaction is absent on whole sites.
The multivalued problem can be solved by substituting (emulating) the values (±1) in each layer in the graph of multiple layers described in this problem with phases of optical pulses (such as 0, π).
The PSA 2 efficiently amplifies light of the 0 or π phase with respect to the phase of the pump light source (to be exact, local light used for pump light pulse generation) out of a train of optical pulses having the same oscillation frequency which simulates a spin set of the Ising model. The PSA 2 can be formed by using a nonlinear optical crystal such as periodically poled lithium niobate (PPLN) having a second-order nonlinear optical effect.
If signal light and pump light (excitation light) are input, the PSA 2 generates a weak pulse (idler light) in the 0 or π phase with respect to the phase of the pump light source. Even if only pump light is first input before generation of signal light, the PSA 2 can generate a weak pulse (noise optical pulse) as spontaneous emission light.
If pump light obtained by converting local oscillator light (LO light) having a frequency ω into second harmonic light having a frequency 2ω by a second harmonic generator is input (if there has been no pump light and input of pump is just starting), the PSA 2 generates weak noise light through a parametric down-conversion process. Further, if an optical pulse train that has circulated and propagated through the ring resonator 1 is input to the PSA 2 again, the optical pulse train becomes signal light,
and if the pump light completely phase-matched to the signal light,
is further input to the PSA 2, idler light to be phase conjugate light of the signal light Es,
is generated by optical parametric oscillation (OPO), which is the second-order nonlinear optical effect.
At this time, if the frequency of the signal light corresponds to that of the idler light, the following degenerate wave is output.
Since the output degenerate wave is obtained by addition of the signal light and the idler light in the phase conjugation relationship, a 0 or π phase wave is efficiently amplified. Thus, the PSA 2 amplifies 0 or π phase components of the weak optical pulse train generated first.
The ring resonator 1 causes a plurality of optical pulses (optical pulse train) generated in the PSA 2 to circulate and propagate. The ring resonator 1 can be formed by a ring-shaped optical fiber. The length of the optical fiber is set at a value obtained by adding a length corresponding to a time required for feedback processing to (the number of pulses forming the optical pulse train)×(a pulse interval).
The measurement unit 3 functions as an optical pulse measurement unit that measures the phases and amplitudes of a plurality of optical pulses (optical pulse train) each time the optical pulses circulate through the ring resonator 1 (for each circulation). More specifically, the measurement unit 3 causes the optical pulse train propagating through the ring resonator 1 to branch and makes a coherent measurement of the phase state including amplitudes. The coherent measurement can measure the amplitudes and phases of the optical pulse train input as light to be measured by means of a balanced homodyne detector.
An optical pulse train Esei(ωt+0) is input to the port 1 as light to be measured and reference light EL o eiωt whose amplitude and phase are known is input to the port 2. The optical pulse train input to the port 1 branches at the half mirror 31 into an in-phase component transmitted toward the port 3 and a component reflected toward the port 4 with a phase changed by π. The reference light input to the port 2 branches at the half mirror 31 into an in-phase component transmitted toward the port 4 and an in-phase component reflected toward the port 3.
Output light obtained by interference between the in-phase component of the optical pulse train input to the port 1 and the in-phase component of the reference light input to the port 2,
is output from the port 3. The first photodetector 32 detects an electric signal indicating light intensity,
The opposed phase component of the optical pulse train input to the port 1 interferes with the in-phase component of the reference light input to the port 2, whereby output light,
is output from the port 4. The second photodetector 33 detects an electric signal expressed by light intensity,
The difference computing unit 34 computes a difference between the detection signal in the first photodetector 32 and the detection signal in the second photodetector 33 to output 2EL o Es cos θ.
Since the amplitude EL o of the reference light is known, a value ±E including a cosine (in-phase) component (sign only) of the phase and an amplitude is obtained as a measurement result.
The value obtained as a measurement result is an analog value with a sign (±E). The sign (±) indicates the phase (0 and π) and the analog value (E) indicates the amplitude.
Returning to
More specifically, the arithmetic unit 4 makes a computation according to the following formula (6) with the amplitudes and phases of the optical pulse train measured by the measurement unit 3 and the coupling coefficient. As the arithmetic unit 4, for example, an FPGA can be used.
In the above formula, c1, c2, c3, c4, c5 indicate measurement results of optical pulses in the measurement unit 3 and f1, f2, f3, f4, f5 indicate interactions obtained as computation results. Arithmetic parameters J1 2, J1 3, J1 4, J1 5, J5 3, J5 4 of a matrix are coupling coefficients that describe an Ising model and are determined according to a problem to be solved. However, in the Potts model computing device of the present embodiment, the coupling coefficient is changed multiple times before the provided multivalued problem is solved.
As shown by the above formula, the arithmetic unit 4 makes a computation of multiplying a matrix by a column vector including measurement results in the measurement unit 3, and obtains a column vector that describes interactions between optical pulses. Although an example in which the number of sites equal to the number of optical pulses forming the optical pulse train is five is described here, the size of the square matrix to be used is determined according to the number of sites. The square matrix has a size of (the number of sites)×(the number of sites).
For example, if the number of sites (the number of optical pulses forming the optical pulse train) is N, an interaction computing unit makes a computation of the matrix expressed by the following formula (7), wherein Kij=Jijm,
The external optical pulse input unit 5 implements the magnitude and sign of an interaction relating to an optical pulse by controlling the amplitude and phase of an optical pulse to be overlapped on an optical pulse in the ring resonator 1 by using the computation result computed based on the phase and amplitude of an optical pulse in which only a specific component of the phase and amplitude is measured. The external optical pulse input unit 5 can be formed, for example, using a laser which controls and outputs the amplitude and phase of an optical pulse. Since the computation result of the specific component of the phase and amplitude is obtained, an interaction of only the specific component of the phase and amplitude is implemented.
More specifically, the external optical pulse input unit 5 generates an external optical pulses having the same frequency as the optical pulse train in the ring resonator 1 in an amplitude and phase proportional to the computation result. For example, the external optical pulse input unit 5 synchronizes and inputs an external pulse of a constant frequency so as to synchronize and input a pulse having a frequency corresponding to that of the optical pulse train in the ring resonator 1. The optical pulse train overlapping with the optical pulse train in the ring resonator 1 yields interaction between the optical pulses in the ring resonator 1 that emulates the interaction between spins.
As described above, according to the configuration of feedback input by the external optical pulse input unit 5, the signal c′i(n) of the optical pulse train after the feedback can be expressed by the following formula (8) using the cosine (in-phase) component ci of the i-th optical pulse, the number n of circulations in the resonator, and the rate K of the external pulse.
ci′(n)=ci(n)+Kfi(n) (8)
In the above formula, the optical pulse train c′i(n) after the feedback is obtained by overlapping the optical pulse train ci(n) in the ring resonator 1 with the external optical pulse train (feedback input component),
by the external optical pulse input unit 5 at the coupling rate K.
When input to the PSA 2 again, the optical pulse train c′i(n) expressed by the above formula is amplified to become an optical pulse train ci(n+1). The above configuration enables the Potts model computing device to repeatedly obtain a computation result corresponding to the coupling coefficient by bringing the optical pulse train into a stable state according to the problem while repeating the amplification and feedback.
When bringing the optical pulse train into a stable state according to the problem while repeating the amplification and feedback a predetermined number of iteration times, the computation result storage and determination unit 6 stores a computation result of a set of binary Ising spins obtained by substituting the phase of the optical pulse train with a spin value based on the measurement result measured by the measurement unit 3, that is, (sign(c−i)=±1).
Further, the computation result storage and determination unit 6 determines that a computation is finished if the amplification and feedback in the above configuration and the computation for bringing about a stable state (setting of the coupling coefficient in the coupling coefficient overwriting unit 7) are repeated a number of iteration times necessary for solving the provided Potts problem. If a possible multivalued value of spin is expressed by M=2Ms, the Potts model computing device of the present embodiment may require Ms times of iterative Ising model computations at minimum. In the end of the (Potts model) computation, a multivalued spin value of the Potts model is finally computed based on the computation results previously stored.
If a predetermined finish condition is satisfied, the computation result storage and determination unit 6 can finish the iteration of Ising model computation even in the case where the number of iteration times of computation is less than Ms. The predetermined finish condition is that 1) the number of iteration reaches m=Ms, 2) a coupling coefficient generated subsequent to obtaining the m-th computation result is Jijm+1, m+1=0 (that is, any sign(ci m cj m)=−1 in (i, j) when Jijm≠0), or 3) a coupling coefficient generated subsequent to obtaining the m-th computation result is Jijm+1=Jijm (that is, any sign(ci m cj m)=1 in (i, j) when Jijm≠0). When the above condition is satisfied, the iteration of Ising model computation is finished even if the number of iterations is less than Ms. Even if the values of M and Ms for the coupling coefficient are undetermined, the values of M and Ms can be obtained by an algorithm for finishing a computation based on the computation result.
The coupling coefficient overwriting unit 7 repeatedly sets the coupling coefficient to the computing unit 3. More specifically, the coupling coefficient overwriting unit 7 sets the first coupling coefficient at Jijm=1=Jij and sets the second coupling coefficient onward (m+1-th coupling coefficient) at Jijm+1=Jijm×(1+sign (ci m cj m))×½, using a quadrature component cj m of the i-th pulse and a quadrature component cj m of the j-th pulse of the last (m-th) computation result. This setting makes it possible to regenerate Jij such that a correlation between nodes in which measured spin values do not correspond to each other is excluded from computation targets.
After the coupling coefficient overwriting unit 7 sets the coupling coefficient, a noise optical pulse train is generated again by the PSA 2 to repeat the computation for bringing about a stable state. The computation for bringing about a stable state is repeated Ms times, Ms being a degree when the multivalued spin is expressed in binary (less than Ms times if the finish condition is satisfied), and the computation result storage and determination unit 6 substitutes a set of spin values σi m obtained as computation results of the coupling coefficient set multiple times into the formula (5) to obtain a value of multivalued spins to be a solution to the Potts model.
After the measurement result of the optical pulse train is obtained, the arithmetic unit 4 computes an interaction using a matrix to which the coupling coefficient according to a problem to be solved is mapped (S4). Upon receipt of the computation result, the external optical pulse input unit 5 inputs an external optical pulse generated based on the computation result to the ring resonator 1 and overlaps the external optical pulse with the optical pulse train in the ring resonator 1, thereby providing the optical pulse train with a feedback (S5).
The optical pulse train after the feedback is input again to the PSA 2, amplified by the pump light with the optical pulse train (S6), and circulates and propagates again through the ring resonator 1. The coherent measurement, the computation using the matrix, and the feedback according to the computation result are repeatedly performed for the optical pulse train propagating again through the ring resonator 1.
If such an amplification and feedback for the optical pulse train are repeated a predetermined number of iteration times (S3), the optical pulse train is brought into a stable state. The computation result storage and determination unit 6 stores a computation result obtained by bringing about the stable state (obtaining the value of binary spins σ (=±1) from stable optical phase states 0 or π measured by the measurement unit 3) (S7) and determines whether the number of iteration times of Ising model computation reaches to the degree Ms of the problem to be solved and whether the finish condition is satisfied (S8). If the number of iteration times does not reach Ms and the finish condition is not satisfied (S8: No), the computation result storage and determination unit 6 regenerates Jij based on 0 or π, which is the phase state of the measurement result obtained by the measurement unit 3 in the stable state, sets the generated Jij to the arithmetic unit 4 (S9), generates a noise optical pulse train by the PSA 2 again (S1), and repeats the measurement, feedback, and amplification to bring about a stable state (repetition of S1 to S6, that is, repetition of Ising model computation).
Finally, a solution to the provided problem can be obtained by substituting 0 or π, which is the phase state of the measurement result obtained by the measurement unit 3 in the stable state when the number of iteration times the state becomes stable corresponds to the degree of the problem to be solved or the finish condition is satisfied (S8: Yes), with the spin σ state (±1) of the Ising model and mapping it to the problem to be solved again.
In the present embodiment, an example in which the Ising model computing device is formed by the ring resonator 1, the PSA 2, the measurement unit 3, the arithmetic unit 4, and the external optical pulse input unit 5 has been described. However, the configuration of the Ising model computing device is not limited to this.
The adjustment unit 71 adjusts “the number of nodes,” “a possible value of a multivalued spin on each node,” and “a correlation between nodes” of a provided problem and sets Jij according to the adjusted problem. More specifically, if such a coupling coefficient that the number of nodes is “N” and a multivalued spin value of each node is M is provided, the adjustment unit 71 determines that a possible value of each node is 2M s determined by the minimum Ms satisfying M≤2M s, defines the number of Dn virtual nodes (Dn=2M s−M; M is a natural number), and adds Dn nodes to the original problem with N nodes such that the number of nodes of the problem is (N+Dn). The adjustment unit 71 further maps Jij on the assumption that a newly-introduced virtual nodes have a correlation (coupling) with all the other nodes. For example, if a spin value of each node is different from a spin value of a node in the coupling relationship, since the virtual node has a coupling to all the other nodes, it is clear that a possible value of the virtual node obtained as a solution is different from the values of all the other nodes. Accordingly, the rest of the multivalued values (multivalued values originally set as a problem) are assigned to nodes other than the virtual node.
When a coloring problem of coloring seven prefectures of Kyushu (N=7) with three colors is input, since a possible value is 4 from M=3≤22 and the number of virtual nodes is Dn=22−3=1, the adjustment unit 71 defines one virtual node. The adjustment unit 71 generates Jij on the assumption that the number of nodes is 8, which is larger by one (the number of virtual nodes) than the number of nodes input as a problem, and the number of colors to be used for coloring is 4, which is larger by one than the number of colors to be actually used, and maps the generated Jij to the arithmetic unit 4. At this time, as shown in
By this setting, as shown in
Number | Date | Country | Kind |
---|---|---|---|
JP2017-202986 | Oct 2017 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2018/038997 | 10/19/2018 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2019/078355 | 4/25/2019 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20170024658 | Utsunomiya et al. | Jan 2017 | A1 |
20170068632 | Yoshimura | Mar 2017 | A1 |
Number | Date | Country |
---|---|---|
2015156126 | Oct 2015 | WO |
Entry |
---|
International Search Report dated Jan. 8, 2019, issued in PCT Application No. PCT/JP2018/038997, filed Oct. 19, 2018. |
Takahiro Inagaki et al., A Coherent Ising Machine for 2000-node Optimization Problems, Science, Nov. 4, 2016, vol. 354, No. 6312, pp. 603-607. |
F.Y. Wu, The Potts Model, Rev. Mod. Phys., 1982, vol. 54, No. 1, pp. 235-268. |
Number | Date | Country | |
---|---|---|---|
20200279062 A1 | Sep 2020 | US |