The present invention relates to a computer that enables fast computation of such inverse problems that require exhaustive search.
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 τ.
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.
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.
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.
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.
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.
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).
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.
γ 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.
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.
{circumflex over (σ)}jz/{circumflex over (σ)}jx={circumflex over (B)}jz(t)/{circumflex over (B)}jx(t) [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
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
In the procedure 100 of
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).
Hereinafter, the spins and the effective magnetic fields are alternately determined according to the procedure schematically shown as procedure 100 in
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
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)/γ)).
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.
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
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.
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
The second method is illustrated in
The third method is illustrated in
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
As seen in
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.
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.
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
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
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
These energy values are used for determining a final solution in the third and fourth methods explained in the third embodiment, as illustrated in
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.
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).
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 |
Number | Name | Date | Kind |
---|---|---|---|
20100306142 | Amin | Dec 2010 | A1 |
Number | Date | Country |
---|---|---|
2009-524857 | Jul 2009 | JP |
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. |
Number | Date | Country | |
---|---|---|---|
20160328208 A1 | Nov 2016 | US |