Discrete computation computer and computation program

Information

  • Patent Grant
  • 9952830
  • Patent Number
    9,952,830
  • Date Filed
    Thursday, February 6, 2014
    10 years ago
  • Date Issued
    Tuesday, April 24, 2018
    6 years ago
Abstract
A classical technique relying on thermodynamics is used, and spin sj, which is a variable, is made to follow a local effective magnetic field Bj to bring a system to a ground state of a problem-setting system. The ground state is a solution thereof. At t=0, the effective magnetic field Bj is applied rightward in all the sites, and all the spins sj are initialized rightward. The magnetic field in the z axis direction and the interaction between spins are gradually applied with time t, which finally brings the spins in the +z direction or the −z direction, and the z components of the spins sj become sjz=+1 or −1. In addition, correction parameters originating from quantum mechanical effects are introduced when the direction of the spin sj is made to follow the direction of the effective magnetic field Bj so as to improve calculation performance.
Description
TECHNICAL FIELD

The present invention relates to a computer that enables fast computation of such inverse problems that require exhaustive search.


BACKGROUND ART

Today, as represented by such a term as big data, there is a flood of data. How to analyze and handle the huge amounts of data is a social scientific problem of the highest importance in future information science. Big data typically result from some phenomena. Thus, analysis of big data often corresponds to a certain type of inverse problem for searching a cause from a result. A computer is configured to routinely perform regular processing, and simply performs calculation on the basis of an algorithm when an initial value is given. In general, however, there is no efficient algorithm for such a problem of obtaining an initial value from a result, and an exhaustive search has to be conducted for finding the initial value in the worst case. A computer capable of efficiently solving a problem that requires an exhaustive search would therefore be very useful.


Quantum computers are highly expected to be suitable for exhaustive search problems. A quantum computer is constituted by basic elements called qubits, which can be “0” and “1” at the same time. Computation using all candidates of a solution simultaneously as initial values is thus possible, which provides just the possibility for an exhaustive search. However, a quantum computer needs to maintain quantum coherence over the entire computation time, but there are no prospects therefor.


A technique called adiabatic quantum computing (AQC) has been drawing attention under such circumstances (NPL 1). This method consists of setting a Hamiltonian H^p so that the solution of a problem is a ground state of a system, setting another Hamiltonian H^0 whose ground state is clarified and readily provided, preparing the ground state of H^0 in a computation system first, and changing Hamiltonian H^0 to Hamiltonian H^p spending sufficiently long time. A sufficiently slow change allows the system to keep staying in its ground state, which is the principle how to obtain a solution in the adiabatic quantum computing. The computation principle as described above can be described by the Schrodinger equation of Eq. (1) using the Hamiltonian of Eq. (2) where the computation time is represented by τ.










i
















t






ψ


(
t
)





=



H
^



(
t
)






ψ


(
t
)









[

Eq
.




1

]








H
^



(
t
)


=



(

1
-

t
τ


)




H
^

0


+


t
τ




H
^

p







[

Eq
.




2

]







The adiabatic quantum computing is also applicable to problems requiring an exhaustive search, and reaches a solution through a one-way process. If, however, a computational process needs to obey the Schrodinger equation of Eq. (1), the quantum coherence needs to be maintained as similar to quantum computing. Note, however, that the adiabatic quantum computing makes the whole qubit system interact at the same time while quantum computing repeats gate operation on one qubit or between two qubits, and the difference leads to different concepts of coherence. Let us assume a gate operation on a qubit, for example. If there is interaction between this qubit and another qubit in the operation, this will be a cause of decoherence; however, in the adiabatic quantum computing, since all qubits are made to interact at the same time, the case of this example does not correspond to decoherence. In light of this difference, the adiabatic quantum computing is considered to be more robust against decoherence than quantum computing is.


The adiabatic quantum computing, however, also has disadvantages. Even with higher robustness against decoherence than quantum computing, sufficient coherence is still required if the computation process obeys the Schrodinger equation of Eq. (1). In addition, the fact that the system that can achieve the adiabatic quantum computing is a superconducting magnetic flux qubit system is also a disadvantage (PTL 1, NPL 2). This is because use of superconducting requires cryogenic cooling equipment. The requirement of very low temperature is disadvantageous in achieving a practical computer.


CITATION LIST
Patent Literature



  • PTL 1: Japanese Translation of PCT international Application Publication No. 2009-524857



Non-Patent Literatures



  • NPL 1: E. Farhi, et al., “A quantum adiabatic evolution algorithm applied to random instances of an NP-complete problem,” Science 292, 472 (2001).

  • NPL 2: A. P.-Ortiz, “Finding low-energy conformations of lattice protein models by quantum annealing,” Scientific Reports 2, 571 (2012).

  • NPL 3: F. Barahona, “On the computational complexity of Ising spin glass models,” J. Phys. A: Math. Gen. 15, 3241 (1982).



SUMMARY OF INVENTION
Technical Problem

As described above, the adiabatic quantum computing is effective for such difficult problems that require an exhaustive search, but still requires quantum coherence, and also requires cryogenic cooling equipment when superconducting magnetic flux qubits are used. A real problem to be solved is to eliminate these two requirements and provide a practical computer.


An object of the invention is to solve the aforementioned problems, and is to provide a computer that does not require quantum coherence and cryogenic cooling equipment and to provide a computation program.


Solution to Problem

One aspect of the invention for solving the aforementioned problems provides a computer including: a computing unit; a storage unit; and a control unit, the computer being configured to perform computation while exchanging data between the storage unit and the computing unit under control of the control unit, wherein N variables sj (j=1, 2, . . . , N) have a range of −1≤sj≤1, a program is set through setting local field gj and interaction Jij between variables (i, j=1, 2, . . . , N), and sj=−1 or 1 is a final solution, time axis is divided into m parts and computation is performed discretely from t=t0 (t0=0) to tm, an initial value is set to sj(t0)=0 at t=t0 and a value of variable sj(tk) at each time tk is determined using Bj(tk)=(ΣiJijsi(tk−1)+gj)tk/tm, and a function f is defined to give sj(tk)=f(Bj(tk) so that sj(tk) has a range of −1≤sj(tk)≤1, tk), and sj is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and finally sj=−1 is determined as a solution if sj<0 or sj=1 is determined as the solution if sj>0.


Another aspect of the invention for solving the aforementioned problems provides a computer including: a computing unit; a storage unit; and a control unit, the computer being configured to perform computation while exchanging data between the storage unit and the computing unit under control of the control unit, wherein N vector variables sj (j=1, 2, . . . , N, |sj|=1) are used, a program is set through setting local field gj and interaction Jij between variables (i, j=1, 2, . . . , N), and the z component of sj is a final solution as sjz=−1 or 1, and time axis is divided into m parts and computation is performed discretely from t=t0 (t0=0) to tm, the x component of sj has an initial value of sjx(t0)=1, the z component thereof is sjz(t0)=0, a value of variable sjz(tk) at each time tk is determined using Bjx(tk)=γ(1−tk/tm) and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm or using Bjx(tk)=γ and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm, γ being a constant, functions f1 and f2 are defined to give sjz(tk)=f1(Bjx(tk), Bjz(tk)), sjx(tk)=f2(Bjx(tk), Bjz(tk)) so that a vector variable sj(tk) becomes |sj(tk)|=1 or |sj(tk)|<1, sjz is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and finally sjzd=−1 is determined as a solution if sjz<0 or sjzd=1 is determined as the solution if sjz>0.


