Calculation apparatus, calculation program, and calculation method
Patent Information
- Application Number
- JP2023136476
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-24
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2043-08-24
Smart Images

Figure 2025030833000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD An embodiment of the present invention relates to a computing device, a computing program, and a computing method. [Background technology]
[0002] Optimization problems and the like are solved by computing devices, and there is a demand for improved calculation accuracy in such devices. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-43667 Summary of the Invention [Problem to be solved by the invention]
[0004] The embodiments of the present invention provide a calculation device, a calculation program, and a calculation method that can improve calculation accuracy. [Means for solving the problem]
[0005] According to an embodiment of the present invention, the computing device includes an acquisition unit capable of acquiring a problem parameter set, and a processing unit. The processing unit is capable of repeatedly executing a first variable update for updating a first variable set, and a second variable update for updating a second variable set. In the second variable update, the processing unit updates the second variable set using a function including a first term and a second term. The first term includes the first variable set and a branch parameter set. The second term includes the problem parameter set acquired by the acquisition unit and the first variable set. In the first variable update, the processing unit updates the first variable set using the second variable set updated in the second variable update. The branch parameter set 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 variable set. The second branch parameter corresponds to another one of the plurality of first variables. A first initial value of the first branch parameter is different from a second initial value of the second branch parameter. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 is a flowchart illustrating the operation of a computing device according to the embodiment. [Diagram 2] FIG. 2 is a schematic diagram illustrating a computing device according to the embodiment. [Diagram 3] FIG. 3 is a flowchart illustrating the operation of the computing device according to the embodiment. [Figure 4] FIG. 4 is a flowchart illustrating the operation of the computing device according to the embodiment. [Diagram 5] FIG. 5 is a flowchart illustrating the operation of the computing device according to the embodiment. [Figure 6] FIG. 6 is a flowchart illustrating the operation of the computing device according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this specification and each drawing, elements similar to those described above with reference to the previous drawings are given the same reference numerals and detailed descriptions thereof will be omitted as appropriate.
[0008] (First embodiment) FIG. 1 is a flowchart illustrating the operation of a computing device according to the embodiment. FIG. 2 is a schematic diagram illustrating a computing device according to the embodiment. 2, the computing device 110 according to the embodiment includes a processing unit 70 and an acquisition unit 78. As described below, the processing unit 70 is capable of repeatedly executing a first variable update process and a second variable update process.
[0009] The processing unit 70 may include, for example, a CPU (Central Processing Unit), etc. The processing unit 70 may include, for example, an electronic circuit, etc. 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, for example, various data. The acquisition unit 78 includes, for example, an I / O port. The acquisition unit 78 is an interface. The acquisition unit 78 may have a function of an output unit. The acquisition unit 78 may have, for example, a communication function.
[0011] In this example, the computing device 110 includes a storage unit 79a. The storage unit 79a can hold various data. The storage unit 79a may be, for example, a memory. The storage unit 79a may include at least one of a Read Only Memory (ROM) and a Random Access Memory (RAM).
[0012] The computing device 110 may include a display 79b and an input unit 79c. The display 79b may include various display devices. The input unit 79c may include, for example, a device having an operation function (for example, a keyboard, a mouse, a touch input panel, or a voice recognition input device).
[0013] The elements included in the computing device 110 can communicate with each other by at least one of wireless and wired methods. The elements included in the computing device 110 may be provided in different locations. 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, etc.). For example, multiple circuits connected to each other may be used as the computing device 110.
[0014] 2, the processing unit 70 may include multiple processing parts (e.g., a first processing part 70a and a second processing part 70b, etc.). The multiple processing parts may operate in parallel. For example, parallel processing (parallel computing) may be performed.
[0015] An example of the operations performed by the computing device 110 according to the embodiment will be described below.
[0016] 1, a set of problem parameters is acquired (step S110). Step S110 is executed by the acquisition unit 78. In this manner, the acquisition unit 78 can acquire the set of problem parameters. In one example, the set of problem parameters may be, for example, a J matrix.
[0017] 1, initial values of the branching parameter group are set (step S120). The setting of the initial values may be executed by, for example, the processing unit 70. As will be described later, the setting of the initial values may be set according to, for example, the problem parameter group acquired in step S110. Alternatively, as will be described later, the acquisition unit 78 may acquire information regarding the initial values of at least some of the branching parameter group.
[0018] 1, the processing unit 70 can repeatedly execute a first variable update for updating a first variable set and a second variable update for updating a second variable set (step S130). For example, the first variable update and the second variable update are executed alternately. The order of execution of the first variable update and the second variable update may be arbitrary.
[0019] The execution of the first variable update and the second variable update ends when a predetermined state is obtained, and the processing result is output (step S140). In one example, when the number of iterations of the first variable update and the second variable update reaches a predetermined value, step S130 ends. In step S140, the processing unit 70 outputs a 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., the 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 a plurality of first variables. The plurality of first variables may be, for example, a first variable x i "i" is an integer between 1 and N, inclusive. N is an integer between 2 and 3. The second variable group {y} includes a plurality of second variables. The plurality of second variables includes, for example, the second variable y i The problem parameter set {J} is a set of problem parameter subgroups J i The problem parameter subgroup {J i} is, for example, J i,j "j" is an integer between 1 and M, inclusive. "M" is an integer between 2 and M, inclusive.
[0021] In one example, in updating the second variable, the following first equation is processed:
number
[0022] In one example, the function f in the first equation is expressed as the following second equation:
number
[0023] The first term of the first formula includes a first variable group {x} and a branching parameter group {p}. The branching parameter group {p} includes a plurality of branching parameters p i The first term includes, for example, a product of a first set of variables {x} and a set of branching parameters {p}.
[0024] For example, the branching parameter set {p} is the element p of a positive definite symmetric matrix P. i,j In a positive definite symmetric matrix P, 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 formula includes the problem parameter {J} and the first variable set {x} acquired by the acquisition unit 78. The second term includes, for example, a sum of products of the problem parameter set {J} and the first variable set {x}. In the first formula, "c" is a parameter. In the second term of the first formula, "x j " instead of "x j Any function of x may be used. j For example, the function of x j " sign(x j ) is also fine.
[0027] In updating the first variable, the following fourth equation is processed.
number
[0028] For example, the weight parameter set {m} is the element b of the positive definite symmetric matrix B. i,j The second term of the fourth equation may be given by the following fifth equation:
number
[0029] The second term of the fourth equation corresponds to the case where the positive definite symmetric matrix B is a diagonal matrix.
[0030] In an embodiment, at least two initial values of the branching parameters included in the branching parameter group {p} are not the same as each other. This allows a more accurate solution to be obtained. At least two values of the weighting parameters included in the weighting parameter group {m} may be different from each other. This allows a more accurate solution to be obtained.
[0031] Multiple branching parameters p included in the branching parameter group {p} i The first branch parameter p1 includes a first branch parameter p2. The first branch parameter p1 is a parameter that represents a first variable x included in the first variable set {x}. i The second branch parameter p2 corresponds to one of the first variables x i The first initial value p of the first branch parameter p1 corresponds to another one of the first branch parameters p1 and p2. 1(0)is the second initial value p of the second branch parameter p2 2(0) This configuration allows for a more accurate solution. 1(0) For example, corresponds to the first branch parameter p1 at the first update in the second variable update iteration. 2(0) corresponds to the second branching parameter p2 in the first update in the second variable update iteration, for example.
[0032] For example, the Hamiltonian H of the system in question is expressed as the sixth equation below.
number
[0033] In Equation 6, the function g of {J} and {x} corresponds to the objective function of the problem. In one example, the function g can be expressed as Equation 7 below.
number
[0034] From the sixth equation, the following eighth and ninth equations are derived.
number
number
[0035] In equation 9, the function f is expressed by equation 10 below.
number
[0036] For example, the Hamiltonian H of the system of interest may be expressed as follows:
number
number
number
[0037] The sixth, eighth and ninth equations correspond to an example for the eleventh, twelfth and thirteenth equations.
[0038] In the 9th formula (or the 1st formula), multiple branching parameters p i The initial value p i0 is given, for example, by Equation 14.
number
[0039] In this manner, the initial values of the branching parameters {p} may be determined based on the problem parameters {J}. For example, the processing unit 70 may determine the initial values of the branching parameters p i It is possible to determine the initial value of based on the problem parameters {J}.
[0040] For example, the problem parameter set {J} includes a first problem parameter subset J1 and a second problem parameter subset J2. 1(0) is determined based on, for example, a first sum of absolute values of a plurality of elements included in the first problem parameter subgroup J1. 2(0) is determined based on, for example, the second sum of the absolute values of the elements included in the second problem parameter subgroup J2. For example, if the first sum is greater than the second sum, the first initial value p 1(0) is the second initial value p2(0) On the other hand, if, for example, the first sum is smaller than the second sum, the first initial value p 1(0)is the second initial value p2(0) Less than.
[0041] In this way, multiple branching parameters p i The initial value of one of the branching parameters p may be determined based on a value (e.g., the sum of the absolute values of the elements) determined by the corresponding problem parameter subgroup. If the value of one of the branching parameters p determined by the corresponding problem parameter subgroup is large, the initial value of the one of the branching parameters p i The initial value of one of is set large.
[0042] As described above, the initial values of the branching parameters {p} are set based on the problem parameters {J} (step S120). After that, the processing unit 70 repeatedly executes the first variable update and the second variable update using the set initial values (step S130). The processing unit 70 may change the branching parameter set {p} while repeating the first variable update and the second variable update. For example, the processing unit 70 may change the first branching parameter p1 according to one of the corresponding multiple first variables xi (e.g., x1).
[0043] Regarding the above equations 4 and 8, the relationship of the following equation 15 or 16 can be applied to the weight parameter set {m}.
number
number
[0044] By applying equation 16, the weighting parameter set {m} may be eliminated from equations 4 and 8.
[0045] In an embodiment, the weight parameter group {m} may be changed according to the first variable group {x}. i is one of the first variables x in the first variable set {x} i For example, x i As the absolute value of m increases, iis changed to be smaller. The weight parameter group {m} includes a first weight parameter m1 and a second weight parameter m2. The first weight parameter m1 is a function of a plurality of first variables x i The second weight parameter m2 corresponds to one of the first variables x i The first weight parameter m1 is different from the second weight parameter m2.
[0046] In this way, different values may be applied as the initial values of the branching parameter group {p}, and different values may be applied as the weighting parameter group {m}. Alternatively, different values may be applied as the initial values of the branching parameter group {p}, and the same value may be applied as the weighting parameter group {m}. Furthermore, as described below, the same value may be applied as the initial values of the branching parameter group {p}, and different values may be applied as the weighting parameter group {m}.
[0047] The above formulas 8 and 9 can be transformed into the following formulas 17, 18 and 19.
number
number
number
[0048] The update equations corresponding to equations 17 and 18 are given by equations 20 and 21 below.
number
number
number
[0049] The processing unit 70 may perform processing based on Equation 20 and Equation 21. In this case, at least two initial values included in the multiple branching parameter groups {p'} may be made 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 made different from each other. In an embodiment, the plurality of branch parameter groups {p'} and the coefficient parameter group {c'} may be changed according to the first variable group {x}.
[0051] When the above formulas 14 and 15 are adopted, formula 19 becomes formula 23.
number
[0052] When equations 11, 12, and 13 are used as the Hamiltonian H, equations 24, 25, 26, and 27 may be applied.
number
number
number
number
[0053] In formula 26, b' i,k are the elements of the inverse matrix B' of the positive definite symmetric matrix B. In the 26th formula, p k,j (0) is p k,j This is the initial value of p' k,j (0) is p' k,j The 17th, 18th, and 19th equations are examples of the 24th, 25th, 26th, and 27th equations.
[0054] For example, in the embodiment, parallel processing may be performed. For example, in the second variable update, the processing unit 70 may be capable of updating a part of the second variable set {y} and updating another part of the second variable set {y} in parallel.
[0055] For example, as described with reference to Fig. 2, the processing unit 70 includes a first processing portion 70a and a second processing portion 70b. The first processing portion 70a can execute updating of a part of the second variable set {y} in the second variable update. The second processing portion 70b can execute updating of another part of the second variable set {y} in the second variable update. At least a part of the operations in the first processing portion 70a may be executed in parallel (simultaneously) with at least a part of the operations in the second processing portion 70b.
[0056] FIG. 3 is a flowchart illustrating the operation of the computing device according to the embodiment. As shown in FIG. 3, in one example, in step S130, a second variable update (step S131) is followed by a first variable update (step S132). The number of iterations n1 is compared with a predetermined value Nt (step S133). If the number of iterations n1 is less than the predetermined value Nt, the number of iterations n1 is incremented (step S134) and then the process returns to step S131. If the number of iterations n1 is equal to or greater than the predetermined value Nt, step S130 is terminated and the process proceeds to step S140.
[0057] FIG. 4 is a flowchart illustrating the operation of the computing device according to the embodiment. As shown in FIG. 4, step S131 may be performed after step S132 in one of multiple iterations.
[0058] Second embodiment In the second embodiment, the processing unit 70 uses different weighting parameters. FIG. 5 is a flowchart illustrating the operation of the computing device according to the embodiment. 5, the acquisition unit 78 acquires a problem parameter set {J} (step S110). For example, the processing unit 70 sets a weight parameter set {m} (step S150). The processing unit 70 repeatedly executes a first variable update for updating a first variable set {x} and a second variable update for updating a second variable set {y} (step S130).
[0059] The weight parameter set {m} may be determined based on the problem parameter set {J}. For example, the processing unit 70 may determine a plurality of weight parameters m i can be determined based on the set of problem parameters {J}. The initial values of the set of weight parameters {m} can be determined according to the set of problem parameters {J}.
[0060] For example, the problem parameter group {J} includes a first problem parameter subgroup J1 and a second problem parameter subgroup J2. The first weight parameter m1 is determined based on, for example, a first sum of absolute values of a plurality of elements included in the first problem parameter subgroup J1. The second weight parameter m2 is determined based on, for example, a second sum of absolute values of a plurality of elements included in the second problem parameter subgroup J2. For example, if the first sum is greater than the second sum, m1 is greater than m2, whereas, for example, if the first sum is less than the second sum, m1 is less than m2.
[0061] In this way, multiple weight parameters m i may be determined based on a value (e.g., the sum of the absolute values of the elements) determined by the corresponding problem parameter subgroup. If a value of a corresponding problem parameter subgroup is large, the corresponding weight parameters m i is set large.
[0062] In the second variable update, the processing unit 70 updates the second variable set {y} using a function including a first term and a second term. The first term includes the first variable set {x} and the branching parameter set {p}. The second term includes the problem parameter set {J} acquired by the acquisition unit 78 and the first variable set {x}. In the first variable update, the processing unit 70 updates the first variable set {x} using the second variable set {y} updated in the second variable update.
[0063] In the first variable update, the first variable set {x} is updated by the product of the updated second variable set {y} and the weight parameter set {m}. i includes a first weighting parameter m1 and a second weighting parameter m2. The first weighting parameter m1 corresponds to one of the multiple first variables {x}. The second weighting parameter m2 corresponds to another one of the multiple first variables {x}. The first weighting parameter m1 is different from the second weighting parameter m2. A calculation device capable of improving calculation accuracy can be provided.
[0064] In the second embodiment, even when the weight parameter set {m} as described above is used, the processing unit 70 may be capable of updating a part of the second variable set {y} and updating another part of the second variable set {y} in parallel in the second variable update. For example, the processing unit 70 may include a first processing part 70a and a second processing part 70b. The first processing part 70a is capable of updating a part of the second variable set {y} in the second variable update. The second processing part 70b is capable of updating another part of the second variable set {y} in the second variable update. At least a part of these updates may be performed in parallel (simultaneously).
[0065] In the second embodiment, the first term includes a product of the first variable set {x} and the branching parameter set {p}. The second term includes a product sum of the problem parameter set {J} acquired by the acquisition unit 78 and the first variable set {x}.
[0066] Third embodiment In the third embodiment, the acquisition unit 78 acquires at least a part of the initial values of the branching parameter set {p}.
[0067] FIG. 6 is a flowchart illustrating the operation of the computing device according to the embodiment. 6, the acquisition unit 78 acquires information on at least some of the initial values of the branching parameter set {p} and the problem parameter set {J} (step S115). The processing unit 70 repeatedly executes a first variable update for updating the first variable set {x} and a second variable update for updating the second variable set {y} (step S130).
[0068] In the third embodiment, in the second variable update, the processing unit 70 updates the second variable set {y} using a function including a first term and a second term. The first term includes the first variable set {x} and the branching parameter set {p}. The second term includes the problem parameter set {J} acquired by the acquisition unit 78 and the first variable set {x}. In the first variable update, the processing unit 70 updates the first variable set {x} using the second variable set {y} updated in the second variable update.
[0069] The branch parameter group {p} includes a first branch parameter p1 and a second branch parameter p2. The first branch parameter p1 is a parameter that is determined by the first variable group {x}. i The second branch parameter p2 corresponds to another one of the plurality of first variables {x}. The first initial value p 1(0) is the second initial value p of the second branch parameter p2 2(0) The first initial value p 1(0) and the second initial value p 2(0) The information relating to is acquired 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, the initial value of i,jincludes a plurality of first problem parameter subgroups J1 and a plurality of second problem parameter subgroups J2. 1(0) may be based on a first sum of absolute values of a plurality of first problem parameter subgroups J1. 2(0) may be based on a second sum of the absolute values of the second subgroup of problem parameters J2. If the first absolute value is greater than the second absolute value, the first initial value p 1(0) is the second initial value p 2(0) Greater than.
[0071] In the third embodiment, the first term also includes, for example, a product of the first variable set {x} and the branching parameter set {p}. The second term includes a product sum of the problem parameter set {J} acquired by the acquisition unit 78 and the first variable set {x}.
[0072] In the third embodiment, the processing unit 70 may also be capable of updating a part of the second variable set {y} and updating another part of the second variable set {y} in parallel in the second variable update. The processing unit 70 may include a first processing part 70a and a second processing part 70b. The first processing part 70a is capable of updating a part of the second variable set {y} in the second variable update. The second processing part 70b is capable of updating the other part of the second variable set {y} in the second variable update.
[0073] (Fourth embodiment) The fourth embodiment relates to a calculation program. The calculation program causes a processing unit to repeatedly execute a first variable update for updating a first variable set {x} and a second variable update for updating a second variable set {y}. The calculation program causes a processing unit 70 to execute the processes described in relation to the first to third embodiments. A calculation program capable of improving 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 execute a first variable update for updating a first variable set {x} and a second variable update for updating a second variable set {y}. The calculation method causes the processing unit 70 to execute the processes described in relation to the first to third embodiments. A calculation program capable of improving calculation accuracy is provided.
[0075] An example of the calculation result will be described below. The following calculation example is for one instance G14 of the G-set. This example is known as a benchmark problem for the max-cut problem. The max-cut problem is a problem where the weight of an edge, w i,j " for 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 of minimizing the Ising energy of the following equation 28.
number
[0077] In the formula 28, "s j " is a spin variable that can take on either ±1. "N" is the number of spins. "N" is equal to the number of edges in the original max-cut problem. In the reference example (H. Goto et al., Science Advances 7, eabe7953 (2021)), in the update formulas 1 to 3, all "p i " takes the same value. In the reference example, all "p i " decreases linearly and monotonically from 1 to 0. For all "m i " is 1. In the reference example, in the function f of the second formula, "x j " instead of sign(x i) is used. In the reference example, "c" is defined as in Equation 29 (see H. Goto et al., Science Advances 7, eabe7953 (2021)).
number
[0078] In the reference example, dt=0.5, and the number of steps (the number of times the first variable update and the second variable update are repeated) is 100,000. In this reference example, the probability that the optimal solution (best known value) is obtained is 0.004%.
[0079] In the calculation example according to the embodiment, p i The initial value of is set to different values depending on the J matrix as in Equation 14, and is linearly and monotonically decreased 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 above reference example. In the calculation example according to the embodiment, the probability of obtaining an optimal solution is 0.44%. In the calculation example according to the embodiment, the probability of obtaining an optimal solution is about 100 times that in the reference example.
[0080] The embodiment may include the following configurations (e.g., technical solutions). (Technical proposal 1) An acquisition unit capable of acquiring a group of problem parameters; A processing section; Equipped with The processing unit includes: A first variable update that updates a first set of variables; A second variable update for updating a second set of variables; can be executed repeatedly, In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes the problem parameter set and the first variable set acquired by the acquisition unit, In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
[0081] (Technical proposal 2) The computing device described in Technical Proposal 1, wherein the processing unit is capable of determining initial values of a plurality of branching parameters included in the branching parameter group based on the problem parameter group.
[0082] (Technical proposal 3) the problem parameter group includes a first problem parameter subgroup and a second problem parameter subgroup; The first initial value is determined based on a first sum of absolute values of a plurality of elements included in the first problem parameter subgroup; the second initial value is determined based on a second sum of absolute values of a plurality of elements included in the second problem parameter subgroup; the first sum is greater than the second sum, The computing device according to technical solution 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 technical proposals 1 to 3, wherein the processing unit is capable of changing the first branching parameter in accordance with the one of the plurality of first variables while repeating the first variable update and the second variable update.
[0084] (Technical proposal 5) In the first variable update, the first variable set is updated by a product of the updated second variable set and a weight parameter set; the plurality of weight parameters included in the weight parameter group include a first weight parameter and a second weight parameter, the first weight parameter corresponding to one of the plurality of first variables, and the second weight parameter corresponding to another one of the plurality of first variables; The calculation device according to any one of Technical Schemes 1 to 4, wherein the first weighting parameter is different from the second weighting parameter.
[0085] (Technical proposal 6) The computing device according to any one of Technical Solutions 1 to 5, wherein in the second variable update, updating a part of the second variable set and updating another part of the second variable set can be executed in parallel.
[0086] (Technical proposal 7) The processing section includes a first processing section and a second processing section, The first processing unit is capable of updating a part of the second variable set in the second variable update, The computing device according to any one of technical proposals 1 to 5, wherein the second processing portion is capable of updating another part of the second variable set in the second variable update.
[0087] (Technical proposal 8) the first term includes a product of the first set of variables and the set of branching parameters; The calculation device according to any one of Technical Solutions 1 to 7, wherein the second term includes a sum of products of the problem parameter set acquired by the acquisition unit and the first variable set.
[0088] (Technical proposal 9) An acquisition unit capable of acquiring a group of problem parameters; A processing section; Equipped with The processing unit includes: A first variable update that updates a first set of variables; A second variable update for updating a second set of variables; can be executed repeatedly, In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes the problem parameter set and the first variable set acquired by the acquisition unit, In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; In the first variable update, the first variable set is updated by a product of the updated second variable set and a weight parameter set; the plurality of weight parameters included in the weight parameter group include a first weight parameter and a second weight parameter, the first weight parameter corresponding to one of the plurality of first variables, and the second weight parameter corresponding to another one of the plurality of first variables; The first weighting parameter is different from the second weighting parameter.
[0089] (Technical proposal 10) The processing unit includes: The computing device according to technical proposal 9, wherein in the second variable update, updating a part of the second variable set and updating another part of the second variable set can be executed in parallel.
[0090] (Technical proposal 11) The processing section includes a first processing section and a second processing section, The first processing unit is capable of updating a part of the second variable set in the second variable update, The computing device described in technical proposal 9, wherein the second processing portion is capable of performing an update of another part of the second variable set in the second variable update.
[0091] (Technical proposal 12) the first term includes a product of the first set of variables and the set of branching parameters; The calculation device according to any one of Technical Solutions 9 to 11, wherein the second term includes a sum of products of the problem parameter set acquired by the acquisition unit and the first variable set.
[0092] (Technical proposal 13) an acquisition unit capable of acquiring information on at least a part of initial values of a branch parameter group and a problem parameter group; A processing section; Equipped with The processing unit includes: A first variable update that updates a first set of variables; A second variable update for updating a second set of variables; can be executed repeatedly, In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and the set of branching parameters; the second term includes the problem parameter set and the first variable set acquired by the acquisition unit, In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
[0093] (Technical proposal 14) The processing unit includes: The computing device described in technical proposal 13, wherein in the second variable update, updating a part of the second variable set and updating another part of the second variable set can be executed in parallel.
[0094] (Technical proposal 15) The processing section includes a first processing section and a second processing section, The first processing unit is capable of updating a part of the second variable set in the second variable update, The computing device described in technical proposal 13, wherein the second processing part is capable of performing an update of another part of the second variable set in the second variable update.
[0095] (Technical proposal 16) the first term includes a product of the first set of variables and the set of branching parameters; The calculation device according to any one of Technical Proposals 13 to 15, wherein the second term includes a product sum of the problem parameter set acquired by the acquisition unit and the first variable set.
[0096] (Technical proposal 17) The plurality of first variables are x i wherein i is an integer between 1 and N, and N is an integer between 2 and 3; The second variable group includes a plurality of second variables, such as y i Including, The branching parameters included in the branching parameter group are p i Including, The problem parameters included in the problem parameter group are J i,j The computing device according to technical solution 1, wherein j is an integer between 1 and M, and M is an integer between 2 and 3.
[0097] (Technical proposal 18) In the processing section, A first variable update that updates a first set of variables; A second variable update for updating a second set of variables; Repeatedly execute In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes a set of problem parameters and the first set of variables; In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A calculation program, wherein a first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
[0098] (Technical proposal 19) In the processing section, A first variable update that updates a first set of variables; A second variable update for updating a second set of variables; Repeatedly execute In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes a set of problem parameters and the first set of variables; In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A method of calculation, wherein a first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
[0099] According to the embodiment, it is possible to provide a calculation device, a calculation program, and a calculation method that can improve calculation accuracy.
[0100] The above describes the embodiment of the present invention with reference to examples. However, the present invention is not limited to these examples. For example, the specific configuration of each element, such as a processing unit and an acquisition unit, included in a computing device is included in the scope of the present invention as long as a person skilled in the art can implement the present invention in the same way and obtain the same effect by appropriately selecting from the known range.
[0101] Any combination of two or more elements of each example, within the scope of technical feasibility, is also included within the scope of the present invention as long as it includes the gist of the present invention.
[0102] All computing devices, computing programs, and computing methods that can be implemented by a person skilled in the art through appropriate design modifications based on the computing device, computing program, and computing method described above as the embodiments of the present invention also fall within the scope of the present invention as long as they include the gist of the present invention.
[0103] Within the scope of the concept of the present invention, a person skilled in the art may conceive of various modifications and alterations, and it is understood that these modifications and alterations also fall within the scope of the present invention.
[0104] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0105] 70: Processing section 70a: First processing section 70b: Second processing section 78: Acquisition part 79a: Storage section 79b:Display 79c: Input section 110: Computing device
Claims
1. An acquisition unit capable of acquiring a group of problem parameters; A processing section; Equipped with The processing unit includes: a first variable update for updating a first set of variables; A second variable update for updating a second set of variables; can be executed repeatedly, In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes the problem parameter set acquired by the acquisition unit and the first variable set, In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
2. The computing device according to claim 1 , wherein the processing unit is capable of determining initial values of a plurality of branching parameters included in the branching parameter group based on the problem parameter group.
3. the problem parameter group includes a first problem parameter subgroup and a second problem parameter subgroup; The first initial value is determined based on a first sum of absolute values of a plurality of elements included in the first subgroup of problem parameters; the second initial value is determined based on a second sum of absolute values of a plurality of elements included in the second subgroup of problem parameters; the first sum is greater than the second sum, 3. The computing device of claim 2, wherein the first initial value is greater than the second initial value.
4. The computing device of claim 1 , wherein the processing unit is capable of changing the first branch parameter in response to the one of the plurality of first variables during the iteration of the first variable update and the second variable update.
5. In the first variable update, the first variable set is updated by a product of the updated second variable set and a weight parameter set; the plurality of weight parameters included in the weight parameter group include a first weight parameter and a second weight parameter, the first weight parameter corresponding to one of the plurality of first variables, and the second weight parameter corresponding to another one of the plurality of first variables; The computing device of claim 1 , wherein the first weighting parameter is different from the second weighting parameter.
6. the first term includes a product of the first set of variables and the set of branching parameters; 6. The computing device according to claim 1, wherein the second term includes a sum of products of the problem parameters acquired by the acquisition unit and the first variable set.
7. An acquisition unit capable of acquiring a group of problem parameters; A processing section; Equipped with The processing unit includes: a first variable update for updating a first set of variables; A second variable update for updating a second set of variables; can be executed repeatedly, In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes the problem parameter set acquired by the acquisition unit and the first variable set, In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; In the first variable update, the first variable set is updated by a product of the updated second variable set and a weight parameter set; the plurality of weight parameters included in the weight parameter group include a first weight parameter and a second weight parameter, the first weight parameter corresponding to one of the plurality of first variables, and the second weight parameter corresponding to another one of the plurality of first variables; The first weighting parameter is different from the second weighting parameter.
8. an acquisition unit capable of acquiring information on at least a part of initial values of a branch parameter group and a problem parameter group; A processing section; Equipped with The processing unit includes: a first variable update for updating a first set of variables; A second variable update for updating a second set of variables; can be executed repeatedly, In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and the set of branching parameters; the second term includes the problem parameter set acquired by the acquisition unit and the first variable set, In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
9. The plurality of first variables are x i wherein i is an integer of 1 to N, and N is an integer of 2 or more; The second variable group includes a plurality of second variables, y i Including, The branching parameters included in the branching parameter group are p i Including, The problem parameters included in the problem parameter group are J i,j 2. The computing device of claim 1 , wherein j is an integer between 1 and M, inclusive, and M is an integer between 2 and M, inclusive.
10. In the processing section, a first variable update for updating a first set of variables; A second variable update for updating a second set of variables; Repeatedly execute In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes a set of problem parameters and the first set of variables; In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A calculation program, wherein a first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
11. In the processing section, a first variable update for updating a first set of variables; A second variable update for updating a second set of variables; Repeatedly execute In the second variable update, the processing unit updates the second variable set by using a function including a first term and a second term; the first term includes the first set of variables and a set of branching parameters; the second term includes a set of problem parameters and the first set of variables; In the first variable update, the processing unit updates the first variable set by using the second variable set updated in the second variable update; the branching parameter group includes a first branching parameter and a second branching parameter, the first branching parameter corresponding to one of a plurality of first variables included in the first variable group, and the second branching parameter corresponding to another one of the plurality of first variables; A method of calculation, wherein a first initial value of the first branching parameter is different from a second initial value of the second branching parameter.
Citation Information
Patent Citations
Quantum calculation device and method
JP2017073106A
Calculating device, calculation program, and calculation method
JP2023100052A
Calculating device, calculation program, and calculation method
JP2023100053A
Information processing device, program, information processing method, and electronic circuit
JP2021043667A