Optimization Apparatus Using Auxiliary Variables for Higher-Order Energy Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In solving large-scale multivariable discrete optimization problems using Ising-type energy functions, the number of parameter elements transferred from memory to computational resources becomes enormous, particularly for higher-order terms, leading to increased calculation time.
Innovation Solution
The introduction of auxiliary bits and the use of Monte Carlo methods with bit inversion calculations, where the energy change is calculated using auxiliary variables, reduces the number of elements referenced from memory, thereby reducing data transfer and calculation time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If higher-order energy functions (third-order or higher) are used to solve large-scale multivariable discrete optimization problems, then the optimization capability is improved, but the number of parameter elements to be transferred from memory to computational resource becomes enormous
Solution Approach 1:
The patent segments the higher-order energy function calculation into multiple computational steps. Instead of calculating all K-th order terms simultaneously requiring K×N^(K-1) parameter transfers, the calculation is divided into sequential steps where intermediate results are computed and stored. This segmentation reduces the memory bandwidth requirement from O(K×N^(K-1)) to O(N^(K-1)) by processing terms in groups rather than all at once.
Solution Approach 2:
The patent performs preliminary computation of intermediate terms before the final energy function evaluation. Specifically, lower-order interaction terms are calculated and stored in advance, so that when higher-order terms need to be computed, these pre-computed intermediates are reused. This preliminary action eliminates redundant calculations and reduces the total number of parameter elements that need to be transferred from memory during the optimization process.
2Measurement precision
If all K-th order coupling coefficients are transferred from memory to computational resource, then the calculation accuracy is maintained, but the data transfer amount becomes enormous and increases calculation time
Solution Approach 1:
The patent performs preliminary computation of intermediate terms before the final energy function evaluation. Specifically, lower-order interaction terms are calculated and stored in advance, so that when higher-order terms need to be computed, these pre-computed intermediates are reused. This preliminary action eliminates redundant calculations and reduces the total number of parameter elements that need to be transferred from memory during the optimization process.
Solution Approach 2:
The patent applies local quality by computing only the specific coupling coefficients needed for the current bit inversion being evaluated, rather than transferring all K×N^(K-1) coefficients. The calculation focuses locally on the relevant terms involving the inverted bit and its interactions, loading only those specific parameter elements from memory that are necessary for the current energy change calculation.
3Productivity
If the number of memory accesses is reduced, then the calculation time is decreased, but the complexity of the computational process increases
Solution Approach 1:
The patent segments the higher-order energy function calculation into multiple computational steps. Instead of calculating all K-th order terms simultaneously requiring K×N^(K-1) parameter transfers, the calculation is divided into sequential steps where intermediate results are computed and stored. This segmentation reduces the memory bandwidth requirement from O(K×N^(K-1)) to O(N^(K-1)) by processing terms in groups rather than all at once.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An optimization apparatus includes a memory and an operation unit. The memory stores one or more coupling coefficients representing interaction of a plurality of variables corresponding to a plurality of bits included in an energy function. The operation unit configured to selects, based on a difference of a value of the energy function associated with inversion of a value of each of the plurality of bits, adoption or rejection of bit inversion to perform optimization. The operation unit specifies a coupling coefficient corresponding to an auxiliary variable from the one or more coupling coefficients, the auxiliary variable being a product of variables corresponding to respective bits from which a variable corresponding to a specific bit in the energy function is excluded, and executes calculation of a term of a third-order or higher of a difference associated with inversion of the specific bit using the auxiliary variable and the coupling coefficient.