Still another aspect of the present invention for solving the aforementioned problems provides a computation program to be executed by a computing unit, wherein N variables sj (j=1, 2, . . . , N) have a range of −1≤sj≤1, a problem is set through setting local field gj and interaction Jij between variables (i, j=1, 2, . . . , N), and sj=−1 or 1 is a final solution, time axis is divided into m parts and computation is performed discretely from t=t0 (t0=0) to tm, an initial value is set to sj(t0)=0 at t=t0, and a value of variable sj(tk) at each time tk is determined using Bj(tk)=(ΣiJijsi(tk−1)+gj)tk/tm, and a function f is defined to give sj(tk)=f(Bj(tk), tk) so that sj(tk) has a range of −1≤sj(tk)≤1, and sj is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and finally sj=−1 is determined as a solution if sj<0 and sj=1 is determined as the solution if sj>0.


Advantageous Effects of Invention

According to the above solution, a classical system can also be used as a computation system, where quantum coherence does not need to be considered and the range of available resources becomes wider. When the energy scale of bits is sufficiently greater than the energy scale of temperature, the temperature can be assumed to be absolute zero in a pseudo manner, which eliminates the need for special equipment and special environment such as cryogenic equipment.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is a schematic diagram explaining an algorithm, which is the principle of the present invention.



FIG. 2 illustrates an example of a flowchart of an algorithm according to the first embodiment.



FIG. 3 illustrates an example of a flowchart of an algorithm according to the second embodiment.



FIG. 4A illustrates an example of a flowchart relating to how to determine the final solution of an algorithm according to the third embodiment.



FIG. 4B illustrates another example of a flowchart relating to how to determine the final solution in the third embodiment.



FIG. 4C illustrates another example of a flowchart relating to how to determine the final solution in the third embodiment.



FIG. 4D illustrates another example of a flowchart relating to how to determine the final solution in the third embodiment.



FIG. 5 is a diagram illustrating an example of a configuration of a computer according to the sixth embodiment.



FIG. 6 is a diagram illustrating another example of a configuration of a computer according to the sixth embodiment.



FIG. 7 is a diagram illustrating an example of a configuration of an adiabatic computation device included in a computer according to the seventh embodiment.





DESCRIPTION OF EMBODIMENTS

Various embodiments are hereinafter described with reference to the drawings and also with reference to the principle of computation in the present invention.


At absolute zero, a ground state is a thermal equilibrium state. A thermal equilibrium state can thermodynamically change to another thermal equilibrium state through a quasistatic process. The change from a ground state to another ground state at absolute zero is thus a process permitted not only in a quantum system but also in a classical system. A computer is thus operated according to a classical algorithm to bring the ground state of a Hamiltonian to the ground state of another Hamiltonian reflecting a problem through a quasistatic process (an adiabatic process). In the present invention, the quasistatic process is achieved in a spin system, where a spin variable responds to a local effective magnetic field. While the spin and the effective magnetic field in the present invention are classical quantities, correction parameters originating from quantum mechanical effects are introduced to determine the direction of the spin that responds to the effective magnetic field so as to improve the performance of computation. Note that a quasistatic process in thermodynamics is conventionally called an adiabatic process in dynamical systems. The terms “quasistatic” and “adiabatic” are synonymous herein.


As described above, a quasistatic process from a ground state to another ground state is also possible in the classical system at absolute zero. The following embodiments describe a classical algorithm for obtaining a ground state as a solution on the basis of this property and a device for implementing the algorithm.


First Embodiment

The first embodiment describes the principle of the present invention, starting with a quantum mechanical description and moving to a classical form. A quantum system described by the Schrodinger equation includes no parameters related to temperature, and its state is called a pure state. In other words, in terms of temperature, the Schrodinger equation describes a state at absolute zero. Thus, the following description will be basically those at absolute zero.


Searching the ground state of the Ising spin Hamiltonian given by Eq. (3) is categorized into an NP-hard problem and is known to be a useful problem (NPL 3).











H
^

p

=


-




i
>
j





J
ij




σ
^

i
z




σ
^

j
z




-



j




g
j




σ
^

j
z








[

Eq
.




3

]







Jij and gj are parameters for setting problems, and σ^jz is the z component of the Pauli spin matrix and has eigenvalues of ±1. i and j represent sites of spins. An Ising spin means a variable that can have only a value of ±1. Equation (3) expresses an Ising spin system since the eigenvalue of σ^jz is ±1. Ising spins in Eq. (3) do not need to be literally spins but may be other physical variables as long as the Hamiltonian is described with Eq. (3). For example, the polarization of light may be it, where vertical polarization and horizontal polarization may be associated with ±1, respectively. Alternatively, the phase of light may be used as will be described in the seventh embodiment. In adiabatic computing in the present embodiment, a computation system is provided in the ground state of the Hamiltonian given by Eq. (4) at time t=0 as similar to the adiabatic quantum computing.











H
^

0

=


-
γ





j




σ
^

j
x







[

Eq
.




4

]







γ is a proportionality constant determined by the magnitude of an external field applied uniformly to all the sites j, and σ^jx is the x component of the Pauli spin matrix. If the computation system consists of spins, the external field means a magnetic field. Equation (4) corresponds to a transverse magnetic field applied, and when all spins are directed in the x direction (γ>0), the state stays in the ground state. Although the problem Hamiltonian is defined by assuming an Ising spin system that includes only the z components, the x components of spins appear in Eq. (4). Thus, the spins during the computation process are not Ising but vectorial (Bloch vector). The Hamiltonian at t=0 is given by Eq. (4). It gradually changes with time t and finally becomes the Hamiltonian described by Eq. (3), whose ground state is the solution.


First, let us examine how a spin will respond to an external field in case of a one-spin system. A Hamiltonian of the one-spin system is given by Eq. (5).

Ĥ=−B·{circumflex over (σ)}  [Eq. 5]


Here, vector σ^ denotes three components of the Pauli spin matrices. The spin is directed along the magnetic field direction in the ground state. The quantum mechanical expectation value of the spin is expressed by <σ^=B/|B|. Since a ground state keeps staying in its state through an adiabatic process, the direction of a spin always follows the magnetic field direction.


The discussion above can also be extended to a multiple-spin system. At t=0, the Hamiltonian is given by Eq. (4). This means that the magnetic field Bjx=γ is uniformly applied to all the spins. At t>0, the x component of the magnetic field gradually weakens according to Bjx=γ(1−t/τ). Regarding the z component, the effective magnetic field is expressed by Eq. (6) based on the interaction between spins.












B
^

j
z



(
t
)


=


t
τ



(





i
=
j





J
ij




σ
^

i
z



+

g
j


)






[

Eq
.




6

]







