Information processing device, information processing method, program
By transforming and decomposing matrices to lower their rank, the memory requirements and access speed for solving large optimization problems are reduced, addressing the memory capacity challenges in existing methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NEC CORP
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
Smart Images

Figure 2026064083000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus, an information processing method, and a program.
Background Art
[0002] [[ID=]12]As a method for solving problems in the real world, it has been carried out to convert and solve the problem into the form of an Ising model in which the energy in a combinatorial optimization problem is formulated. For example, Patent Document 1 describes formulating the energy of an optimization problem in the form of QUBO (Quadratic Unconstrained Binary Optimization) and solving it by simulated annealing.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in solving the optimization problem as described above, when the problem size increases, the number of elements of the matrix included in the formulated Ising model increases, and there arises a problem that the memory capacity required for solving increases.
[0005] Therefore, one of the objects of the present disclosure is to solve the above-described problem that the memory capacity required for solving an optimization problem increases.
Means for Solving the Problems
[0006] An information processing apparatus according to one aspect of the present disclosure a conversion unit that converts the matrix so as to reduce the rank of the matrix included in the formulated model representing the energy in the combinatorial optimization problem; A decomposition unit that decomposes the transformed matrix, A solution unit that performs solution using the decomposed matrix, Comprising Has the following configuration. Also, an information processing method according to an aspect of the present disclosure is An information processing apparatus Converts the matrix included in the formulated model representing the energy in the combinatorial optimization problem so as to reduce the rank of the matrix, Decomposes the transformed matrix, Performs solution using the decomposed matrix, Has the following configuration. Also, a program according to an aspect of the present disclosure is To an information processing apparatus Converts the matrix included in the formulated model representing the energy in the combinatorial optimization problem so as to reduce the rank of the matrix, Decomposes the transformed matrix, Performs solution using the decomposed matrix, Causes the execution of the process, Has the following configuration.
Advantages of the Invention
[0007] The present disclosure is configured as described above, and thus can reduce the memory capacity required for solving the optimization problem.
Brief Description of Drawings
[0008] [Figure 1] It is a block diagram showing an example of the configuration of an information processing apparatus according to the present disclosure. [Figure 2] It is a diagram showing an example of data related to the present disclosure. [Figure 3] It is a diagram showing an example of data related to the present disclosure. [Figure 4] It is a diagram showing an example of the state of processing of an information processing apparatus according to the present disclosure. [Figure 5] It is a flowchart showing an example of the processing operation of an information processing apparatus according to the present disclosure. [Figure 6] This block diagram shows an example of the hardware configuration of the information processing device related to this disclosure. [Figure 7] This is a block diagram showing an example of the configuration of the information processing device related to this disclosure. [Modes for carrying out the invention]
[0009] <First Embodiment> A first embodiment of this disclosure will be described with reference to the drawings. The drawings may be relevant to any embodiment.
[0010] The information processing device 10 in this disclosure is used to solve a pre-set, constrained combinatorial optimization problem using pseudo-quantum annealing (simulated annealing). Here, an example of a method for solving a constrained combinatorial optimization problem using pseudo-quantum annealing is described.
[0011] A constrained combinatorial optimization problem is one in which an objective function and constraints are set, and the goal is to find a solution that minimizes the objective function while satisfying the constraints. Furthermore, as shown in equations 1 and 2, a constrained combinatorial optimization problem can be transformed into a formalized model, such as the Ising model or the QUBO (Quadratic Unconstrained Binary Optimization) model. In this case, as shown in equation 1, the energy value E of the optimization problem can be expressed using objective function terms (terms 1 and 2) and constraint terms (terms 3 and 4), and as shown in equation 2, these can be combined into a single model.
number
number
[0012] Here, in the above equation, s i ,sj is, spin s i ,s j This is a variable representing the state, and is expressed as "-1" or "1", or "0" or "1". In this embodiment, the optimization problem is converted to a QUBO model, and the states of spins i and j are described as being represented as "0" or "1". i and j are the identification numbers of spin s. Also, W in the above equation 2. ij is, spin s i ,s j These are weight parameters set for each combination, and will be referred to as the QUBO matrix below.
[0013] Furthermore, when searching for the spin with the minimum energy E in the aforementioned constrained combinatorial optimization problem using pseudo-quantum annealing, the state of spin s flips from 0 to 1, or from 1 to 0, to transition the solution during the search. In this case, pseudo-quantum annealing always transitions when the evaluation value of the neighboring solutions is good (small), but it can also probabilistically transition when the evaluation value of the neighboring solutions is poor (large). The probability in this case is determined by the inverse temperature, which is the reciprocal of the temperature parameter value, so the information processing device 10 searches for the solution while raising or lowering the inverse temperature. Below, an example of the configuration and operation of the information processing device 10 in this embodiment will be described in detail.
[0014] The information processing device 10 is composed of one or more information processing devices, each equipped with an arithmetic unit and a memory device. As shown in Figure 1, the information processing device 10 includes a matrix transformation unit 11, a matrix decomposition unit 12, a matrix selection unit 13, a first annealer unit 14, and a second annealer unit 15. The functions of the matrix transformation unit 11, matrix decomposition unit 12, matrix selection unit 13, first annealer unit 14, and second annealer unit 15 can be realized by the arithmetic unit executing a program for realizing each function stored in the memory device. The information processing device 10 also includes a problem storage unit 16 implemented in the memory device.
[0015] The problem memory unit 16 stores information representing a combinatorial optimization problem with constraints to be solved. For example, in this embodiment, as an example of a combinatorial optimization problem with constraints, the traveling salesman problem as shown in FIG. 2 will be described. The traveling salesman problem is an optimization problem of finding a tour route with the minimum travel distance under the constraint that a salesman visits all cities exactly once when the distances between cities are given. In the example of FIG. 2, the case of a salesman traveling through four cities (City 1 to City 4) in order (1st to 4th) is shown, and there are 16 spins s (s ij ). When the state of the spin s is "1", it means that the salesman exists, and when the state of the spin s is "0", it means that the salesman does not exist. And the energy E of the traveling salesman problem shown in FIG. 2 is expressed by Equation 3.
Equation
[0016] In the above Equation 3, the first term represents the objective function. That is, d ij represents the distance between two cities, and the objective function represents the sum of the distances between two cities. Also, in Equation 3, the second and third terms represent constraint terms, indicating that there is only one "1" in each row and only one "1" in each column in FIG. 2, satisfying such constraints.
[0017] And the energy value E of Equation 3 can be converted into a QUBO model including the QUBO matrix W ij as described by Equation 1 and Equation 2 above.
Equation
[0018] Here, the QUBO matrix W ij is, as shown in Equation 5, a matrix W o i,j of weight parameters corresponding to the objective function in the optimization problem and a matrix W of weight parameters corresponding to the constraints.c1 i,j , parameter W c2 i,j It consists of and .
number
[0019] At this time, the QUBO matrix W ij Due to the nature of the optimization problem, the same value may appear multiple times. For example, in the traveling salesman problem addressed in this embodiment, the matrix W corresponding to the objective function is... o i,j In this case, the distance between cities appears many times, and the matrix W corresponding to the constraints c1 i,j ,W c2 i,j In this case, the same value will appear a certain number of times, depending on the constraint that there is exactly one "1" in each row and column of the table shown in Figure 2.
[0020] Here, the QUBO matrix W in the Traveling Salesperson Problem ij Figure 3 shows a schematic example of this. The matrix W corresponding to the objective function. o i,j As shown in gray, the same distance value corresponding to the distance between cities appears multiple times. Also, the matrix W corresponding to the constraints. c1 i,j ,W c2 i,j As shown in gray, the same value will appear repeatedly due to the constraint that there is exactly one "1" in each row and column. Note that matrix W c1 i,j ,W c2 i,j On the right side, an example of specific numerical values is shown. Such a QUBO matrix W ij Depending on the characteristics, the information processing device 10 has the following functions and is configured to perform solution.
[0021] The matrix transformation unit 11 (transformation unit) is the QUBO matrix W ijThe transformation is performed to lower the rank of the matrix (step S1 in Figure 5). Specifically, the matrix transformation unit 11 transforms the QUBO matrix W ij The matrix is transformed into a row echelon matrix, and the transformation is performed so that the rank (class) of the matrix is minimized. In other words, the matrix transformation unit 11 transforms the QUBO matrix W ij The matrix transformation unit 11 performs elementary row operations on the QUBO matrix W, and calculates Rank, which is the maximum number of linearly independent row vectors. More specifically, as shown in Figure 4, the matrix transformation unit 11 performs elementary row operations on the QUBO matrix W ij The elements spanning multiple rows within a predetermined range are arranged in a single row and transformed to obtain the rank of the matrix. In the example in Figure 4, the n×n QUBO matrix W is used. ij This is a matrix f of a predetermined size where the number of rows and columns is less than n. 1,1 ,f 1,2 , , , f 3,3 The matrix is divided into sections, and each of these matrices of a predetermined size is transformed into a single row. In this way, the transformation matrix W' minimizes Rank, as shown on the right side of Figure 4. ij Convert to.
[0022] At this time, the matrix transformation unit 11 transforms the QUBO matrix W ij A matrix (f) of a predetermined range that can be transformed into a single row within the matrix. 1,1 The size of (etc.) is changed to various sizes, and the transformation matrix W' ij It is converted to the following. Then, the matrix transformation unit 11 converts the transformation matrix W' ij The process of changing the size of a matrix within a predetermined range to various sizes and converting it into a single row is repeated until the Rank of is minimized. However, the matrix transformation unit 11 is the QUBO matrix W ij Within the system, matrices within a predetermined size range may be converted into a single row, or matrices within a size range input from an external source may be converted into a single row to calculate the Rank.
[0023] The matrix decomposition unit 12 (transformation unit) is the QUBO matrix W as described above. ij The transformation matrix W' obtained by transforming ij This is decomposed into multiple matrices (step S2 in Figure 5). Specifically, the matrix decomposition unit 12 decomposes the transformation matrix W' ijThe matrix is decomposed into a singular value matrix such that it is the product of an orthogonal matrix and a diagonal matrix. As an example, the matrix decomposition unit 12 is the transformation matrix W' as shown in equation 6. ij Perform singular value decomposition on it.
number
[0024] In equation 6 above, any non-zero number in matrix K is equal to the Rank value of the transformation matrix W'. Therefore, equation 6 can be expressed as equation 7 below, and for example, when Rank = 3, it can be expressed as equation 8 below.
number
number
[0025] Here, in equation 7 above, matrix U T The size of matrix K is "n × Rank", the size of matrix K is "Rank × Rank", and the size of matrix V is "Rank × n". Then, if matrix KV is denoted as matrix V', the size of matrix V' is "Rank × n", and the transformation matrix W' = matrix U T The size of V' is "n × 2Rank". In other words, while the size of the original QUBO matrix W is "n × n", the size of the transformation matrix W' is "n × 2Rank", and if the Rank value is less than or equal to half of n, the size of the transformation matrix W' is reduced. Therefore, as will be discussed later, when using the transformation matrix W' instead of the QUBO matrix W during the solution process, the memory size required to store the transformation matrix W' can be reduced.
[0026] The matrix selection unit 13 (solution unit) selects whether to perform the solution (annealing) using the QUBO matrix W or the transformation matrix W' when solving the optimization problem (step S3 in Figure 5). Specifically, the matrix selection unit 13 selects which matrix to use for the solution according to the Rank value of the QUBO matrix W calculated as described above.
[0027] Here, the Rank value of the solution is related to the size of the transformation matrix W', which is "n × 2Rank", as described above. Therefore, in order to perform a solution using the transformation matrix W' and access each element of the QUBO matrix W, "n × 2Rank" of memory will be accessed, which is an increase of "2Rank" accesses compared to performing a solution using the QUBO matrix W, which has a size of "n × n". On the other hand, as described above, if the size of the transformation matrix W' is smaller than that of the QUBO matrix W, it is easier to hit the cache when performing a solution using the transformation matrix W', which may improve the access speed. For this reason, the matrix selection unit 13 will choose to perform the solution using the transformation matrix W' if it determines that the access speed will improve due to cache access even if it requires "2Rank" accesses using the transformation matrix W' compared to accessing each element using the QUBO matrix W. On the other hand, if the matrix selection unit 13 determines that the access speed will not improve, it will choose to perform the solution using the QUBO matrix W.
[0028] For example, a threshold for Rank that can improve access speed through cache access is set in advance. The matrix selection unit 13 chooses to solve the problem using the transformation matrix W' if Rank is less than or equal to the threshold, and chooses to solve the problem using the QUBO matrix W if Rank is greater than the threshold. For example, the threshold for Rank may be set in advance based on the number of elements in the QUBO matrix W or the memory access speed, or it may be calculated and set for each problem.
[0029] If the matrix selection unit 13 chooses to perform the solution using the transformation matrix W', the first annealer unit 14 will input matrix U TThe transformation matrix W', which has been decomposed into V', is input to perform the solution (step S4 in Figure 5). At this time, the first annealer unit 14 calculates the position of the element to be accessed in the QUBO matrix W within the transformation matrix W' according to the matrix transformation method described above, and accesses that element to perform simulated annealing. On the other hand, if the matrix selection unit 13 chooses to perform the solution using the QUBO matrix W, the QUBO matrix W is input to the second annealer unit 15 to perform the solution (step S5 in Figure 5). At this time, the second annealer unit 15 performs normal simulated annealing using the QUBO matrix W.
[0030] As described above, in the information processing device 10 of this disclosure, the size of the QUBO matrix can be reduced by transforming and decomposing it in a way that lowers its Rank when solving an optimization problem, thereby reducing the memory capacity required for solving the problem. Furthermore, as the matrix size is reduced, the elements of the matrix are more likely to be found in the cache, and an improvement in access speed can be expected.
[0031] <Second Embodiment> Next, a second embodiment of the present disclosure will be described with reference to the drawings. This embodiment shows an outline of the information processing device, etc., described in the above-described embodiment. Note that the drawings may be relevant to any embodiment.
[0032] First, the hardware configuration of the information processing device 100 in this disclosure will be described. The information processing device 100 is composed of a general information processing device, and as an example, it is equipped with the following hardware configuration as shown in Figure 6. ·CPU(Central Processing Unit)101(Arithmetic unit) ROM (Read Only Memory) 102 (Storage Device) • RAM (Random Access Memory) 103 (Storage Device) • Program group 104 loaded into RAM 103 • Storage device 105 for storing the program group 104 • Drive device 106 for reading and writing to external storage medium 110 of the information processing device. • Communication interface 107 connecting to a communication network 111 outside the information processing device. • Input / output interface 108 for data input and output. • Bus 109 connecting each component
[0033] Figure 6 shows an example of the hardware configuration of the information processing device 100, and the hardware configuration of the information processing device is not limited to the case described above. For example, the information processing device may consist of only a part of the configuration described above, such as not having a drive device 106. In addition, the information processing device may use a GPU (Graphic Processing Unit), DSP (Digital Signal Processor), MPU (Micro Processing Unit), FPU (Floating point number Processing Unit), PPU (Physics Processing Unit), TPU (Tensor Processing Unit), quantum processor, microcontroller, or a combination thereof instead of the CPU described above.
[0034] The information processing device 100 can be equipped with the conversion unit 121, decomposition unit 122, and decryption unit 123 shown in Figure 7 by having the CPU 101 acquire the program group 104 and execute it. The program group 104 is, for example, stored in advance in a storage device 105 or ROM 102, and the CPU 101 loads it into RAM 103 and executes it as needed. The program group 104 may also be supplied to the CPU 101 via a communication network 111, or it may be stored in advance in a storage medium 110, and the drive device 106 reads the program and supplies it to the CPU 101. However, the conversion unit 121, decomposition unit 122, and decryption unit 123 described above may be constructed with dedicated electronic circuits to realize such means.
[0035] The transformation unit 121 transforms the matrix so that its rank is lowered, as it is included in the formalized model representing energy in the combinatorial optimization problem. The decomposition unit 122 decomposes the transformed matrix. The solution unit 123 performs the solution using the decomposed matrix.
[0036] As described above, this disclosure allows for the reduction of matrix size and thus the reduction of memory capacity required for solving the problem by transforming and decomposing the matrices included in the model in an optimization problem in a way that lowers their rank.
[0037] Furthermore, at least one of the functions of the conversion unit 121, the decomposition unit 122, and the decryption unit 123 described above may be performed on an information processing device installed and connected to any location on the network, that is, it may be performed using so-called cloud computing.
[0038] Furthermore, the aforementioned programs can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). Programs may also be supplied to a computer using various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable media can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.
[0039] Although the present disclosure has been described above with reference to embodiments, the present disclosure is not limited to the embodiments described above. Various modifications to the structure and details of the present disclosure are possible, as can be understood by those skilled in the art within the scope of the present disclosure. Furthermore, each of the embodiments described above can be combined with other embodiments as appropriate.
[0040] <Note> Some or all of the above embodiments may also be described as follows. The general configuration of the information processing apparatus, information processing method, and program in this disclosure is described below. However, this disclosure is not limited to the configuration described in the following notes. Furthermore, some or all of the configurations and functions described in Appendices 2 to 6, which are dependent on Appendice 1 below, may also be dependent on other Appendices 7 and 10 in the same way as Appendices 2 to 6. Moreover, not limited to Appendices 1, 7, and 10, some or all of the configurations and functions described as appendices may also be dependent on similar hardware, software, various recording means for recording software, or systems, without departing from the embodiments described above. (Note 1) A transformation unit that transforms a matrix included in a formalized model representing energy in a combinatorial optimization problem so as to lower its rank, A decomposition unit that decomposes the transformed matrix, A solving unit that performs a solution using the decomposed matrix, Equipped with an information processing device. (Note 2) The information processing device described in Appendix 1, The transformation unit transforms elements spanning multiple rows within a predetermined range in the matrix by arranging them into a single row. Information processing device. (Note 3) The information processing device described in Appendix 2, The transformation unit transforms the matrix so that its rank is minimized. Information processing device. (Note 4) The information processing device described in Appendix 1, The decomposition unit performs singular value decomposition on the transformed matrix. Information processing device. (Note 5) The information processing device described in Appendix 1, The solution unit performs the solution using either the decomposed matrix or the matrix before transformation. Information processing device. (Note 6) The information processing device described in Appendix 5, The solution unit performs the solution using either the decomposed matrix or the matrix before transformation, based on the rank of the transformed matrix. Information processing device. (Note 7) Information processing device, Transform the matrix in question to lower its rank, as it is included in the formalized model representing energy in a combinatorial optimization problem. Decompose the transformed matrix, The solution is performed using the decomposed matrix. Information processing methods. (Note 8) The information processing method described in Appendix 7, The elements spanning multiple rows within a predetermined range in the aforementioned matrix are transformed by arranging them into a single row. Information processing methods. (Note 9) The information processing method described in Appendix 7, The transformed matrix is subjected to singular value decomposition. Information processing methods. (Note 9.1) The information processing method described in Appendix 7, The solution is performed using either the decomposed matrix or the matrix before the transformation. Information processing methods. (Appendix 9.2) The information processing method described in Appendix 7, Based on the rank of the transformed matrix, the solution is performed using either the decomposed matrix or the matrix before transformation. Information processing methods. (Note 10) In an information processing device, Transform the matrix in question to lower its rank, as it is included in the formalized model representing energy in a combinatorial optimization problem. Decompose the transformed matrix, The solution is performed using the decomposed matrix. A program that executes a process. [Explanation of symbols]
[0041] 10 Information Processing Devices 11 Matrix Transformation Section 12 Matrix factorization part 13 Matrix Selection Section 14. First Annealer Section 15 Second Annealer Section 16 Problem storage 100 Information Processing Devices 101 CPU 102 ROM 103 RAM 104 Program Groups 105 Storage device 106 Drive unit 107 Communication Interface 108 Input / Output Interfaces 109 Bus 110 Storage medium 111 Communication Network 121 Conversion section 122 Disassembly section 123 Solving section
Claims
1. A transformation unit that transforms a matrix included in a formalized model representing energy in a combinatorial optimization problem so as to lower its rank, A decomposition unit that decomposes the transformed matrix, A solving unit that performs a solution using the decomposed matrix, Equipped with an information processing device.
2. An information processing apparatus according to claim 1, The transformation unit transforms elements spanning multiple rows within a predetermined range in the matrix by arranging them into a single row. Information processing device.
3. An information processing apparatus according to claim 2, The transformation unit transforms the matrix so that its rank is minimized. Information processing device.
4. An information processing apparatus according to claim 1, The decomposition unit performs singular value decomposition on the transformed matrix. Information processing device.
5. An information processing apparatus according to claim 1, The solution unit performs the solution using either the decomposed matrix or the matrix before transformation. Information processing device.
6. An information processing device according to claim 5, The solution unit performs the solution using either the decomposed matrix or the matrix before transformation, based on the rank of the transformed matrix. Information processing device.
7. Information processing device, Transform the matrix in question to lower its rank, as it is included in the formalized model representing energy in a combinatorial optimization problem. Decompose the transformed matrix, The solution is performed using the decomposed matrix. Information processing methods.
8. The information processing method according to claim 7, The elements spanning multiple rows within a predetermined range in the aforementioned matrix are transformed by arranging them into a single row. Information processing methods.
9. The information processing method according to claim 7, The transformed matrix is subjected to singular value decomposition. Information processing methods.
10. In an information processing device, Transform the matrix in question to lower its rank, as it is included in the formalized model representing energy in a combinatorial optimization problem. Decompose the transformed matrix, The solution is performed using the decomposed matrix. A program that executes a process.
Citation Information
Patent Citations
Calculation method, calculation device, calculation program, and recording medium
JP2022055120A