Computing device, calculation program, and calculation method
Patent Information
- Application Number
- JP2023136476
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-08-24
Smart Images

Figure 0007909504000049 
Figure 0007909504000050 
Figure 0007909504000051
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a computing device, a computing program, and a computing method.
Background Art
[0002] Optimization problems and the like are solved by a computing device. In a computing device, improvement of computing accuracy is desired.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Embodiments of the present invention provide a computing device, a computing program, and a computing method capable of improving computing accuracy.
Means for Solving the Problems
[0005] According to an embodiment of the present invention, the computing device includes an acquisition unit capable of acquiring a group of problem parameters, and a processing unit. The processing unit is capable of repeatedly performing a first variable update, which updates a first group of variables, and a second variable update, which updates a second group of variables. In the second variable update, the processing unit updates the second group of variables using a function that includes a first term and a second term. The first term includes the first group of variables and a group of branch parameters. The second term includes the group of problem parameters acquired by the acquisition unit and the first group of variables. In the first variable update, the processing unit updates the first group of variables using the second group of variables updated in the second variable update. The group of branch parameters includes a first branch parameter and a second branch parameter. The first branch parameter corresponds to one of a plurality of first variables included in the first group of variables. The second branch parameter corresponds to another of the plurality of first variables. The first initial value of the first branch parameter is different from the second initial value of the second branch parameter. [Brief explanation of the drawing]
[0006] [Figure 1] Figure 1 is a flowchart illustrating the operation of the computing device according to the embodiment. [Figure 2] Figure 2 is a schematic diagram illustrating a computing device according to an embodiment. [Figure 3] Figure 3 is a flowchart illustrating the operation of the computing device according to this embodiment. [Figure 4] Figure 4 is a flowchart illustrating the operation of the computing device according to the embodiment. [Figure 5] Figure 5 is a flowchart illustrating the operation of the computing device according to the embodiment. [Figure 6] Figure 6 is a flowchart illustrating the operation of the computing device according to the embodiment. [Modes for carrying out the invention]
[0007] The embodiments of the present invention will be described below with reference to the drawings. In this specification and in each figure, elements similar to those described above are denoted by the same reference numerals, and detailed explanations are omitted as appropriate.
[0008] (First Embodiment) Figure 1 is a flowchart illustrating the operation of the computing device according to the embodiment. Figure 2 is a schematic diagram illustrating a computing device according to an embodiment. As shown in Figure 2, the computing device 110 according to this embodiment includes a processing unit 70 and an acquisition unit 78. As will be described later, the processing unit 70 can repeatedly execute the first variable update process and the second variable update process.
[0009] The processing unit 70 may include, for example, a CPU (Central Processing Unit). The processing unit 70 may also include, for example, electronic circuits. The computing device 110 may be a computing system.
[0010] In this example, the computing device 110 includes an acquisition unit 78. The acquisition unit 78 can acquire various types of data, for example. The acquisition unit 78 includes, for example, I / O ports. The acquisition unit 78 is an interface. The acquisition unit 78 may also have the function of an output unit. The acquisition unit 78 may also have, for example, a communication function.
[0011] In this example, the computing device 110 includes a storage unit 79a. The storage unit 79a is capable of holding various types of data. The storage unit 79a may be, for example, a memory. The storage unit 79a may include at least one of ROM (Read Only Memory) and RAM (Random Access Memory).
[0012] The computing device 110 may include a display 79b and an input unit 79c, etc. The display 79b may include various display devices. The input unit 79c may include, for example, a device having an operating function (e.g., a keyboard, mouse, touch input panel, or voice recognition input device).
[0013] Multiple elements included in the computing device 110 can communicate with each other by at least one of wireless and wired methods. The locations where the multiple elements included in the computing device 110 are provided may be different from each other. For example, a general-purpose computer may be used as the computing device 110. For example, multiple computers connected to each other may be used as the computing device 110. A dedicated circuit may be used as at least a part of the computing device 110 (for example, the processing unit 70). For example, multiple circuits connected to each other may be used as the computing device 110.
[0014] As shown in Figure 2, the processing unit 70 may include multiple processing parts (for example, a first processing part 70a and a second processing part 70b). The multiple processing parts may operate in parallel. For example, parallel processing (parallel computing) may be performed.
[0015] The following describes examples of operations performed by the computing device 110 according to this embodiment. Figure 1 illustrates an example of an operation performed by the computing device 110.
[0016] As shown in Figure 1, the problem parameter set is obtained (step S110). Step S110 is performed by the acquisition unit 78. In this way, the acquisition unit 78 can obtain the problem parameter set. In one example, the problem parameter set may be, for example, a J matrix.
[0017] As shown in Figure 1, initial values for the branch parameter group are set (step S120). The setting of initial values may be performed, for example, by the processing unit 70. As will be described later, the initial values may be set according to the problem parameter group acquired in step S110, for example. Alternatively, as will be described later, the acquisition unit 78 may acquire information regarding the initial values of at least some of the branch parameter group.
[0018] As shown in Figure 1, the processing unit 70 can repeatedly perform a first variable update, which updates the first group of variables, and a second variable update, which updates the second group of variables (step S130). For example, the first variable update and the second variable update are performed alternately. The order in which the first variable update and the second variable update are performed is arbitrary.
[0019] The execution of the first variable update and the second variable update terminates when a predetermined state is obtained, and the processing result is output (step S140). In one example, when the number of repetitions of the first variable update and the second variable update reaches a predetermined value, step S130 terminates. In step S140, the processing unit 70 outputs the value obtained by the repeated execution of the first variable update and the second variable update. The output may be performed, for example, via an interface (e.g., acquisition unit 78). The value obtained by the repeated execution of the first variable update and the second variable update may be, for example, a function of the first variable.
[0020] The first variable group {x} includes multiple first variables. These multiple first variables are, for example, the first variable x. i It includes. "i" is an integer between 1 and N, and N is an integer greater than or equal to 2. The second variable group {y} includes multiple second variables. Multiple second variables are, for example, the second variable y i The problem parameter set {J} includes multiple problem parameter subsets J. i Includes the problem parameter subgroup {J i} is, for example, J i,j This includes the following: "j" is an integer between 1 and M (inclusive). "M" is an integer greater than or equal to 2.
[0021] In one example, the following first expression is performed when updating the second variable.
number
[0022] In one example, the function f of the first equation is represented by the following second equation. [Number]
[0023] The first term of the first equation includes the first variable group {x} and the branch parameter group {p}. The branch parameter group {p} includes a plurality of branch parameters p i . The first term includes, for example, the product of the first variable group {x} and the branch parameter group {p}.
[0024] For example, the branch parameter group {p} is the component p i,j of the positive definite symmetric matrix P. In the positive definite symmetric matrix P, it is a symmetric matrix in which all eigenvalues are positive real numbers. The first term of the first equation may be given by the following third equation. [Number]
[0025] The first term of the first equation corresponds to the case where the positive definite symmetric matrix P is a diagonal matrix.
[0026] The second term of the first equation includes the problem parameter {J} acquired by the acquisition unit 78 and the first variable group {x}. The second term includes, for example, the sum of products of the problem parameter group {J} and the first variable group {x}. In the first equation, "c" is a parameter. In the second term of the first equation, instead of "x j ", any function of "x j " may be used. The function of "x j " may be, for example, the sign sign(x j j j ) of "x
[0027] During the update of the first variable, the following processing of the fourth expression is performed.
number
[0028] For example, the weight parameter group {m} is the component b of the positive symmetric matrix B. i,j Therefore, the second term of equation 4 may also be given by equation 5 below.
number
[0029] The second term of equation 4 corresponds to the case where the positive value symmetric matrix B is a diagonal matrix.
[0030] In this embodiment, at least two initial values of the branching parameters included in the branching parameter group {p} are not the same. This allows for a more accurate solution. At least two values of the weight parameters included in the weighting parameter group {m} may also be different. This makes it easier to obtain a more accurate solution.
[0031] Multiple branching parameters p included in the branching parameter group {p} i This includes the first branching parameter p1 and the second branching parameter p2. The first branching parameter p1 is a set of multiple first variables x included in the first variable group {x}. i It corresponds to one of the (e.g., x1) values. The second branching parameter p2 is one of multiple first variables x i Corresponds to another one (e.g., x2). First initial value p of the first branch parameter p1 1(0)This is the second initial value p of the second branch parameter p2. 2(0) This is different. This configuration allows for a more accurate solution. First initial value p 1(0) This corresponds, for example, to the first branch parameter p1 at the time of the first update in the repeated updating of the second variable. The second initial value p 2(0) This corresponds, for example, to the second branch parameter p2 at the time of the first update in the repeated updating of the second variable.
[0032] For example, the Hamiltonian H of the system in question is expressed by the following equation 6.
number
[0033] In equation 6, the functions g of {J} and {x} correspond to the objective function of the problem. In one example, the function g may be expressed by equation 7 below.
number
[0034] From equation 6, equations 8 and 9 are derived below.
number
number
[0035] In equation 9, the function f is expressed by the following equation 10.
number
[0036] For example, the Hamiltonian H of the system in question may be expressed by the following equation 11.
number
number
number
[0037] Formulas 6, 8, and 9 correspond to one example relating to Formulas 11, 12, and 13.
[0038] In equation 9 (or equation 1), multiple branching parameters p i Initial value p i0 This is given, for example, by equation 14.
number
[0039] Thus, the initial values of the branching parameter group {p} may be determined based on the problem parameter group {J}. For example, the processing unit 70 may determine the initial values of multiple branching parameters p included in the branching parameter group {p}. i The initial values of can be determined based on the problem parameter set {J}.
[0040] For example, the problem parameter set {J} includes a first problem parameter subgroup J1 and a second problem parameter subgroup J2. The first initial value of the first branch parameter p1 is p 1(0) This is determined, for example, based on the first sum of the absolute values of multiple elements included in the first problem parameter subgroup J1. The second initial value of the second branch parameter p2 is p 2(0) This is determined, for example, based on the second sum of the absolute values of multiple elements included in the second problem parameter subgroup J2. For example, if the first sum is greater than the second sum, then the first initial value p 1(0) is the second initial value p2(0) If the first sum is greater than the second sum, then, for example, the first initial value p 1(0)is the second initial value p2(0) It is smaller than that.
[0041] Thus, multiple branching parameters p i One initial value of may be determined based on a single value (e.g., the sum of the absolute values of the elements) determined by the corresponding problem parameter subgroup. If the single value determined by the corresponding problem parameter subgroup is large, then the corresponding multiple branch parameters p i One of the initial values is set to a large value.
[0042] As described above, the initial value of the branch parameter {p} is set based on the problem parameter {J} (step S120). After this, the processing unit 70 repeatedly performs the first variable update and the second variable update using the set initial value (step S130). The processing unit 70 may change the branch parameter group {p} between the repeated first and second variable updates. For example, the processing unit 70 may change the first branch parameter p1 according to one of the corresponding first variables xi (e.g., x1).
[0043] With respect to equations 4 and 8 above, the following relationship of equation 15 or 16 can be applied to the weight parameter group {m}.
number
number
[0044] The weight parameter group {m} may be eliminated from equations 4 and 8 by applying equation 16.
[0045] In this embodiment, the weight parameter group {m} may be changed according to the first variable group {x}. One of the multiple weight parameters included in the weight parameter group {m} is m. i x is one of several first variables included in the first variable group {x}. i This corresponds to x. i As the absolute value of increases, m iIt is modified to be smaller. The weight parameter group {m} includes the first weight parameter m1 and the second weight parameter m2. The first weight parameter m1 is a set of multiple first variables x i It corresponds to one of the following. The second weight parameter m2 is multiple first variables x i This corresponds to another one of the following. The first weight parameter m1 is different from the second weight parameter m2.
[0046] Thus, different values may be applied as initial values for the branching parameter group {p}, and different values may also be applied as the weight parameter group {m}. Alternatively, different values may be applied as initial values for the branching parameter group {p}, and the same value may be applied as the weight parameter group {m}. Furthermore, as will be described later, the same value may be applied as the initial values for the branching parameter group {p}, and different values may be applied as the weight parameter group {m}.
[0047] The above equations 8 and 9 can be transformed into equations 17, 18, and 19 below.
number
number
number
[0048] The updated formulas corresponding to formulas 17 and 18 are as follows: formulas 20 and 21.
number
number
number
[0049] The processing unit 70 may perform processing based on equations 20 and 21. In this case, at least two initial values included in the group of branch parameters {p'} may be different.
[0050] In an embodiment, at least two values included in the coefficient parameter group {c'} of the second term of Equation 21 may be different from each other. In an embodiment, the multiple branching parameter groups {p'} and coefficient parameter groups {c'} may be changed according to the first variable group {x}.
[0051] If the above-mentioned Models 14 and 15 are adopted, then Model 19 will become Model 23.
number
[0052] If equations 11, 12, and 13 are used as Hamiltonian H, then equations 24, 25, 26, and 27 may be applied.
number
number
number
number
[0053] In equation 26, b' i,k These are the components of the inverse matrix B' of the positive value symmetric matrix B. In equation 26, p k,j (0) is p k,j This is the initial value of . In equation 26, p' k,j (0) is p' k,j These are the initial values. Equations 17, 18, and 19 are examples of equations 24, 25, 26, and 27.
[0054] For example, in the embodiment, parallel processing may be performed. For instance, the processing unit 70 may perform the update of a portion of the second variable group {y} and the update of another portion of the second variable group {y} in parallel during the second variable update.
[0055] For example, as explained with respect to Figure 2, the processing unit 70 includes a first processing unit 70a and a second processing unit 70b. The first processing unit 70a is capable of updating a portion of the second variable group {y} in the second variable update. The second processing unit 70b is capable of updating another portion of the second variable group {y} in the second variable update. At least a portion of the operations in the first processing unit 70a may be executed in parallel (simultaneously) with at least a portion of the operations in the second processing unit 70b.
[0056] Figure 3 is a flowchart illustrating the operation of the computing device according to this embodiment. As shown in Figure 3, in one example, in step S130, the first variable update (step S132) is performed after the second variable update (step S131). The number of repetitions n1 is compared with a defined value Nt (step S133). If the number of repetitions n1 is less than the defined value Nt, the number of repetitions n1 is increased (step S134), and then the process returns to step S131. If the number of repetitions n1 is greater than or equal to the defined value Nt, step S130 is terminated, and the process proceeds to step S140.
[0057] Figure 4 is a flowchart illustrating the operation of the computing device according to the embodiment. As shown in Figure 4, in one of multiple iterations, step S131 may be executed after step S132.
[0058] (Second Embodiment) In the second embodiment, the processing units 70 use different weight parameters. Figure 5 is a flowchart illustrating the operation of the computing device according to the embodiment. As shown in Figure 5, the acquisition unit 78 acquires the problem parameter group {J} (step S110). For example, the processing unit 70 sets the weight parameter group {m} (step S150). The processing unit 70 repeatedly performs a first variable update, which updates the first variable group {x}, and a second variable update, which updates the second variable group {y} (step S130).
[0059] The weight parameter group {m} may be determined based on the problem parameter group {J}. For example, the processing unit 70 may use multiple weight parameters m included in the weight parameter group {m}. i This can be determined based on the problem parameter set {J}. The initial values of the weight parameter set {m} may be determined according to the problem parameter set {J}.
[0060] For example, the problem parameter set {J} includes a first problem parameter subgroup J1 and a second problem parameter subgroup J2. The first weight parameter m1 is determined, for example, based on the first sum of the absolute values of multiple elements included in the first problem parameter subgroup J1. The second weight parameter m2 is determined, for example, based on the second sum of the absolute values of multiple elements included in the second problem parameter subgroup J2. For example, if the first sum is greater than the second sum, then m1 is greater than m2, while for example, if the first sum is less than the second sum, then m1 is less than m2.
[0061] Thus, multiple weight parameters m i This may be determined based on a single value (e.g., the sum of the absolute values of the elements) determined by the corresponding problem parameter subgroup. If the single value determined by the corresponding problem parameter subgroup is large, then the corresponding multiple weight parameters m i It is set to a large value.
[0062] In the second variable update, the processing unit 70 updates the second variable group {y} using a function that includes the first and second terms. The first term includes the first variable group {x} and the branching parameter group {p}. The second term includes the problem parameter group {J} acquired by the acquisition unit 78 and the first variable group {x}. In the first variable update, the processing unit 70 updates the first variable group {x} using the second variable group {y} updated in the second variable update.
[0063] In the first variable update, the first variable group {x} is updated by the product of the updated second variable group {y} and the weight parameter group {m}. The weight parameter group {m} contains multiple weight parameters m. i This includes a first weight parameter m1 and a second weight parameter m2. The first weight parameter m1 corresponds to one of several first variables {x}. The second weight parameter m2 corresponds to another of several first variables {x}. The first weight parameter m1 is different from the second weight parameter m2. A computing device that can improve computational accuracy can be provided.
[0064] In the second embodiment, even when using the weight parameter group {m} described above, the processing unit 70 may perform the update of a portion of the second variable group {y} and the update of another portion of the second variable group {y} in parallel during the second variable update. For example, the processing unit 70 may include a first processing unit 70a and a second processing unit 70b. The first processing unit 70a can perform the update of a portion of the second variable group {y} during the second variable update. The second processing unit 70b can perform the update of another portion of the second variable group {y} during the second variable update. At least some of these updates may be performed in parallel (simultaneously).
[0065] In the second embodiment, the first term includes the product of the first variable group {x} and the branching parameter group {p}. The second term includes the sum of the products of the problem parameter group {J} acquired by the acquisition unit 78 and the first variable group {x}.
[0066] (Third embodiment) In the third embodiment, the acquisition unit 78 acquires at least a portion of the initial values of the branching parameter group {p}.
[0067] Figure 6 is a flowchart illustrating the operation of the computing device according to the embodiment. As shown in Figure 6, the acquisition unit 78 acquires information regarding the initial values of at least some of the branch parameter group {p} and the problem parameter group {J} (step S115). The processing unit 70 repeatedly performs a first variable update to update the first variable group {x} and a second variable update to update the second variable group {y} (step S130).
[0068] In the third embodiment as well, in the second variable update, the processing unit 70 updates the second variable group {y} using a function that includes the first and second terms. The first term includes the first variable group {x} and the branching parameter group {p}. The second term includes the problem parameter group {J} acquired by the acquisition unit 78 and the first variable group {x}. In the first variable update, the processing unit 70 updates the first variable group {x} using the second variable group {y} updated in the second variable update.
[0069] The branching parameter group {p} includes the first branching parameter p1 and the second branching parameter p2. The first branching parameter p1 is a set of multiple first variables x included in the first variable group {x}. i It corresponds to one of the following. The second branch parameter p2 corresponds to another of the multiple first variables {x}. The first initial value of the first branch parameter p1 is p 1(0) This is the second initial value p of the second branch parameter p2. 2(0) This is different. The first initial value is p. 1(0) and the second initial value p 2(0) Information relating to this is obtained by the acquisition unit 78.
[0070] Multiple branching parameters p included in the branching parameter group {p} i The initial value of may depend on the problem parameter set {J}. For example, multiple problem parameters J included in the problem parameter set {J}. i,jThis includes multiple first problem parameter subgroups J1 and multiple second problem parameter subgroups J2. The first initial value is p. 1(0) The first initial value p may be based on the first sum of the absolute values of multiple subgroups of the first problem parameter J1. 2(0) This may be based on the second sum of the absolute values of multiple subgroups of the second problem parameter J2. If the first absolute value is greater than the second absolute value, then the first initial value p 1(0) is the second initial value p 2(0) It is larger than that.
[0071] In the third embodiment, the first term also includes, for example, the product of the first variable group {x} and the branching parameter group {p}. The second term includes the sum of the products of the problem parameter group {J} acquired by the acquisition unit 78 and the first variable group {x}.
[0072] In the third embodiment, the processing unit 70 may perform the update of a portion of the second variable group {y} and the update of another portion of the second variable group {y} in parallel during the second variable update. The processing unit 70 may include a first processing section 70a and a second processing section 70b. The first processing section 70a is capable of performing the update of a portion of the second variable group {y} during the second variable update. The second processing section 70b is capable of performing the update of another portion of the second variable group {y} during the second variable update.
[0073] (Fourth Embodiment) The fourth embodiment relates to a calculation program. The calculation program causes the processing unit to repeatedly perform a first variable update, which updates the first variable group {x}, and a second variable update, which updates the second variable group {y}. The calculation program causes the processing unit 70 to perform the processes described in the first to third embodiments. A calculation program that can improve calculation accuracy is provided.
[0074] (Fifth embodiment) The fifth embodiment relates to a calculation method. The calculation method causes the processing unit 70 to repeatedly perform a first variable update, which updates the first variable group {x}, and a second variable update, which updates the second variable group {y}. The calculation method causes the processing unit 70 to perform the processes described in the first to third embodiments. A calculation program that can improve calculation accuracy is provided.
[0075] The following is an example of a calculation result. The following calculation example concerns one instance of G-set, G14. This example is known as a benchmark problem for the maximum cut problem. The maximum cut problem is a problem in which the edge weights "w i,j For ", the J matrix "J i,j " to "-w i,j This is equivalent to the Ising problem defined as "[...] (see, for example, H. Goto et al., Science Advances 7, eabe7953 (2021)).
[0076] The Ising problem is a combinatorial optimization problem that minimizes the Ising energy of equation 28 below.
number
[0077] In formula 28, "s j " is a spin variable that takes one of ±1. "N" is the number of spins. "N" is equal to the number of edges in the original maximum cut problem. In the example (H. Goto et al., Science Advances 7, eabe7953 (2021)), in the update equations 1 to 3, all "p i " takes the same value. In the example, all "p i " decreases linearly from 1 to 0. All "m i " is 1. In the example, in the function f of the second equation, "x j Instead of "sign(x i) is used. In the example, "c" is defined by formula 29 (see H. Goto et al., Science Advances 7, eabe7953 (2021)).
number
[0078] In the example, dt = 0.5, and the number of steps (the number of repetitions of updating the first variable and updating the second variable) is 100,000. In this example, the probability of obtaining the best known value is 0.004%.
[0079] In the calculation example according to the embodiment, p i The initial value of is set to a different value depending on the J matrix, as shown in equation 14, and decreases monotonically linearly to 0. In the calculation example according to the embodiment, the coefficient p0 is set to 0.3c. Other settings in the calculation example according to the embodiment are the same as those in the reference example above. In the calculation example according to the embodiment, the probability of obtaining the optimal solution is 0.44%. In the calculation example according to the embodiment, the probability of obtaining the optimal solution is approximately 100 times that of obtaining the optimal solution in the reference example.
[0080] The embodiment may include the following configuration (e.g., proposed technical details). (Technical proposal 1) An acquisition unit capable of obtaining a set of problem parameters, Processing unit and Equipped with, The aforementioned processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, It can be repeated and executed, In the second variable update, the processing unit updates the second set of variables using a function that includes the first and second terms. The first term above includes the first set of variables and the branching parameters, The second paragraph includes the problem parameter group acquired by the acquisition unit and the first variable group, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. A computing device in which the first initial value of the first branch parameter is different from the second initial value of the second branch parameter.
[0081] (Technical proposal 2) The computing device according to Technical Proposal 1, wherein the processing unit is capable of determining the initial values of a plurality of branch parameters included in the branch parameter group based on the problem parameter group.
[0082] (Technical proposal 3) The aforementioned problem parameter group includes a first problem parameter subgroup and a second problem parameter subgroup, The first initial value is determined based on the first sum of the absolute values of multiple elements included in the first problem parameter subgroup, The second initial value is determined based on the second sum of the absolute values of multiple elements included in the second problem parameter subgroup, The first sum is greater than the second sum. The computing device according to Technical Proposal 2, wherein the first initial value is greater than the second initial value.
[0083] (Technical proposal 4) The computing device according to any one of the technical proposals 1 to 3, wherein the processing unit can change the first branch parameter according to one of the plurality of first variables during the repeated updating of the first variable and the second variable.
[0084] (Technical proposal 5) In the first variable update, the first set of variables is updated by the product of the updated second set of variables and the weight parameter set. The group of weight parameters includes a first weight parameter and a second weight parameter, wherein the first weight parameter corresponds to one of the plurality of first variables, and the second weight parameter corresponds to another of the plurality of first variables. The first weight parameter is different from the second weight parameter, and the computing device is as described in any one of Technical Proposals 1 to 4.
[0085] (Technical proposal 6) A computing device according to any one of Technical Proposals 1 to 5, which is capable of performing in parallel the updating of a portion of the second variable group and the updating of another portion of the second variable group in the second variable update.
[0086] (Technical proposal 7) The processing unit includes a first processing section and a second processing section, The first processing unit is capable of updating a portion of the second variable group in the second variable update, The computing device according to any one of Technical Proposals 1 to 5, wherein the second processing unit is capable of updating another part of the second variable group in the second variable update.
[0087] (Technical proposal 8) The first term above includes the product of the first group of variables and the branching parameter group, The second item is a calculation device according to any one of Technical Proposals 1 to 7, which includes the sum of products of the problem parameter group acquired by the acquisition unit and the first variable group.
[0088] (Technical proposal 9) An acquisition unit capable of obtaining a set of problem parameters, Processing unit and Equipped with, The aforementioned processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, It can be repeated and executed, In the second variable update, the processing unit updates the second set of variables using a function that includes the first and second terms. The first term above includes the first set of variables and the branching parameters, The second paragraph includes the problem parameter group acquired by the acquisition unit and the first variable group, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. In the first variable update, the first set of variables is updated by the product of the updated second set of variables and the weight parameter set. The group of weight parameters includes a first weight parameter and a second weight parameter, wherein the first weight parameter corresponds to one of the plurality of first variables, and the second weight parameter corresponds to another of the plurality of first variables. The first weight parameter is different from the second weight parameter, according to the calculation device.
[0089] (Technical proposal 10) The aforementioned processing unit, The computing device according to Technical Proposal 9, which is capable of performing in parallel the updating of a portion of the second variable group and the updating of another portion of the second variable group in the second variable update.
[0090] (Technical proposal 11) The processing unit includes a first processing section and a second processing section, The first processing unit is capable of updating a portion of the second variable group in the second variable update, The computing device according to Technical Proposal 9, wherein the second processing unit is capable of updating another portion of the second variable group in the second variable update.
[0091] (Technical proposal 12) The first term above includes the product of the first group of variables and the branching parameter group, The second item is a calculation device according to any one of Technical Proposals 9 to 11, which includes the sum of products of the problem parameter group acquired by the acquisition unit and the first variable group.
[0092] (Technical proposal 13) An acquisition unit capable of obtaining information regarding the initial values of at least some of the branching parameter group and the problem parameter group, Processing unit and Equipped with, The aforementioned processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, It can be repeated and executed, In the second variable update, the processing unit updates the second set of variables using a function that includes the first and second terms. The first term includes the first set of variables and the branching parameter set, The second paragraph includes the problem parameter group acquired by the acquisition unit and the first variable group, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. A computing device in which the first initial value of the first branch parameter is different from the second initial value of the second branch parameter.
[0093] (Technical proposal 14) The aforementioned processing unit, The computing device according to Technical Proposal 13, which is capable of performing in parallel the updating of a portion of the second variable group and the updating of another portion of the second variable group in the second variable update.
[0094] (Technical proposal 15) The processing unit includes a first processing section and a second processing section, The first processing unit is capable of updating a portion of the second variable group in the second variable update, The computing device according to Technical Proposal 13, wherein the second processing unit is capable of updating another portion of the second variable group in the second variable update.
[0095] (Technical proposal 16) The first term above includes the product of the first group of variables and the branching parameter group, The second item is a calculation device according to any one of the technical proposals 13 to 15, which includes the sum of products of the problem parameter group acquired by the acquisition unit and the first variable group.
[0096] (Technical proposal 17) The aforementioned multiple first variables are x i This includes i being an integer between 1 and N, and N being an integer between 2 and N. The multiple second variables included in the preceding group of two variables are y i Includes, The multiple branching parameters included in the aforementioned group of branching parameters are p i Includes, The multiple problem parameters included in the aforementioned group of problem parameters are J i,j A computing device according to Technical Proposal 1, wherein j is an integer between 1 and M, and M is an integer of 2 or more.
[0097] (Technical proposal 18) In the processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, Repeat the process, In the second variable update, the processing unit updates the second set of variables using a function that includes the first and second terms. The first term above includes the first set of variables and the branching parameters, The second term above includes the problem parameters and the first set of variables, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. A calculation program in which the first initial value of the first branch parameter is different from the second initial value of the second branch parameter.
[0098] (Technical proposal 19) In the processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, Repeat the process, In the second variable update, the processing unit updates the second set of variables using a function that includes the first and second terms. The first term above includes the first set of variables and the branching parameters, The second term above includes the problem parameters and the first set of variables, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. The first initial value of the first branch parameter is calculated using a method different from that of the second initial value of the second branch parameter.
[0099] According to the embodiment, a computing device, a computing program, and a computing method that can improve calculation accuracy can be provided.
[0100] Embodiments of the present invention have been described above with reference to examples. However, the present invention is not limited to these examples. For example, the specific configuration of each element, such as the processing unit and acquisition unit included in the computing device, is included within the scope of the present invention as long as those skilled in the art can appropriately select from the known scope to implement the present invention in the same way and obtain the same effects.
[0101] Combinations of two or more elements from each example, to the extent technically feasible, are also included within the scope of the present invention, insofar as they encompass the gist of the invention.
[0102] All computing devices, computing programs, and computing methods that a person skilled in the art can design and implement based on the above-described embodiments of the present invention also fall within the scope of the present invention, insofar as they encompass the gist of the present invention.
[0103] Within the scope of the concept of this invention, a person skilled in the art would be able to conceive of various modifications and alterations, and it is understood that such modifications and alterations also fall within the scope of this invention.
[0104] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]
[0105] 70: Processing Unit 70a: First processing section 70b: Second processing section 78: Acquisition section 79a: Storage section 79b: Display 79c: Input section 110: Computing device
Claims
1. An acquisition unit capable of obtaining a set of problem parameters, Processing unit and Equipped with, The aforementioned processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, It can be repeated and executed, In the second variable update, the processing unit updates the second group of variables using a function that includes the first and second terms. The first term includes the first set of variables and the branching parameter set, The second paragraph includes the problem parameter group acquired by the acquisition unit and the first variable group, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. The first initial value of the first branch parameter differs from the second initial value of the second branch parameter, The aforementioned first group of variables {x} includes multiple first variables, The aforementioned plurality of first variables include the first variable x i, i is an integer between 1 and N, N is an integer greater than or equal to 2, The aforementioned second group of variables {y} includes multiple second variables, The aforementioned plurality of second variables include the second variable y i, The aforementioned problem parameter group {J} includes a plurality of problem parameter subgroups J i, The aforementioned problem parameter subgroup {J i} includes J i, j, j is an integer between 1 and M, M is an integer greater than or equal to 2, In the second variable update described above, the processing of the first expression is performed, [Math 1] The function f in the first equation above is expressed by the second equation, [Math 2] In the first variable update described above, the processing of the fourth expression is performed, [Math 4] In the fourth equation above, {m} is a group of weight parameters, The initial value p i0 of the aforementioned branching parameter p i is given by equation 14, [Number 14] In the above equation 14, "p 0" is a coefficient, The processing unit is a computing device that determines the initial value p i0 based on the problem parameter group.
2. The aforementioned problem parameter group includes a first problem parameter subgroup and a second problem parameter subgroup, The first initial value is determined based on the first sum of the absolute values of multiple elements included in the first problem parameter subgroup. The second initial value is determined based on the second sum of the absolute values of multiple elements included in the second problem parameter subgroup, The first sum is greater than the second sum. The calculation device according to claim 1, wherein the first initial value is greater than the second initial value.
3. The computing device according to claim 1, wherein the processing unit can change the first branch parameter according to one of the plurality of first variables during the repeated updating of the first variable and the second variable.
4. The plurality of weight parameters included in the weight parameter group include a first weight parameter and a second weight parameter, wherein the first weight parameter corresponds to one of the plurality of first variables, and the second weight parameter corresponds to another of the plurality of first variables. The computing apparatus according to claim 1, wherein the first weight parameter is different from the second weight parameter.
5. The first term above includes the product of the first group of variables and the branching parameter group, The second paragraph relates to the calculation device according to any one of claims 1 to 4, wherein the second paragraph includes the sum of products of the problem parameter group acquired by the acquisition unit and the first variable group.
6. An acquisition unit capable of obtaining a set of problem parameters, Processing unit and Equipped with, The aforementioned processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, It can be repeated and executed, In the second variable update, the processing unit updates the second group of variables using a function that includes the first and second terms. The first term includes the first set of variables and the branching parameter set, The second paragraph includes the problem parameter group acquired by the acquisition unit and the first variable group, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. In the first variable update, the first group of variables is updated by the product of the updated second group of variables and the weight parameter group. The group of weight parameters includes a first weight parameter and a second weight parameter, wherein the first weight parameter corresponds to one of the plurality of first variables, and the second weight parameter corresponds to another of the plurality of first variables. Unlike the second weight parameter, the first weight parameter is The aforementioned first group of variables {x} includes multiple first variables, The aforementioned plurality of first variables include the first variable x i, i is an integer between 1 and N, N is an integer greater than or equal to 2, The aforementioned second group of variables {y} includes multiple second variables, The aforementioned plurality of second variables include the second variable y i, The aforementioned problem parameter group {J} includes a plurality of problem parameter subgroups J i, The aforementioned problem parameter subgroup {J i} includes J i, j, j is an integer between 1 and M, M is an integer greater than or equal to 2, In the second variable update described above, the processing of the first expression is performed, [Math 1] The function f in the first equation above is expressed by the second equation, [Math 2] The initial value p i0 of the aforementioned branching parameter p i is given by equation 14, [Number 14] In the above equation 14, "p 0" is a coefficient, The processing unit is a computing device that determines the initial value p i0 based on the problem parameter group.
7. An acquisition unit capable of obtaining information regarding the initial values of at least some of the branching parameter group and the problem parameter group, Processing unit and Equipped with, The aforementioned processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, It can be repeated and executed, In the second variable update, the processing unit updates the second group of variables using a function that includes the first and second terms. The first term includes the first group of variables and the branching parameter group, The second paragraph includes the problem parameter group acquired by the acquisition unit and the first variable group, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. The first initial value of the first branch parameter differs from the second initial value of the second branch parameter, The aforementioned first group of variables {x} includes multiple first variables, The aforementioned plurality of first variables include the first variable x i, i is an integer between 1 and N, N is an integer greater than or equal to 2, The aforementioned second group of variables {y} includes multiple second variables, The aforementioned plurality of second variables include the second variable y i, The aforementioned problem parameter group {J} includes a plurality of problem parameter subgroups J i, The aforementioned problem parameter subgroup {J i} includes J i, j, j is an integer between 1 and M, M is an integer greater than or equal to 2, In the second variable update described above, the processing of the first expression is performed, [Math 1] The function f in the first equation above is expressed by the second equation, [Math 2] In the first variable update described above, the processing of the fourth expression is performed, [Math 4] In the fourth equation above, {m} is a group of weight parameters, The initial value p i0 of the aforementioned branching parameter p i is given by equation 14, [Number 14] In the above equation 14, "p 0" is a coefficient, The initial value p i0 is determined based on the problem parameters of the computing device.
8. In the processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, Repeat the process, In the second variable update, the processing unit updates the second group of variables using a function that includes the first and second terms. The first term includes the first set of variables and the branching parameter set, The second term above includes a set of problem parameters and a set of first variables, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. The first initial value of the first branch parameter differs from the second initial value of the second branch parameter, The aforementioned first group of variables {x} includes multiple first variables, The aforementioned plurality of first variables include the first variable x i, i is an integer between 1 and N, N is an integer greater than or equal to 2, The aforementioned second group of variables {y} includes multiple second variables, The aforementioned plurality of second variables include the second variable y i, The aforementioned problem parameter group {J} includes a plurality of problem parameter subgroups J i, The aforementioned problem parameter subgroup {J i} includes J i, j, j is an integer between 1 and M, M is an integer greater than or equal to 2, In the second variable update described above, the processing of the first expression is performed, [Math 1] The function f in the first equation above is expressed by the second equation, [Math 2] In the first variable update described above, the processing of the fourth expression is performed, [Math 4] In the fourth equation above, {m} is a group of weight parameters, The initial value p i0 of the aforementioned branching parameter p i is given by equation 14, [Number 14] In the above equation 14, "p 0" is a coefficient, The processing unit is a calculation program that determines the initial value p i0 based on the problem parameter group.
9. In the processing unit, The first variable update, which updates the first set of variables, The second variable update, which updates the second set of variables, Repeat the process, In the second variable update, the processing unit updates the second group of variables using a function that includes the first and second terms. The first term includes the first set of variables and the branching parameter set, The second term above includes a set of problem parameters and a set of first variables, In the first variable update, the processing unit updates the first variable group using the second variable group updated in the second variable update. The branching parameter group includes a first branching parameter and a second branching parameter, wherein the first branching parameter corresponds to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponds to another of the plurality of first variables. The first initial value of the first branch parameter differs from the second initial value of the second branch parameter, The aforementioned first group of variables {x} includes multiple first variables, The aforementioned plurality of first variables include the first variable x i, i is an integer between 1 and N, N is an integer greater than or equal to 2, The aforementioned second group of variables {y} includes multiple second variables, The aforementioned plurality of second variables include the second variable y i, The aforementioned problem parameter group {J} includes a plurality of problem parameter subgroups J i, The aforementioned problem parameter subgroup {J i} includes J i, j, j is an integer between 1 and M, M is an integer greater than or equal to 2, In the second variable update described above, the processing of the first expression is performed, [Math 1] The function f in the first equation above is expressed by the second equation, [Math 2] In the first variable update described above, the processing of the fourth expression is performed, [Math 4] In the fourth equation above, {m} is a group of weight parameters, The initial value p i0 of the aforementioned branching parameter p i is given by equation 14, [Number 14] In the above equation 14, "p 0" is a coefficient, The processing unit is a calculation method for determining the initial value p i0 based on the problem parameter group.
Citation Information
Patent Citations
Quantum calculation device and method
JP2017073106A
Information processing device, program, information processing method, and electronic circuit
JP2021043667A
Calculating device, calculation program, and calculation method
JP2023100052A
Calculating device, calculation program, and calculation method
JP2023100053A