Since the direction of spins can be defined as <σ^jz>/<σ^jx>, if the direction of spins follows that of the magnetic field, it is determined by Eq. (7). In other words, computation is achieved in a manner that spins, which are variables, are made to follow the local effective magnetic field.

custom character{circumflex over (σ)}jzcustom character/custom character{circumflex over (σ)}jxcustom character=custom character{circumflex over (B)}jz(t)custom character/custom character{circumflex over (B)}jx(t)custom character  [Eq. 7]


Equation (7) is a quantum mechanical description. However, since expectation values are taken, the quantities in Eq. (7) are classical quantities unlike in Eqs. (1) to (6).


On the basis of the above-described principle, a spin system can be brought to the ground state of a problem Hamiltonian through a procedure 100 shown in a timing chart of FIG. 1. Since the description of FIG. 1 relates to classical quantities, spin σ^j of site j is replaced by sj. The effective magnetic field Bj in FIG. 1 is similarly a classical quantity. At t=0, the effective magnetic field Bj is applied rightward in all the sites, and all the spins sj are initialized rightward. The magnetic field in the z axis direction and the interaction between spins are gradually applied with an increase in time t, which finally brings the spins into the +z direction or the −z direction, and the z components of the spins sj become sjz=+1 or −1. Note that the time t is ideally continuous, but is discrete in an actual computation process so as to increase convenience.


Since the spins according to the present invention also have x components in addition to z components, the spins are vectorial spins. Vectorial behaviors can also be understood from FIG. 1. The reason why y components have not been mentioned so far is that the external field has no y components because the external field direction is defined in the xz plane, and thus <σ^y>=0 is satisfied. Spins in the computation system are assumed to be a three-dimensional vector having a magnitude of 1 (which is called Bloch vector and capable of describing a state using a point on a sphere), but only two dimensions are needed according to the definition of the coordinate axes (a state can be described by a point on a circle). In addition, since γ is constant, Bjx(t)>0 (γ>0) or Bjx(t)<0 (γ<0) is satisfied. In this case, a two-dimensional spin vector can be described only in a hemisphere, and the two-dimensional spin vector can be designated with one-component variable of sjz by specifying sjz to be [−1, 1]. A spin in the present invention can thus be expressed as a two-dimensional vector and can also be expressed as a one-dimensional continuous variable with a range of [−1, 1].


In the procedure 100 of FIG. 1, the effective magnetic field at t=tk is first determined at each site, and the directions of the spins at t=tk are determined by Eq. (8) using the field values.

sjz(tk)/sjx(tk)=Bjz(tk)/Bjx(tk)  [Eq. 8]


Since Eq. (8) is rewritten from Eq. (7) to make a classical form, Eq. (8) contains no symbol <⋅>.


Next, the effective magnetic fields at t=tk+1 are determined using the values of the spins at t=tk. The effective magnetic fields at each time are concretely described by Eqs. (9) and (10).











B
j
z



(

t

k
+
1


)


=


(

1
-


t

k
+
1


τ


)


γ





[

Eq
.




9

]








B
j
z



(

t

k
+
1


)


=



t

k
+
1


τ



(





i
=
j





J
ij




s
i
z



(

t
k

)




+

g
j


)






[

Eq
.




10

]







Hereinafter, the spins and the effective magnetic fields are alternately determined according to the procedure schematically shown as procedure 100 in FIG. 1.


In the process of obtaining the x and z components of each spin on the basis of Eq. (8), the magnitude of a spin vector is assumed to be 1. θ is obtained from tan θ=Bjz(tk)/Bjx(tk), and sjz(tk)=sin θ and sjx(tk)=cos θ are obtained. Since these are functions for obtaining sjz and sjx from Bjz(tk) and Bjx(tk) through θ, the functions can also be expressed as sjz(tk)=f1(Bjz(tk),Bjx(tk)) and sjx=f2(Bjz(tk),Bjx(tk)), respectively. The ranges of f1 and f2 are [−1, 1]. Specific description is f1 (Bjz(tk),Bjx(tk))=sin (arctan (Bjz (tk)/Bjx(tk))).


Use of Eq. (9) in Bjx(tk) results in tan θ=Bjz(tk)/{γ(1−tk/tm)}, and the function f1 is then described as f1(Bjz(tk),Bjx(tk))=sjz(tk)=sin(arctan(Bjz(tk)/{γ(1−tk/tm)}))≡f(Bjz(tk), tk). Thus, sjz(tk) can be obtained with only the values of Bjz(tk) and tk. The x component of the effective magnetic field and the x components of the spins, that is, Bjx(tk) and sjx(tk) thus do not need to be obtained. This simplicity simplifies computation devices and increases computation speed. Let a final solution be sjzd, which needs to be sjzd=−1 or 1. The solution is sjzd=1 if sjz (τ)>0, and sjzd=−1 if sjz (τ)<0.


In the adiabatic computation technique, it is assumed that the external field in the x axis direction is reduced with time and disappears at t=τ. However, if |Bjz(τ)|>>|Bjx(τ)| is satisfied at t=τ, the procedure 100 in FIG. 1 may be processed while Bjx(tk) is kept constant. In this case, further simplification is possible, and a simplified computation is obtained like f1(Bjz(tk),Bjx(tk))=sjz (tk)=sin(arctan(Bjz(tk)/γ))≡f(Bjz(tk)).


In summary of the above, if tan θ=Bjz(tk)/{γ(1−tk/tm)} or tan θ=Bjz(tk)/γ. function f1 can be described as f1(Bjz(tk),Bjx(tk))=f(Bjz(tk), tk)=sin(arctan(Bjz(tk)/{γ(1−tk/tm)})) or f1(Bjz(tk),Bjx(tk))=f(Bjz(tk))=sin(arctan(Bjz(tk)/γ)).



FIG. 2 illustrates the flowchart of the algorithm of the first embodiment described above, where tm=τ. Sequential steps 101 to 109 in the flowchart in FIG. 2 correspond to processes from time t=0 to time t=τ in the procedure 100 in FIG. 1. Specifically, steps 102, 104, and 106 of the flowchart respectively correspond to Eqs. (9) and (10) at t=t1, tk+1, and tm. The solution is obtained to be sj=−1 if sj<0 and sj=1 if sj>0 (109) in the final step 108.


In the present embodiment, it has been described so far how the problem described by Eq. (3) is solved. Next, let us describe a specific example on how a specific problem is expressed by Eq. (3) with local field gj and interaction Jij between variables (i, j=1, 2, . . . , N). For example, let us consider a problem of power supply control as a specific problem. In this case, the local field denotes a quantity of natural phenomenon such as temperature or power consumption. Specifically, it is assumed that local field gj (j=1 to 10) denotes the temperature of each area, local field gj (j=11 to 20) denotes power consumption at a public facility (a library, a cinema, a supermarket, etc.) located in each area, and local field gj (j=21 to 100) denotes power consumption at each house.


σ^jz (j=11 to 100) is assumed to be a variable expressing where to distribute power. Since j=1 to 10 is a suffix denoting temperature, σ^jz (j=1 to 10) does not express power distribution but is a variable for making the temperature affect the activity of each public facility or house. Since temperature is determined by natural phenomena and should be affected little by man-caused factors, local field gj (j=1 to 10) is set to a large value so that σ^jz (j=1 to 10) will not be affected by other variables.


The correlation strength between temperature and the activity of a public facility or a house is expressed through the interaction Jij between variables. The correlation between temperature and power consumption is also affected by the concept of power sharing suggested in recent years. An example thereof is an attempt of reducing power consumption at homes by going to public facilities instead of using air conditioners at homes during the time when air conditioning is needed. Such attempt is expressed in such a manner that the interaction Jij between variables of a suffix i=11 to 20 denoting a public facility and a suffix j=21 to 100 denoting a house is set to a value other than zero. However, since the interaction based on this concept is smaller than the direct correlation between the temperature and the activity at a house, the value of the interaction Jij between variables here is relatively small. Furthermore, since people in respective houses do not live their lives independent of other houses but houses should affect one another, the interaction Jij (i, j=21 to 100) between variables is finite. Through such examination as described above, the interaction Jij between variables is specifically set, and an optimum power supply distribution (eigenvalue of σ^jz=+1 or −1) is obtained through the ground state search of Eq. (3).


If σ^jz for each item cannot be expressed by one variable, multiple spins σ^jz may be used, and then multiple local fields gj and interactions Jij between variables are also used for each item accordingly. σ^jz is a variable expressing power distribution, which is correlated with activities of people and an open/close status of a public facility. This may result in such an interpretation that “a public facility should be closed” depending on the obtained solution.


The above is a simple example of how a specific problem is described with Eq. (3). Specific problems to which the present embodiment can be applied are not limited to problems of power supply control as presented above, but the present embodiment is applicable to a variety of problems solving such as travel route optimization, circuit design, product supply control, scheduling, and financial asset selection.


Second Embodiment

The first embodiment started with a quantum mechanical treatment, and the quantum-mechanical quantity was transferred to a classical one by taking the expectation value. The algorithm was explained using the classical quantities with reference to FIGS. 1 and 2. While the algorithm of the first embodiment is classical on the basis of the thermodynamic property of the quasistatic process, a quantum mechanical effect can be added to improve performance such as accuracy and computation speed. Thus, the second embodiment describes an embodiment in which an algorithm itself is classical but a correction parameter based on quantum mechanics is added to improve the performance.


Quantum mechanics has the characteristics of linear superposition and quantum entanglement. For example, let us assume a qubit that can take two states of |0> and |1>. The linear superposition means that a state is expressed with a sum like |Ψ>=α|0>+β|1>. This property of linear superposition is already included in the present invention. A spin treated as a vector in the first embodiment corresponds to it. Specifically, if sjz(tk)=1, the state is |0>, and if sjz(tk)=−1, the state is |1>. Expressions |0> and |1> correspond to the case where the quantization axis is selected to be the z axis. When the quantization axis is along the x-axis, the state is described by |Ψ(t0)>=(|0>+|1>)/√2 if sjx(t0)=1 and by |Ψ(t0)>=(|0>−|1>)/√2 if sjx(t)=−1. Considering the x axis means the consideration of linear superposition.


The present embodiment describes the quantum entanglement, which is another quantum mechanical effect. Let us assume a two-qubit system described with |Ψ>=α|00>+β|11>, for example. |α|2+|β|2=1 is satisfied due to a normalization condition. The first variable of |00> and |11> expresses the first qubit, and the second variable thereof expresses the second qubit. Since σ^jz|0>=|0> and σ^jz|1>=−|1> are satisfied according to the properties of the Pauli spin matrix, σ^12|Ψ>=α|00>−β|11> is obtained, and thus <Ψ|σ^1z|Ψ>=|α|2−|β|2. In addition, since σ^1x|0>=|1> and σ^1x|1>=|0> are satisfied, σ^1x|Ψ>=α|10>+β|01> is obtained, and thus <Ψ|σ^1x|Ψ>=0. Furthermore, since σ^1y|0>=i|1> and σ^1y|1>=−i|0> are satisfied, σ^1y|Ψ>=iα|10>−iβ|01> is obtained, and thus <Ψ|σ^1y|Ψ>=0. Thus, <σ^1x(τ)>2+>σ^1y(τ)>2+<σ^12(τ)>2=(|α|2−|β|2)2 is obtained. When α=β that is an extreme example, the quantum entanglement is maximum, <σ^1x(τ)>2+<σ^1y(τ)>2+<σ^1z(τ)>2=0 is obtained, and the magnitude of the first spin vector is 0. This does not occur if there is no quantum entanglement. Let us assume a one-spin system. A state is described by |Ψ>=α|0>+β|1>. Since <Ψ|σ^1zΨ>=|α|2−|β|2, <Ψ|σ^1x|Ψ>=α*β+αβ*, and <Ψ|σ^1y|Ψ>=iαβ*−iα*β, <σ^1x(τ)>2+<σ^1y(τ)>2+<σ^1z(τ)>2=(|α|2+|β|2)2=1 is obtained, and the magnitude is surely maintained to be 1.


The above example showed that the magnitude of a spin vector is not maintained to be 1 if quantum entanglement exists, although just one example only is presented. The magnitude of a spin vector should classically be constant of 1, but it is not 1 if quantum entanglement exists. In the first embodiment, the magnitude of a spin vector was corrected to be 1 using θ of tan θ=<Bjz(t)>/<Bjx(t)>, which was consistent with a classical algorithm. However, in exchange of satisfying the classical condition that the magnitude of a spin vector is conserved, this method does not reflect the property of quantum entanglement that this system inherently has. Therefore, let us consider a method that partly reflects the property of quantum entanglement.


As described above, a spin vector does not maintain its magnitude to be 1. For this reason, let us define a correction parameter rs (0≤rs≤1) expressing the magnitude of a spin. Next let us note that the proportional relation of Eq. (8) is not satisfied when a spin vector does not maintain its magnitude to be 1. To take this fact in, let us define a correction parameter rB and rewrite Eq. (8) into Eq. (11).

sjz(tk)/sjx(tk)=rBBjz(tk)/Bjx(tk)  [Eq. 11]


As similar to the first embodiment, let angle θ be the direction of a spin, i.e., tan θ=sjz(tk)/sjx(tk). From this and Eq. (11), tan θ=rB·Bjz(tk)/Bjx(tk). Since the magnitude of a spin is rs, sjz(tk)=rs sin θ and sjx(tk)=rs cos θ are obtained. The effect of quantum entanglement is thus taken into the classical algorithm through the correction parameters rs and rB in accordance with these relational equations. The expression for f1 is f1(Bjz(tk),Bjx(tk))=rs·sin (arctan(rB·Bjz(tk)/Bjx(tk))).


The short summary of the above part is that the correction parameters rs and rB are added, θ is defined by tan θ=rB·Bj(tk)/γ or tan θ=rB·Bj(tk)/{γ(1−tk/tm)}, and this θ is used to determine sj(tk) by sj(tk)=rs·sin θ. The function f is f(Bj(tk))=rs·sin(arctan(rB·Bj(tk)/γ)) or f(Bj(tk), tk)=rs·sin(arctan(rB·Bj(tk)/{γ(1−tk/tm)})).


These correction parameters rs and rB originate from quantum entanglement, and are preferably controlled finely depending on tk, sjz(tk), and sjx(tk). In actual computation, however, information about quantum entanglement for accurate control is not sufficiently known. This is difficult in principle, and therefore some ways of coping need to be considered. The simplest method is to use constants for the correction parameters rs and rB. When constants are used, the corrections should be slight, typically rs=about 0.9 and rB=about 0.9 as indication although the magnitude is to be determined empirically. However, since the optimum values of the correction parameters rs and rB are dependent on the ranges and the distributions of the values of Jij and local field gj, the correction parameters rs and rB are preferably determined after Jij and local field gj are determined. While the aforementioned indication of rs=about 0.9 and rB=about 0.9 were not larger than 1, the optimum values of correction parameters rs and rB may be 1 or larger depending on the ranges and the distributions of the values of Jij and local field gj. Furthermore, although it is preferable to use both parameters for finely controlling the computation, even if one of the parameters is fixed to be 1 and only the other parameter is used for simplification of the computation, an advantageous effect exists.


A computation process starts with sjx=1 and ends with sjz=±1. Thus, quantum entanglement does not appear at the start and at the end. Quantum entanglement occurs at the intermediate stage of the computation. To take this property reflected, it is effective to set rs=1 and rB=1 at the start and at the end of the computation, to make both rs and rB gradually smaller (larger) as the computation progresses, thereafter to make rs and rB gradually larger (smaller) in reverse, and finally to return to rs=1 and rB=1.


If there are no special characteristics between sites, the correction parameters rs and rB should not be site-dependent; if the characteristics of respective sites are known in advance, it is effective to make the correction parameters rs and rB site-dependent, accordingly.



FIG. 3 illustrates a flowchart for the case of rs and rB being introduced. The difference from the flowchart in FIG. 2 is steps 103, 105, and 107 are respectively replaced with steps 110, 111, and 112 that include the correction parameters rs and rB.


Third Embodiment

As seen in the above-described Eq. (2), etc., the computation time is assumed to be τ. However, there are some methods of determining a final solution. The third embodiment describes various methods for determining the solution.


The first method is illustrated in FIG. 4A. If sjz>0 at t=τ (t=tm)(115), sjzd=1; and if sjz<0, sjzd=−1. The flowcharts of the embodiments described in FIGS. 2 and 3 correspond to this case, and FIG. 4A illustrates a flowchart focusing only on how to determine the solution.


The second method is illustrated in FIG. 4B. The convergence of sjz is checked, and if the sign of sjz has not changed at all times tL during a sufficient period Δt after certain time tk (121), sjzd=1 or −1 is determined on the basis of the sign of sjz at that point (122).


The third method is illustrated in FIG. 4C. Computation is continued until t=τ (t=tm) (115) as similar to the first method, but energy at each stage is calculated on the basis of Eq. (3). Since the eigenvalue of σ^jz in Eq. (3) is ±1, the eigenvalue of σ^jz at each stage of the computation process is determined to be 1 or −1 according to the sign of sjz. Specifically, the eigenvalue of σ^jz is 1 (sjzd=1) if sjz(tk)>0 and the eigenvalue of σ^jz is −1 (sjz=−1) if sjz(tk)<0. The energy is calculated using the eigenvalue of σ^jz, but sjz(tk) (−1≤sjz(tk)≤1) is used in the computation process. The energies at respective times tk are compared with each other when time reaches t=τ (t=tm). If the lowest energy is obtained at time tk′, a final solution is determined in accordance with the sign of sjz(tk′).


Specifically, if sj(tk)<0 at each of times tk, sjzd(tk)=−1, and if sj(tk)>0, sjzd(tk)=1 (119); H(tk)=−Σi>jJijsizd(tk)sjzd(tk)−Σjgjsjzd(tk) is calculated at each time tk (123); and if H(tk) is minimum at time tk, a final solution is sjzd(tk) (124).


The fourth method is illustrated in FIG. 4D. computation is terminated at a stage when all sjz have converged similarly to the second method. A final solution, however, is not determined from sjz at the point of termination, but energies at respective times are calculated similarly to the third method and a final solution is determined from sjz(tk′) at time tk′ when the lowest energy is given (125). A user may determine which method is employed.


Fourth Embodiment

As seen in FIG. 1, computation is executed using a discrete time axis in the present invention. According to the principle of the quasistatic process, shorter discrete-time intervals are better. If the time intervals are too short, however, the computation time will be longer. Thus, the time intervals may be changed with the progress of computation. Important time in a computation process is the point when the sign of sjz changes. Thus, there is no problem in setting the time intervals longer around the start and the end of computation when the sign rarely changes. Therefore, the first method sets the time interval relatively long at the start of computation in a programmatic manner, sets it shorter with time, and thereafter sets it longer in reverse. In the second method, computation is first started with relatively long time interval, the time interval is made shorter at the time point when the sign of one of any spins sjz has changed, and the time interval is further made shorter when the sign of another spin is inverted. That is repeated. In this case, if inversion of spins does not go on during a sufficient time period, the time interval is gradually made longer. In a third method, computation is first started with relatively long time interval, the time interval is made shorter at a time point when the magnitude of one of any spins |sjz| has become sufficiently smaller than that of the other spins, and the time interval is returned to a larger value at a time point when |sjz| has become relatively large. This is repeated.


Fifth Embodiment

If solutions are not degenerated and the ground state is unique, computation is possible using the methods described in the first to fourth embodiments. However, the number of solutions is not limited to one, but there may be two or more solutions. This is a degenerate case. There is also a quasi-degenerate case where energy states are not precisely degenerated but energy values are almost equal. In such a case, a solution may vary depending on an initial value. For that case, there is a method of starting computation with an appropriate value of sjz≠0 as the initial value instead of setting the initial value to sjz=0 and sjx=1. The first method sets each sjz to be a random number. In the second method, computation is first performed with sjz=0 as the initial value and a solution is obtained. Next, the signs of the solution are inverted, and computation is performed again using the inverted values as the initial values. The energy values of both executed results are compared, and the solution with the smaller energy is selected to be a final solution. If the energies of the both results are equal, both solutions are a final solution.


Sixth Embodiment

In the first to fifth embodiments, the computation principle and the computation algorithms have been explained. The sixth embodiment describes an example of a configuration of a computer that performs the algorithms through executing a program. FIG. 5 illustrates an example of a configuration of a computer according to the present embodiment. The configuration of FIG. 5 is basically the same as that of an ordinary computer, in which data are transferred from a main storage device 201, which is a storage unit, to a computation device 202, which is a computing unit, and data are returned to the main storage device 201 after computation. Computation progresses by repeating this. A controller for the process is a control device 203, which is a control unit. Computation with the configuration of the present embodiment is along the flows in FIGS. 2 and 3 and is executed with the computation device 202 for each time and for each site.


Programs to be executed by the computation device 202 are stored in the main storage device 201, which is the storage unit. If the storage capacity of the main storage device 201 is not sufficient, an auxiliary storage device 204, which is also a storage unit, is used. An input device 205 is used for inputting data, programs, and the like, and an output device 206 is used for outputting results. The input device 205 involves an interface for network connections in addition to a manual input device such as a keyboard. The interface also functions as an output device. Although the configuration in FIG. 5 is used to perform the algorithms described in the first to fifth embodiments, equipment itself is an ordinary computer Since an ordinary computer digitally operates, there is no noise basically. In this sense, the system is at absolute zero.


In contrast, there is also a method of using the computation principle and the algorithms described in the first to fifth embodiments including the device configurations as illustrated in FIG. 6, in addition to the algorithm being performed as a program. The configuration of a computer according to the present embodiment illustrated in FIG. 6 additionally includes an adiabatic computation device 1000, which is a computing unit, compared to FIG. 5. The adiabatic computation device 1000 is a computing unit dedicated to execution of the above-described algorithm; general processing is performed with the computation device 202 while only processing related to the adiabatic computation (quasistatic computation) described in the first to fifth embodiments is performed with the adiabatic computation device 1000. Information used in the adiabatic computation device 1000 is transferred from the main storage device 201.


Necessary information includes program-setting parameters such as interaction Jij between variables and local field gj and also includes time parameter tk, correction parameters rs and rB relating to quantum entanglement, and the like. Processing such as synchronization is played by the control device 203 as similar to the computer of the configuration in FIG. 5. If necessary, not only a final result but also information on an intermediate stage are transferred at each parameter tk from the adiabatic computation device 1000 to the main storage device 201 according to instructions from the control device 203. Values transferred from the adiabatic computation device 1000 at intermediate stages of computation are used to calculate the energy of the Ising spin Hamiltonian at the stages, for example.


These energy values are used for determining a final solution in the third and fourth methods explained in the third embodiment, as illustrated in FIGS. 4C and 4D. Because calculating the energy of the Ising spin Hamiltonian is simple due to sjzd=+1 or −1, the ordinary computation device 202 is used therefor. The adiabatic computation device 1000 is a computing unit dedicated to the above-described adiabatic (quasistatic) process, and the ordinary computation device 202 is used for other processes.


Seventh Embodiment

The adiabatic computation device 1000 described in the sixth embodiment is used as an accelerator and can be implemented with an electric circuit, or can also be implemented with an optical system using the phase of light for sjz. The present embodiment relates to an embodiment of an adiabatic computation device implemented with an optical system.



FIG. 7 illustrates a configuration of an adiabatic computation device implemented with an optical system, where the number of bits is four, and each of computation blocks 1100, 1200, 1300, and 1400 constitutes one bit. The computation block 1100 is represented by a bit 1, and the operation of each bit is explained using this bit as an example. Light emitted from a laser source 1101 is phase-modulated in a Mach-Zehnder interferometer 1104 incorporating phase modulators, and then guided to dividers 1111 and 1112. Let light intensities divided into the dividers 1111 and 1112 be I11 and I12, respectively. A spin with −1≤s1z≤1 is expressed as s1z=(I11−I12)/(I11+I12). The division ratio of I11 and I12 is adjusted with the modulator 1104. The modulator 1104 is constituted of two phase modulators. When the modulation amount of one phase modulator is δθ, that of the other phase modulator is −δθ. Thus, the modulations are balanced between two optical paths. The total amount of modulation is 2δθ. A signal for modulation is output from a signal source 1102. At t=t0, the effective magnetic field is only an external field γ, and s1z=0, where phase modulation is performed such that I11=I12. The optical signal is divided with dividers 1111 and 1112, and one of signals divided with dividers 1111 and 1112 is respectively guided to photodetectors 1141 and 1142, and is detected there. The detected signals are transformed into a difference signal with a differential amplifier 1151, which becomes a spin output at t=t0. The other divided signals from the dividers 1111 and 1112 are guided to other bits 1200, 1300, and 1400 to interact with other spins. In this process, the light intensity is adjusted by a gain controller 1120 according to the value of the interaction Jij between variables.


Signals of other bits are also input to the bit of the computation block 1100. Those are due to the interaction Jij between variables. Those signal lights from all the bits for the interaction are multiplexed with multiplexers 1131 and 1132, are detected by photodetectors 1143 and 1144, and are transformed into a difference signal by a differential amplifier 1152. The reason why the difference is taken is because an interaction signal from another bit is sjz=(Ij1−Ij2)/(Ij1+Ij2). Here, the bits have different wavelengths from one another; let oscillation frequencies of any two laser sources be fi and fj; and let the clock frequency of computation be fr; then those frequencies are adjusted to satisfy fr<<fj−fi. This condition is to make negligible the interference effect in multiplexing lights at the multiplexers 1131 and 1132. A signal output from the differential amplifier 1152 is added to a signal from the signal source 1102 with an adder 1103, and is guided to the modulator 1104 as a signal B1z(tk) that is the z component of the effective magnetic field. As a result, time is shifted from time t=t0 to time t=t1. This process is repeated up to t=tm.


In the adiabatic computation device of the present embodiment, an input to the modulator 1104 corresponds to the z component B1z(tk) of the effective magnetic field, and an output from the differential amplifier 1151 corresponds to s1z(tk). Factors tk+1 and Jij in the first term of Eq. (10) and correction parameters rs and rB are adjusted in the gain controller 1120. Factor tk+1 in the second term of Eq. (10) is adjusted in the signal source 1102.


s1z(tk) at each time tk is output to the main storage device 201 and used for analysis based on the algorithm. Those are the principle of the operation in the adiabatic computation device 1000 utilizing the phase of light. The other ordinary computations are executed through communication of data between the main storage device 201 and the computation device 202.


The influence of temperature in the present embodiment is estimated as follows. A bit is controlled with the modulator 1104. Voltage is applied to the modulator 1104 by 3 V to invert a bit, for example. Let e be the elementary charge and let kB be the Boltzmann constant. The temperature corresponding to the voltage is T=3.5×104 K due to T=eV/kB. This value is sufficiently higher than room temperature of 300 K, and therefore, temperature in such an optical system as described in the present embodiment is absolute zero in a pseudo manner.


Note that the present invention is not limited to the embodiments described above, but includes various modifications. For example, the embodiments are not necessarily limited to those including all the features described above, because the embodiments described above were described in detail for better understanding of the present invention. Furthermore, some of features of an embodiment may be replaced with features of another embodiment, and a feature of an embodiment may be added to features of another embodiment. Part of the features in the embodiments may be added from other features, may be deleted, or may be replaced with other features.


Furthermore, although power supply control has been described as an example of problems to which the present invention is applicable, problems to be set are not limited thereto but the present invention is applicable to a variety of problems such as travel route optimization, circuit design, product supply control, scheduling, and financial asset selection.


While the above-described examples about the configurations, functions, processing units, and the like were explained by assuming to execute programs that implement some or all thereof using computing units, it goes without saying that some or all thereof may be implemented by hardware such as integrated circuits designed therefor, for example.


Note that the description of the specification describing the embodiments discloses not only the invention described in the claims but also various inventions. Some of the inventions are listed as in the following notes.


<Notes>


1) A computation program to be executed by a computing unit, the computation program causing computation to be executed, wherein N vector variables sj (j=1, 2, . . . , N, |sj|=1) are used, a problem is set through setting local field gj and interaction Jij between variables (i, j=1, 2, . . . , N), and the z component of sj is a final solution as sjz=−1 or 1, and time axis is divided into m parts and computation is performed discretely from t=t0 (t0=0) to tm, the x component of sj has an initial value of sjx(t0)=1, the z component thereof is sjz(t0)=0, a value of variable sjz(tk) at each time tk is determined using Bjx(tk)=γ(1−tk/tm) and Bjz (tk)=(ΣiJijsiz(tk−1)+gj)tk/tm or using Bjx(tk)=γ and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm, γ being a constant, functions f1 and f2 are defined to give sjz(tk)=f1(Bjx(tk), Bjz(tk)), sjx(tk)=f2(Bjx(tk), Bjz(tk)) so that vector variable sj(tk) satisfies |sj(tk)|=1, sjz is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and finally sjz=−1 is determined as a solution if sjz<0 and sjz=1 is determined as the solution if sjz>0.


2) The computation program according the above 1), wherein a correction parameter rs is added, and the functions f1 and f2 are defined so that the vector variable sj(tk) satisfies |sj(tk)|=rs.


3) The computation program according to the above 2), wherein the correction parameter rs is dependent on tk, Bjz (tk), and Bjx (tk).


4) The computation program according to the above 1), wherein sjzd(tk)=−1 is determined if sjz(tk)<0 and sjzd(tk)=1 is determined if sjz(tk)>0 at each time tk, H(tk)=−Σi>jJijsizd(tk)sjzd(tk)−Σjgjsjzd(tk) is calculated at each time tk, and when H(tk) is minimum at time tk, sjzd(tk) is determined to be a final solution.


5) A computer comprising: a computing unit; a storage unit; and a control unit, the computer being configured to perform computation while exchanging data between the storage unit and the computing unit under control of the control unit, wherein N vector variables sj (j=1, 2, . . . , N, |sj|=1) are used, a problem is set through setting local field gj and interaction Jij between variables (i, j=1, 2, . . . , N), and the z component of sj is a final solution as sjz=−1 or 1, time axis is divided into m parts and computation is performed discretely from t=t0 (t0=0) to tm, the x component of sj has an initial value of sjx(t0)=1, the z component thereof is sjz(t0)=0, a value of variable sjz(tk) at each time tk is determined using Bjx(tk)=γ(1−tk/tm) and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm or using Bjx (tk)=γ and Bjz (tk)=(ΣiJijsiz(tk−1)+gj)tk/tm, γ being a constant, functions f1 and f2 are defined to give sjz (tk)=f1(Bjx (tk), Bjz (tk)), sjx (tk)=f2(Bjx(tk), Bjz (tk)) so that vector variable sj(tk) satisfies |sj(tk)|=1, sjz is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and finally sjzd=−1 is determined as a solution if sjz<0 and sjzd=1 is determined as the solution if sjz>0, and the computing unit includes an adiabatic computation device, and the adiabatic computation device executes computation for obtaining a value of vector variable sjz(tk) at each time tk.


6) A computer comprising: a computing unit; a storage unit; and a control unit, the computer being configured to perform computation while exchanging data between the storage unit and the computing unit under control of the control unit, wherein N variables sj (j=1, 2, . . . , N) have a range of −1≤sj≤1, a problem is set through setting local field gj and interaction Jij between variables (i, j=1, 2, . . . , N), and sj=−1 or 1 is a final solution, time axis is divided into m parts and computation is performed discretely from t=t0 (t0=0) to tm, an initial value is set to sj(t0)=0 at t=t0 and a value of variable sj(tk) at each time tk is determined using Bj(tk)=(ΣiJijsi(tk−1)+gj)tk/tm, and a function f is defined to give sj(tk)=f(Bj(tk), tk) so that sj(tk) has a range of −1≤sj(tk)≤1, sj is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and finally sj=−1 is determined as a solution if sj<0 and sj=1 is determined as the solution if sj>0, and the computing unit includes an adiabatic computation device, the adiabatic computation device executes computation for obtaining a value of variable sj(tk) at each time tk, and the adiabatic computation device uses a phase of laser light as variable sj(tk).


7) A computer according to the above 6), wherein the adiabatic computation device includes N computation blocks corresponding to sj(tk) (j=1, 2, . . . , N), and each of the computation blocks includes a laser source and a modulator configured to perform phase modulation on laser light output from the laser source on the basis of Bj(tk).


REFERENCE SIGNS LIST




  • 100 procedure


  • 201 main storage device


  • 202 computation device


  • 203 control device


  • 204 auxiliary storage device


  • 205 input device


  • 206 output device


  • 1000 adiabatic computation device


  • 1100, 1200, 1300, 1400 computation block


  • 1101 laser source


  • 1102 signal source


  • 1103 adder


  • 1104 modulator


  • 1111, 1112 divider


  • 1120 gain controller


  • 1131, 1132 multiplexer


  • 1141, 1142, 1143, 1144 photodetector


  • 1151, 1152 differential amplifier


Claims
  • 1. A computer which performs discrete computation to solve a problem, the computer comprising: a control unit;a computing unit configured to execute the discrete computation using an effective field equation Bj(tk)=(ΣiJijsi(tk−1)+gj)tk/tm (k=0, 1, . . . m) and (i, j=1, 2, . . . , N); anda storage unit connected to the computing unit and which stores values of the discrete computation,wherein the discrete computation is performed while exchanging data between the storage unit and the computing unit under control of the control unit,wherein:a plurality of variables have a range of −1≤sj≤1,the problem is specified by setting a plurality of local field variables gj and a plurality of interaction variables Jij,the computing unit is further configured to execute the discrete computation from t=t0 (k=0) to tm (k=m), and initial values of sj are set in the storage unit to sj(t0)=0 at t=t0 and values of sj(tk) at each time tk are determined using the effective field equation Bj(tk)=(ΣiJijsi(tk−1)+gj)tk/tm and a function f defined to give sj(tk)=f(Bj(tk), tk) so that sj(tk) has a range of −1≤sj(tk)≤1, andsj is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and sj=−1 is determined as a final solution to the problem if sj<0 and sj=1 is determined as the final solution to the problem if sj>0.
  • 2. The computer according to claim 1, wherein tan θ=Bj(tk)/γ or tan θ=Bj(tk)/{γ(1−tk/tm)} is defined using a proportionality constant γ as what Bj(tk) is transformed into, sj(tk)=sine is defined using θ, and the function f is obtained as f(Bj(tk), tk)=f(Bj(tk))=sin(arctan(Bj(tk)/γ)) or f(Bj(tk), tk)=sin(arctan(Bj(tk)/{γ(1−tk/tm)})).
  • 3. The computer according to claim 1, wherein the computing unit includes an adiabatic computation device, and performs the discrete computation to obtain the values of the variables sj(tk) at each time tk using the adiabatic computation device.
  • 4. The computer according to claim 2, wherein the function f is defined as f(Bj(tk))=rs·sin(arctan(rB·Bj(tk)/γ)) or f(Bj(tk), tk)=rs·sin(arctan(rB·Bj(tk)/{γ(1−tk/tm)})), and θ is defined as tan θ=rB·Bj(tk)/γ or tan θ=rB·Bj(tk)/{γ(1−tk/tm)}, and the variables are defined as sj(tk)=rs·sin θ using θ, where rs and rB are correction parameters.
  • 5. The computer according to claim 4, wherein the correction parameters rs and rB are dependent on tk and Bj(tk).
  • 6. The computer according to claim 1, wherein sjzd(tk)=−1 is obtained if sj(tk)<0 and sjzd(tk)=1 is obtained if sj(tk) >0 at each of the times tk, and the computing unit is further configured to calculate a value of a Hamiltonian H(tk)=−Σi>jJijsizd(tk)sjzd(tk)−Σjgjsjzd(tk) at each time tk, and when the value of H(tk) is a minimum at a time tk′, the values of sjzd(tk′) are determined as the final solution.
  • 7. A computer which performs discrete computation to solve a problem comprising: a control unit;a computing unit configured to execute the discrete computation using an effective field equations Bjx(tk)=γ(1−tk/tm) and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm or by Bjx(tk)=γ and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm, (k=0, 1, . . . m) and i, j=1, 2, . . . , N); anda storage unit connected to the computing unit and which stores values of the discrete computation,wherein:plurality of vector variables sj satisfy |sj|=1,the problem is specified by setting a plurality of local field variables gj and a plurality of interaction variables Jij,the z component of sj is a final solution of the problem and is defined as sjz=−1 or 1,the computing unit is further configured to execute the discrete computation from t=t0 (k=0) to tm (k=m), the x component of sj has initial values set in the storage unit to sjx(t0)=1, the z component of sj has initial values set in the storage unit to sjz(t0)=0, values of sjz(tk) at each time tk are determined using the effective field equations Bjx(tk)=γ(1−tk/tm) and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm or by Bjx(tk)=γ and Bjz(tk)=(ΣiJijsiz(tk−1)+gj)tk/tm, where γ is a constant, and functions f1 and f2 are defined to give sjz(tk)=f1(Bjx(tk), Bjz(tk)), sjx(tk)=f2(Bjx(tk), Bjz(tk)) so that sj(tk) satisfies |sj(tk)|=1, andsjz is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and sjzd=−1 is determined as the final solution if sjz<0 and sjzd=1 is determined as the final solution if sjz>0.
  • 8. The computer according to claim 7, wherein a correction parameter rs is added, and the functions f1 and f2 are defined so that the vector variable sj(tk) becomes |sj(tk)|=rs.
  • 9. The computer according to claim 8, wherein the correction parameter rs is dependent on tk, Bjz(tk), and Bjx(tk).
  • 10. The computer according to claim 7, wherein sjzd(tk)=−1 is obtained if sjz(tk)<0 and sjzd(tk)=1 is obtained if sjz(tk) >0 at each of the times tk, and the computing unit is further configured to calculate a value of a Hamiltonian H(tk)=−Σi>jJijsizd(tk)sjzd(tk) −Σjgjsjzd(tk) each time tk, and when the value of H(tk) is a minimum at a time tk′, the values of sjzd(tk′) is determined as the final solution.
  • 11. A non-transitory, computer readable medium storing a computation program causing a computing unit to perform acts comprising: executing a discrete computation to solve a problem using an effective field equation Bj(tk)=(ΣiJijsj(tk−1)+gj)tk/tm (k=0, 1, . . . m) and (i, j=1, 2, . . . , N),wherein:a plurality of variables sj have a range of −1≤sj≤1,the problem is specified by setting a plurality of local field variables gj and a plurality of interaction variables Jij,the discrete computation is performed from t=t0 (k=0) to tm (k=m),initial values of sj are set to sj(t0)=0 at t=t0, and values of sj(tk) at each time tk are determined using the effective field equation Bj(tk)=(ΣiJijsi(tk−1)+gj)tk/tm, anda function f is defined to give sj(tk)=f(Bj(tk), tk) so that sj(tk) has a range of −1≤sj(tk)≤1, andsj is made closer to −1 or 1 as a time step is taken forward from t=t0 to t=tm, and sj=−1 is determined as a final solution to the problem if sj<0 and sj=1 is determined as the final solution to the problem if sj>0.
  • 12. The non-transitory, computer readable medium according to claim 11, wherein the discrete computation is executed so that tan θ=Bj(tk)/γ or tan θ=Bj(tk)/{γ(1−tk/tm)} is defined using a proportionality constant γ as what Bj(tk) is transformed into, sj(tk)=sin θ is defined using θ, and the function f is obtained as f(Bj(tk), tk)=f(Bj(tk))=sin(arctan(Bj(tk)/γ)) or f(Bj(tk), tk)=sin(arctan(Bj(tk)/{γ(1−tk/tm)})).
  • 13. The non-transitory, computer readable medium according to claim 12, wherein the function f is defined as f(Bj(tk))=rs·sin(arctan(rB·Bj(tk)/γ)) or f(Bj(tk), tk)=rs·sin(arctan(rB·Bj(tk)/{γ(1−tk/tm)})), θ is defined by tan θ=rB·Bj(tk)/γ or tan θ=rB·Bj(tk)/{γ(1−tk/tm)}, and sj(tk) is determined by sj(tk)=rs·sin θ using θ, where rs and rB are correction parameters.
  • 14. The non-transitory, computer readable medium according to claim 13, wherein the correction parameters rs and rB are dependent on tk and Bj(tk).
  • 15. The non-transitory, computer readable medium according to claim 11, wherein sjzd(tk)=−1 is determined if sj(tk)<0 and sjzd(tk)=1 is determined if sj(tk) >0 at each of the times tk, and a Hamiltonian H(tk)=−τi>jJijsizd(tk)sjzd (tk) −Σjgjsjzd(tk) is calculated at each time tk, and when a value of H(tk) is a minimum at a time tk′, the values of sjzd(tk) are determined to be the final solution.
PCT Information
Filing Document Filing Date Country Kind
PCT/JP2014/052763 2/6/2014 WO 00
Publishing Document Publishing Date Country Kind
WO2015/118639 8/13/2015 WO A
US Referenced Citations (1)
Number Name Date Kind
20100306142 Amin Dec 2010 A1
Foreign Referenced Citations (1)
Number Date Country
2009-524857 Jul 2009 JP
Non-Patent Literature Citations (4)
Entry
Edward Farhi, et al., “A quantum Adiabatic Evolution Algorithm Applied to Random Instances of an NP-complete Problem,” Science 292, 472 (2001).
Alejandro Perdomo-Ortiz, el al., “Finding low-energy conformations of lattice protein models by quantum annealing,” Scientific Reports 2, 571 (2012).
Francisco Barahona, “On the computational complexity of lsing spin glass models,” J. Phys. A: Math. Gen. 15, 3241 (1982).
International Search Report of PCT/JP2014/052763 dated Apr. 22, 2014.
Related Publications (1)
Number Date Country
20160328208 A1 Nov 2016 US