WO2022113720A1 - 情報処理装置、情報処理方法及び情報処理システム - Google Patents
情報処理装置、情報処理方法及び情報処理システム Download PDFInfo
- Publication number
- WO2022113720A1 WO2022113720A1 PCT/JP2021/041071 JP2021041071W WO2022113720A1 WO 2022113720 A1 WO2022113720 A1 WO 2022113720A1 JP 2021041071 W JP2021041071 W JP 2021041071W WO 2022113720 A1 WO2022113720 A1 WO 2022113720A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- decoding
- information
- combinatorial optimization
- unit
- information processing
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 141
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000005457 optimization Methods 0.000 claims abstract description 253
- 238000012545 processing Methods 0.000 claims abstract description 226
- 239000000284 extract Substances 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 236
- 239000011159 matrix material Substances 0.000 claims description 212
- 230000008569 process Effects 0.000 claims description 135
- 230000005366 Ising model Effects 0.000 claims description 111
- 238000004422 calculation algorithm Methods 0.000 claims description 63
- 238000006243 chemical reaction Methods 0.000 claims description 58
- 108010076504 Protein Sorting Signals Proteins 0.000 claims description 56
- 238000004364 calculation method Methods 0.000 claims description 43
- 238000004891 communication Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 34
- 238000007476 Maximum Likelihood Methods 0.000 claims description 29
- CSPHGSFZFWKVDL-UHFFFAOYSA-M (3-chloro-2-hydroxypropyl)-trimethylazanium;chloride Chemical compound [Cl-].C[N+](C)(C)CC(O)CCl CSPHGSFZFWKVDL-UHFFFAOYSA-M 0.000 claims description 11
- 230000006870 function Effects 0.000 description 170
- 238000000137 annealing Methods 0.000 description 52
- 238000011161 development Methods 0.000 description 27
- 230000005283 ground state Effects 0.000 description 26
- 230000000630 rising effect Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 15
- 238000005259 measurement Methods 0.000 description 15
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 13
- 230000004048 modification Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 7
- 238000000605 extraction Methods 0.000 description 6
- NWONKYPBYAMBJT-UHFFFAOYSA-L zinc sulfate Chemical compound [Zn+2].[O-]S([O-])(=O)=O NWONKYPBYAMBJT-UHFFFAOYSA-L 0.000 description 6
- 238000007689 inspection Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005549 size reduction Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000002595 magnetic resonance imaging Methods 0.000 description 3
- 239000013585 weight reducing agent Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 238000005309 stochastic process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- OHVLMTFVQDZYHP-UHFFFAOYSA-N 1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)-2-[4-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]piperazin-1-yl]ethanone Chemical compound N1N=NC=2CN(CCC=21)C(CN1CCN(CC1)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)=O OHVLMTFVQDZYHP-UHFFFAOYSA-N 0.000 description 1
- HMUNWXXNJPVALC-UHFFFAOYSA-N 1-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperazin-1-yl]-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)N1CCN(CC1)C(CN1CC2=C(CC1)NN=N2)=O HMUNWXXNJPVALC-UHFFFAOYSA-N 0.000 description 1
- SXAMGRAIZSSWIH-UHFFFAOYSA-N 2-[3-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]-1,2,4-oxadiazol-5-yl]-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C1=NOC(=N1)CC(=O)N1CC2=C(CC1)NN=N2 SXAMGRAIZSSWIH-UHFFFAOYSA-N 0.000 description 1
- WZFUQSJFWNHZHM-UHFFFAOYSA-N 2-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]piperazin-1-yl]-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)N1CCN(CC1)CC(=O)N1CC2=C(CC1)NN=N2 WZFUQSJFWNHZHM-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000005307 ferromagnetism Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
Definitions
- This disclosure relates to an information processing device, an information processing method, and an information processing system.
- Quantum annealing is known as a calculation method that accelerates combinatorial optimization, which is difficult to calculate.
- a method of realizing maximum likelihood decoding of a block code which is known as one of difficult combinatorial optimization problems, at high speed by using quantum annealing (for example, Non-Patent Document 1).
- Non-Patent Document 1 the most probable decoding of the block code can be converted into the basis spin search problem of the Ising model handled by quantum annealing. Therefore, according to Non-Patent Document 1, quantum annealing can be used to speed up maximum likelihood decoding, which is difficult to calculate.
- the actual quantum annealing machine that can be used at present that is, the quantum annealing
- the quantum annealing is required to have an extremely low temperature environment as an operating environment. Therefore, a large-scale cooling system is required, and it is difficult to use it in a mobile terminal, for example.
- Non-Patent Document 1 The reason why the current quantum annealer operates only at low temperature is that it requires a superconducting device to realize the spin of the Ising model. However, according to the method in Non-Patent Document 1, it is sufficient that the spin ground state of the Ising model can be realized at high speed, and it is not always necessary to use quantum annealing, which requires a superconducting device.
- the information processing apparatus has the second information required for the process formulated as the combination optimization problem from the first information input to the system. And input the extracted second information to calculate the objective function of the combination optimization problem, input the objective function, and output the solution of the combination optimization problem at least two processors. , And one of the at least two processors is a processor that outputs the solution of the combination optimization problem.
- quantum annealing which realizes quantum annealing as hardware, is a computer that solves combinatorial optimization problems as a search problem for the ground state of the Zing model.
- An example of the device configuration of the quantum annealing is described in detail in FIG. 12 and the like.
- the Ising model is a mathematical model that explains the phase transition of ferromagnetism by the principle of energy minimization. Although detailed description is omitted, the Ising model is a physical model proposed for modeling the phase transition phenomenon of a ferromagnet (magnet). The energy of the Ising model is generally expressed by a function as shown in the following equation (1).
- the spin variable s ⁇ ⁇ -1,1 ⁇ N of the Ising model is a variable that takes two values.
- J ij is a coefficient representing the binding energy
- h k is a coefficient representing the local magnetic field.
- the objective function must be in the form of the above-mentioned function (for example, equation (1)). That is, the unknown variable is either -1,1 and the objective function is represented by the quadratic or lower term of the unknown variable.
- the coefficients of the linear and quadratic terms can be extracted as the coefficients of the Ising model. Then, when the coefficient of the obtained Ising model is input to the quantum annealer, the quantum Annealer outputs an array of spin variables in the ground state of the corresponding Ising model. The solution of this spin variable can be used as the solution of the original combinatorial optimization problem.
- QUADO is an abbreviation for Quadratic Unconstrained Binary Optimization.
- the purpose of the present disclosure is to solve the base search problem of the Ising model corresponding to the original combinatorial optimization problem by a binary code decoding algorithm.
- the Ising model is first converted to QUA.
- QUABO means to find the solution of the binary variable z ⁇ ⁇ 0,1 ⁇ N that minimizes the objective function as shown in the following equation (2).
- the binary variable and the spin variable can be related as shown in the following equation (3).
- the energy function of the Ising model can be equivalently transformed into the objective function of QUAB, for example, as shown in equation (4) below.
- the energy function of the Ising model can be converted into the objective function of QUA by the conversion between the coefficients as shown in the following equation (5).
- the ground state search of the Ising model is realized by solving a QUA with a coefficient converted from the coefficient of the Ising model.
- QUAB is converted into a binary code decoding problem, specifically, a maximum likelihood decoding problem.
- the binary code decoding problem is a problem of searching for a bit string that minimizes the likelihood based on the signal sequence under the condition that the parity check matrix and the signal sequence are given.
- Non-Patent Document 1 "Maximum Likelihood Channel Decoding with Quantum Annealing Machine (Japanese translation: maximum likelihood decoding of communication path by quantum annealing): ⁇ https://arxiv.org/abs/2007.08689>", the code The key is to eliminate mod2, which frequently appears in theory.
- QUABO is brought closer to the decoding problem.
- r 2 a vector obtained by arranging these two pseudo signal sequences side by side will be simply referred to as a pseudo signal sequence r.
- auxiliary variable z ij mod2 (z i + z j ) so that the sum of squared errors for the two introduced pseudo signal sequences can be expressed in the same format.
- this auxiliary variable z ij is also a binary variable that takes only either 0 or 1.
- the objective function is transformed into the form of the sum of squared errors as shown in the following equation (16).
- each element of the first pseudo signal string and the second pseudo signal string is the element of the first code string and the second code string, respectively. It is expressed as a square error.
- the two -dimensional vector is the second code string.
- the following equation (17) shows the first code string
- the expression (18) shows the second code string.
- a vector obtained by arranging these two code strings is simply referred to as a code string.
- the following equation (19) shows a code string.
- This minimization of the objective function is in the form of least squares. In other words, it is equivalent to maximum likelihood decoding (when the noise of the communication path is constant).
- ⁇ which is a parameter in the equation (20), is set to a value larger than 1, for example, in order to give priority to satisfying the constraint.
- mod2 (z i + z j + z ij ) is expressed by a parity check matrix that often appears in the code.
- M N 2
- K N + M
- the binary matrix H of M ⁇ K is a sparse matrix in which the i, j columns and N + Ni + j columns in the Ni + j row are 1 and the others are 0.
- This binary matrix is composed of a first binary sparse matrix of M ⁇ N and a second binary sparse matrix of M ⁇ N 2 (in other words, an identity matrix).
- this M ⁇ K binary sparse matrix H is called a pseudo-parity check matrix.
- the code decoding problem is a parity-constrained maximum likelihood decoding problem using a parity check matrix.
- the parity check matrix may be composed of the coefficients of the objective function, or may be read from a predetermined storage device such as a database.
- the parity check matrix H is a sparse matrix
- x corresponding to the code word may be regarded as a code word of LDPC (Low Density Parity-check Code) using a sparse parity check matrix. Therefore, by applying the BP decoding algorithm of LDPC, the solution x of the maximum likelihood decoding is approximately obtained.
- the decoding process by the belief propagation method is the decoding process for the low density parity check code.
- the first N bits of the obtained solution x are the binary variables z. Therefore, this (that is, the first N bits of the obtained solution x) is regarded as the optimum solution z * of QUABO. Since this solution is a binary variable, it is converted as shown in the following equation (24) so as to be a spin variable in the ground state of the Ising model.
- BP decoding algorithm by the belief propagation (BP) method
- BP decoding algorithm by the belief propagation (BP) method
- maximum likelihood decoding for example, maximum likelihood decoding of a block code
- the BP decoding approaches the maximum likelihood decoding performance while performing decoding in a practical time as the code length becomes longer (for example, 1000 bits or more). That is, when the number of variables is relatively large, replacing the maximum likelihood decoding with the BP decoding can obtain the same performance as the maximum likelihood decoding in practical time.
- the first condition is that the parity check matrix is a sparse matrix.
- the first condition is that the parity check matrix has 10 or less non-zero components in each row and each column.
- the second condition is that there is no short loop in the factor graph.
- the second condition is that there are no loops of length 4 or 5 in the factor graph.
- the algorithm shown here is, for example, an algorithm that performs the following procedures # 1-1 to # 1-6.
- Procedure # 1-1 Input the received signal r, estimated noise intensity ⁇ , and parity check matrix H.
- Procedure # 1-2 Initialize messages ⁇ and ⁇ ⁇ Procedure # 1-3.
- Steps # 1-6 Output bit string m: (H, r, ⁇ , ⁇ ) ⁇ m
- variable node processing is responsible for embedding the information obtained from the signal in the message.
- the received signal r is first converted into log odds ⁇ and treated.
- the odds are the ratio of the probabilities (posterior probabilities) as to whether the received signal is noise-added with code 0 or noise is added to code 1.
- the logarithmic odds are calculated by the following equation (25) by assuming that the noise is Gaussian noise having a standard deviation ⁇ .
- the log odds may be set to, for example, a value of around 1.
- the variable node processing updates the message ⁇ based on the following equations (26) and (27).
- ⁇ i has an initial value of 0.
- ⁇ is input and ⁇ is output, but in the present disclosure, for convenience of implementation, ⁇ and ⁇ are input and ⁇ and ⁇ are output.
- the check node processing is responsible for embedding the condition of the parity constraint in the message.
- the check node process updates the message ⁇ based on the following equations (28) and (29).
- ⁇ and ⁇ are input and ⁇ and ⁇ are output.
- the logarithmic odds excluding the parity part take a positive or negative value, but the positive case corresponds to the original sign bit 0 and the negative case corresponds to 1.
- the memory and the number of calculations may be reduced by utilizing the sparseness of the parity check matrix. For example, as in the sparse matrix operation, the memory and the number of calculations can be reduced by holding only the index and value of the non-zero element in the memory and multiplying and adding only the non-zero element.
- the size of the pseudo signal and the pseudo parity check matrix is reduced by some measures.
- the decoding process is reduced in weight by the following ingenuity # 1 and ingenuity # 2. ⁇ Ingenuity # 1. Size reduction and ingenuity using QUAS symmetry # 2. Modification of BP decoding process using the unique structure of the pseudo-parity check matrix
- a pseudo-signal column that uses the symmetry of the coefficient matrix of QUAO, or a pseudo-parity check matrix is a vector or matrix that skips some rows and columns from the original pseudo-parity check matrix that does not use symmetry. ..
- the first Ni + 1 row of the original pseudo-parity check matrix is the row corresponding to the diagonal component of the coefficient matrix Q, it is not a quadratic term and may be omitted. Similarly, the Nth row may be omitted. The + Ni + 1 column may also be omitted.
- the Ni + j row and the Nj + i row either one (for example, the one with the smaller value) may be omitted due to the symmetry of the coefficient matrix Q.
- the corresponding column of the N + Ni + j column and the N + Nj + i column is omitted, and for r and x, of the N + Ni + j row and the N + Nj + i row. Omit the corresponding line.
- the index of the column skipped here is also skipped in the pseudo signal column.
- the 9-by-12 matrix H 3 may be a 3-by-6 matrix as shown in the following equation (36).
- the size can be reduced to 1/4 or less compared to the original size.
- the N + Ni + j column may be omitted, but in this case, the N + Ni + j rows of r and x are also omitted.
- the pseudo-parity check matrix is a matrix in which the first binary matrix corresponding to the first bit string and the second binary matrix corresponding to the second bit string are connected in the row direction. Also, the second binary matrix is the dominant part of the matrix size, which is the identity matrix.
- the transformation processing algorithm is, for example, an algorithm that performs the following procedure # 2-1 to procedure # 2-6.
- Procedure # 2-1 Input the received signal r, noise parameter ⁇ , and core H c of the parity check matrix H.
- Procedure # 2-2 Execute variable node processing: (H, r, ⁇ , ⁇ (1) , ⁇ (2) ) ⁇ ⁇ (1) , ⁇ (2) ⁇ Procedure # 2-3.
- steps # 2-2 to # 2-3 until the specified conditions are repeated, and the bit string m is output: (H, r, ⁇ , ⁇ ) ⁇ m
- variable node processing of the transformation processing is performed using, for example, the following equations (39) and (40).
- check node processing of the transformation processing is performed using, for example, the following equation (41).
- Ising decoder An Ising decoder will be described as an example of an apparatus that performs the processing related to the present disclosure.
- the Ising decoder is a computer that inputs the coefficient matrix of the Ising model and outputs the solution of the spin variable in the ground state.
- the Ising decoder may be the information processing apparatus 100 described later.
- the process of inputting the coefficient matrix of the Ising model and outputting the solution of the spin variable in the ground state may be referred to as the Ising decoding process.
- the Ising decoder processes the Ising model to QUABO conversion (hereinafter also referred to as "Ising model-QUABO conversion”), the QUABO to decoding problem conversion unit (hereinafter also referred to as "QUABO-decoding problem conversion”), BP decoding, and variable transformation.
- the Ising decoder has an Ising model-QUAB conversion unit that performs Ising model QUABO conversion, a QUABO-decoding problem conversion unit that performs QUABO-decoding problem conversion, a BP decoding unit that performs BP decoding, and a variable transformation unit that performs variable conversion. It has a part.
- the above module configuration (block configuration) is only an example, and the Ising decoder module configuration may be any configuration.
- FIG. 1 is a flowchart showing an example of the information processing procedure of the present disclosure.
- the Ising decoder performs various processes shown in FIG. 1 will be described as an example.
- each process shown below is not limited to the order of step numbers, and may be performed in any order as long as the processes are possible. First, the outline of the entire process will be described with reference to FIG. 1, and then the details of each process will be described.
- the Ising decoder accepts inputs of coefficient matrices J and h (step S1).
- the coefficient matrix of the Ising model is input to the Ising decoder.
- the Ising decoder performs Ising model-QUAB conversion (step S2).
- the Ising decoder executes a process of converting an Ising model into a QUAO format by a process related to coefficient matrix or binary variable transformation. That is, the Ising model-QUAB conversion is a process of converting the coefficient of the energy function of the Ising model into the coefficient of the objective function in the QUABO format.
- the Ising decoder performs QUAO-decoding problem conversion (step S3).
- the Ising decoder executes a process of converting the QUAO format into the format of the decoding problem by using the information regarding the signal sequence, the code string, the parity check matrix, and the like. That is, the QUAB-decoding problem conversion is a process of converting into an input signal string of a decoding problem having a code equivalent to the combinatorial optimization problem based on the objective function in the QUABO format.
- the Ising decoder performs BP decoding (step S4).
- the Ising decoder performs BP decoding, which is a decoding algorithm using the belief propagation method.
- the Ising decoder determines the spin variable (step S5).
- the Ising decoder uses information about combinatorial variables to determine spin variables. That is, the BP decoding is a process of processing a decoding problem based on an input signal string, acquiring a code string, converting the code string into a solution of a combinatorial optimization problem, and outputting the code string.
- BP decoding is configured by a decoding algorithm by the belief propagation method, and decodes a code string from an input signal sequence and a parity check matrix based on a decoding process by the belief propagation method, which will be described in detail later.
- the Ising decoder outputs the spin variable s (step S6).
- the Ising decoder may transmit, for example, information indicating the spin variable s to another device (for example, the terminal 51 in FIG. 11), or the information indicating the spin variable s may be transmitted to the screen (for example, the terminal 51, etc.). It may be displayed on the display unit 150 or the like in FIG.
- the above-mentioned output mode is only an example, and the output may be to generate a processing result.
- details of each process shown in FIG. 1 will be described.
- the QUAB-decoding problem conversion includes processing of pseudo signal generation and pseudo parity check matrix generation.
- the QUAB-decoding problem conversion unit is composed of a pseudo signal generation unit and a pseudo parity check matrix generation unit.
- FIG. 2 is a flowchart showing an example of a processing procedure for generating a pseudo signal.
- the pseudo signal generation unit of the Ising decoder performs various processes shown in FIG. 2 will be described as an example.
- the pseudo signal generation unit of the Ising decoder accepts the input of the QUABO coefficient matrix Q (step S11). For example, a coefficient matrix of QUABO is input to the pseudo signal generation unit.
- the pseudo signal generation unit generates the first signal sequence (step S12). Further, the pseudo signal generation unit generates a second signal train (step S13). Then, the pseudo signal generation unit makes a series connection (step S14). Then, the pseudo signal generation unit outputs a signal sequence (step S15).
- First signal string generation (first signal string generation block) By generating the first signal train, the QUAO coefficient matrix Q is input and the first signal train r 1 is output.
- the first signal sequence r 1 is a vector of length N.
- Second signal string generation (second signal string generation block) It is a block that inputs the QUAO coefficient matrix Q and outputs the second signal sequence r 2 by generating the second signal sequence.
- M 1 / 2N (N-1).
- the second signal sequence may be a vector that is half the number of off-diagonal non-zero components of Q.
- the first signal sequence r 1 and the second signal sequence r 2 are connected, and a pseudo signal sequence r is generated. In this way, the first signal sequence r 1 and the second signal sequence r 2 are connected to form a pseudo signal sequence r.
- FIG. 3 is a flowchart showing an example of a processing procedure for generating a pseudo-parity check matrix.
- the pseudo-parity check matrix generation unit of the Ising decoder performs various processes shown in FIG. 3 will be described as an example.
- the Ising decoder pseudo-parity check matrix generation accepts an input of size N (step S21). For example, a coefficient matrix of QUABO is input to the pseudo-parity check matrix generation. Then, the pseudo-parity check matrix generation secures the memory of the parity check matrix (step S22). In the pseudo-parity check matrix generation, numerical substitution of the parity check matrix is performed (step S23). Then, in the pseudo-parity check matrix generation, the core output of the parity check matrix is performed (step S24).
- the pseudo-parity check matrix is an algorithm that performs the following procedures # 3-1 to # 3-5.
- BP decryption By BP decoding, the pseudo signal string r and the pseudo parity check matrix H are input, and the pseudo decoding bit string z is output.
- an algorithm based on belief propagation (BP) is used for decoding.
- decoding Although the word “decoding” is used here, there may be no coding process corresponding to the process called "decoding”.
- decoding there may be no coding process corresponding to the process called "decoding”.
- BP decoding performs log odds calculation, variable node processing, check node processing, and bit string extraction processing.
- the BP decoding unit includes a logarithmic odds calculation unit that performs log odds calculation, a variable node processing unit that performs variable node processing, a check node processing unit that performs check node processing, and a bit string extraction unit that performs bit string extraction. ..
- the block configuration is only an example, and the block configuration for BP decoding may be any configuration.
- FIG. 4 is a diagram showing a first example of the decoding process.
- the BP decoding unit of the Ising decoder performs various processes shown in FIG. 4 will be described as an example.
- the BP decoding unit of the Ising decoder accepts a signal input (step S31). For example, the received signal r and the parity check matrix H are input to the BP decoding unit.
- the BP decoding unit calculates the log odds (step S32). For example, the BP decoding unit calculates log odds by calculating code odds based on a noise model. For example, the BP decoding unit calculates the log odds o from the received signal r.
- the BP decoding unit performs variable node processing (step S33). For example, the BP decoding unit performs variable node processing by calculating the belief a. For example, the BP decoding unit performs variable node processing by calculating the belief a from the parity check matrix H, the log odds o, and the belief b.
- the BP decoding unit performs the check node process (step S34). For example, the BP decoding unit performs the check node process by calculating the belief b. For example, the BP decoding unit performs the check node process by calculating the belief b from the parity check matrix H and the belief a.
- the BP decoding unit repeats steps S33 and S34.
- the BP decoding unit extracts the bit string (step S35).
- the BP decoding unit performs bit string extraction by calculating the bit string z from the logarithmic odds o and the belief a.
- the bit string is acquired by inputting the pseudo signal and the pseudo parity check matrix by using the configuration of BP decoding as it is.
- the BP decoding of the first example is an algorithm that performs the following procedures # 4-1 to # 4-6.
- Procedure # 4-1 Input the received signal r and the parity check matrix H ⁇ Procedure # 4-2. Logarithmic odds o calculation from received signal r ⁇ Procedure # 4-3. Initialize forward / backward beliefs a and b-Procedure # 4-4. Variable node processing: (H, o, b)-> a ⁇ Procedure # 4-5. Check node processing: (H, a)-> b ⁇ Procedure # 4-6. Specified condition repeat, bit string z output: (o, a)-> z
- the pseudo-parity check matrix is a sparse parity check matrix with a row weight of 3 and a column weight of 2. For this reason, sparse matrix operations (holding non-zero elements and their indexes in memory and using them for operations) are used to speed up and save memory.
- the minimum value of the loop in the factor graph is 6, which is relatively large in size and has outstanding sparseness. Therefore, the above-mentioned pseudo-parity check matrix is a parity check matrix that can be expected to have good decoding performance.
- the second example is BP decoding that takes advantage of the structural features of the pseudo-parity check matrix.
- BP decoding executes log odds calculation, variable node processing # 1, variable node processing # 2, check node processing X, and bit string extraction processing.
- the second example is a configuration utilizing the fact that the structure of the pseudo-parity check matrix is composed of two matrices.
- the BP decoding unit includes a logarithmic odds calculation unit that performs logarithmic odds calculation, a variable node processing unit that performs variable node processing # 1 and variable node processing # 2, a check node processing unit that performs check node processing X, and a bit string. It is provided with a bit string extraction unit for extracting.
- the block configuration is only an example, and the block configuration for BP decoding may be any configuration.
- FIG. 5 The flow of BP decoding in the second example will be described with reference to FIG. It is a figure which shows the 2nd example of a decoding process.
- a case where the BP decoding unit of the Ising decoder performs various processes shown in FIG. 5 will be described as an example. The same points as in FIG. 4 will be omitted as appropriate.
- the BP decoding unit of the Ising decoder accepts a signal input (step S41). For example, the received signals r1 and r2 and the inspection matrix Hc are input to the BP decoding unit.
- the BP decoding unit calculates the log odds (step S42). For example, the BP decoding unit calculates the log odds o1 from the received signal r1.
- the BP decoding unit performs variable node processing # 1 (step S43). For example, the BP decoding unit performs the variable node process # 1 by calculating the belief a1. For example, the BP decoding unit performs variable node processing # 1 by calculating belief a1 from the check matrix Hc, log odds o1, and belief b1.
- the BP decoding unit calculates the log odds (step S44). For example, the BP decoding unit calculates the log odds o2 from the received signal r2.
- the BP decoding unit performs variable node processing # 2 (step S45). For example, the BP decoding unit performs variable node processing # 2 by calculating the belief a2. For example, the BP decoding unit performs variable node processing # 2 by calculating belief a2 from log odds o2 and belief b2.
- the BP decoding unit performs the check node process X (step S46). For example, the BP decoding unit performs the check node process X by calculating the beliefs b1 and b2. For example, the BP decoding unit performs the check node process X by calculating the beliefs b1 and b2 from the beliefs a1 and a2.
- the BP decoding unit repeats steps S42 to S46. It should be noted that steps S42 to S46 are for explaining each process, and may be performed in any order as long as the processes are possible. For example, the processes of steps S44 and S45 may be performed in parallel with the processes of steps S42 and S43, or may be performed before the processes of steps S42 and S43.
- the BP decoding unit extracts the bit string (step S45). For example, the BP decoding unit extracts the bit string by calculating the bit string z1, that is, the bit string z from the log odds o1 and the belief a1.
- the signal and the binary variable are treated separately as a variable derived from the original binary variable and a variable derived from a pair of two binary variables.
- the BP decoding of the second example is an algorithm that performs the following procedures # 5-1 to # 5-7.
- the memory that must be retained can be reduced. Further, in the case of the second example, it is possible to reduce the operation in which zero appears.
- spin variable determination By determining the spin variable, the decoding bit series is input and the spin variable array is output.
- the program shown below is, for example, a program for executing the process having the same name among the processes shown in the second embodiment.
- the program shown below is a program for executing the above-mentioned Ising decoding process.
- the program shown below is executed by the above-mentioned Ising decoder (for example, information processing apparatus 100 or the like).
- the main function shown below is an example of a function (program) that inputs the coefficient matrix of the Ising model and outputs the basis spin coordination.
- ising_decoder which is the main function, is a function (program) that inputs the coefficient matrices J and h of the rising model and outputs the spin variables s.
- Ising_decoder is the main function for executing Ising decoding processing.
- Ising model-QUAB conversion [3-2. Ising model-QUAB conversion]
- a function that executes the Ising model-QUAB conversion (also referred to as "Ising model-QUAB conversion function") is shown below.
- the Zing model-QUAB conversion function shown below is an example of a function (program) that inputs the coefficient matrix of the Zing model and outputs the coefficient matrix of QUA.
- the above function diag (x) is a function that creates a diagonal matrix with the input vector x as a diagonal component. For example, it can be used with numpy, one of the libraries of the programming language python.
- the member function transpose () of the matrix Q is a function that creates the transposed matrix of Q. If Q is a complex matrix, it is a function that creates a conjugate transpose of Q. This function is also available in numpy.
- ising_to_qubo which is a Rising model-QUAB conversion function
- ising_to_qubo is a function (program) which inputs the coefficient matrices J and h of the Rising model and outputs the coefficient matrix Q of the QUA.
- Ising_to_qubo corresponds to the function described in the first line in the above “ising_decoder” which is the main function.
- QUA-Decryption problem conversion [3-3. QUA-Decryption problem conversion]
- a function (also referred to as a "QUABO-decoding problem conversion function") for executing the QUAB-decoding problem conversion is shown below.
- the QUAB-decoding problem conversion function shown below is an example of a function (program) that inputs a coefficient matrix of QUABO and outputs a signal sequence, a code string, and a parity check matrix in the decoding problem.
- qubo_to_decoding which is a QUABO-decoding problem conversion function is a function (program) which inputs a coefficient matrix Q of QUABO and outputs, for example, a signal string r and a parity check matrix H.
- Qubo_to_decoding corresponds to the function described in the second line in the above “ising_decoder” which is the main function.
- BP decoding function of the first example uses a pseudo-parity check matrix (H in the BP decoding function of the first example below) and a pseudo signal sequence (r in the BP decoding function of the first example below).
- H in the BP decoding function of the first example below uses a pseudo-parity check matrix (H in the BP decoding function of the first example below) and a pseudo signal sequence (r in the BP decoding function of the first example below).
- H in the BP decoding function of the first example uses a pseudo-parity check matrix (H in the BP decoding function of the first example below) and a pseudo signal sequence (r in the BP decoding function of the first example below).
- r in the BP decoding function of the first example uses a pseudo-parity check matrix (H in the BP decoding function of the first example below) and a pseudo signal sequence (r in the BP decoding function of the first example below).
- This is an example of a function (program) that inputs and outputs
- bp_decoding_v1 which is the BP decoding function of the first example is a function (program) which inputs, for example, a pseudo signal string r and a pseudo parity check matrix H and outputs a bit string z.
- “Bp_decoding_v1” is a function used as the function "bp (H, r)" described in the third line in the above “ising_decoder” which is the main function.
- BP decoding function of the second example a function that executes BP decoding of the second example (also referred to as "BP decoding function of the second example") is shown below.
- the BP decoding function of the second example shown below is the core part of the pseudo-parity check matrix (Hc in the BP decoding function of the second example below) and the pseudo signal sequence (the BP decoding function of the second example below).
- Hc pseudo-parity check matrix
- the pseudo signal sequence the BP decoding function of the second example below.
- This is an example of a function (program) that inputs r1 and r2) and outputs the code string decoded by the extended BP decoding.
- lodds1 calc_log_odds (r1)
- lodds2 calc_log_odds (r2)
- beta update_check_node (Hc, lodds1, alpha)
- alpha update_variable_node_v2 (Hc, lodds2, beta)
- z get_solution (alpha) return z
- bit_decoding_v2 which is the BP decoding function of the second example is a function (program) which inputs, for example, the pseudo signal sequence r1 and r2 and the matrix Hc of the core part of the pseudo parity check matrix and outputs the bit string z. ..
- Bp_decoding_v2 is a function used as the function "bp (H, r)" described in the third line in the above “ising_decoder" which is the main function.
- the information processing apparatus 100 stores the above-mentioned program (function) and the program (function) called by each program in the storage unit 120 (see FIG. 17), and executes the process using each program.
- FIG. 6 is a diagram showing an example of the configuration of the information processing system.
- the information processing system 1 includes a database 2, an application CPU (Central Processing Unit) 3, a combination optimization memory 4, and a combination optimization processing CPU 5 (also referred to as a combination optimization processing unit).
- the singing model memory 6, the singing decoder 7, and the decoding processing memory 8 are included as components.
- the combination optimization memory 4, the combination optimization processing CPU 5, and the Ising model memory 6 may be collectively referred to as a combination optimization conversion unit 10.
- each component of the database 2, the application CPU 3, the combination optimization memory 4, the combination optimization processing CPU 5, the rising model memory 6, the rising decoder 7, and the decoding processing memory 8 is regarded as one device. It may be configured or may be configured as a plurality of devices. When configured as one device, for example, each component is communicably connected by an arbitrary signal line such as a bus.
- the information processing system 1 may include a first device having a combinatorial optimization conversion unit 10 and a second device having an Ising decoder 7.
- the information processing system 1 includes a data server device having a database 2, an application CPU 3, a first device (optimization processing device) having a combination optimization conversion unit 10, a rising decoder 7, and a decoding processing memory 8. It may include three devices of the second device (for example, the information processing device 100) having the same.
- the above configuration is only an example, and any configuration can be adopted as the device configuration of the information processing system 1.
- the information processing system 1 is a system for realizing an application including combinatorial optimization.
- applications include line code coding / decoding, compressed sensing, super-resolution, and the like.
- the combinatorial optimization contained in the application is maximum likelihood decoding or l0 norm minimization, respectively.
- each component of the information processing system 1 will be described.
- the application CPU 3 is a CPU (processing unit) that controls the entire application.
- the application CPU 3 is not limited to the CPU, but is realized by, for example, another processing device (processor) such as a GPU (Graphics Processing Unit), an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). You may.
- processor processing unit
- GPU Graphics Processing Unit
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- the application CPU 3 writes information to the combination optimization memory 4 when a process for handling the combination optimization is required, and also starts the combination optimization processing CPU 5 which is a combination optimization processing unit to perform a combination. Optimization processing Receives the processing result of the CPU 5.
- the combination optimization memory 4 is a memory that stores information handled in the original combination optimization (also referred to as “combinatorial optimization information”).
- the combination-optimized memory 4 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
- Combinatorial optimization information differs depending on the application, but for example, it is dynamically obtained data and statically prepared data.
- the data is a received signal and the database is a generator matrix or a parity check matrix.
- the data is information from the sensor, and the database is an observation matrix, a dictionary matrix, or the like.
- the combinatorial optimization processing CPU 5 functions as a combinatorial optimization processing unit, calculates coefficient information of the Ising model based on the information recorded in the combinatorial optimization memory 4, and writes it in the Ising model memory 6.
- the combinatorial optimization processing CPU 5 is not limited to the CPU, and may be realized by, for example, another processing device (processor) such as a GPU, or an integrated circuit such as an ASIC or FPGA.
- the combinatorial optimization processing CPU 5 may use a database (database of the Ising model) of the conversion processing method for the combinatorial optimization to the Ising model that has already been examined.
- the combinatorial optimization processing CPU 5 may be listed (stored) in advance in a database or the like of the Ising model (not shown), and the data may be simply passed to the processing and executed.
- the combinatorial optimization processing CPU 5 may select a conversion processing method for the combinatorial optimization to the Ising model stored in the database of the Ising model, and calculate the coefficient information of the Ising model by the conversion processing method.
- the combinatorial optimization processing CPU 5 activates the Ising decoder 7. Then, the combinatorial optimization processing CPU 5 obtains a solution of the original combinatorial optimization problem from the combination of spin variables obtained from the rising decoder 7, and returns this result to the application CPU 3.
- the processing by the combinatorial optimization processing CPU 5 does not necessarily have to be independent of the processing of the application CPU 3. For example, the application CPU 3 and the combinatorial optimization processing CPU 5 may be integrated.
- the Ising decoder 7 performs the Ising decoding process as described above.
- the Ising decoder 7 is realized by, for example, a CPU, a GPU, or an FPGA.
- the Ising decoder 7 is not limited to the above, and may be realized by, for example, a CPU, a processing device (processor) other than the GPU, an FPGA, or the like.
- the Ising decoder 7 acquires (reads) the coefficient matrix of the Ising model recorded in the Ising model memory 6 in response to an instruction from the combinatorial optimization processing CPU 5. Then, the rising decoder 7 performs decoding algorithm processing using the obtained coefficient matrix of the rising model, generates a spin variable string from the obtained code string, and combines the generated spin variable strings for optimization processing CPU5. Return to.
- the Ising decoder 7 generates a QUAO coefficient matrix from the Ising model coefficient matrix. Then, the Ising decoder 7 generates a pseudo-parity check matrix and a pseudo-signal sequence from the generated QUAF coefficient matrix. Then, the rising decoder 7 decodes the code string from the generated pseudo-parity check matrix and the pseudo signal sequence, and uses the decoded sequence as an array of spin variables.
- the Ising decoder 7 writes and holds the QUAO coefficient matrix, the pseudo-parity check matrix, and the pseudo signal sequence generated on the way to the memory of the Ising decoder 7. Since the pseudo-parity check matrix is (relatively) static information, it may be read from the database as predetermined information.
- the decoding processing memory 8 stores (writes) a QUAO coefficient matrix, a pseudo-parity check matrix, and a pseudo signal sequence required by the Ising decoder 7. Further, the decoding processing memory 8 stores (writes) intermediate variables required for the BP decoding processing.
- the decoding processing memory 8 is realized by, for example, a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk.
- FIG. 7 is a diagram showing a fifth embodiment to which the information processing of the present disclosure is applied.
- the communication path coding / decoding system 1A is an example of a system to which the information processing system 1 is applied.
- the communication path coding / decoding system 1A includes a transmitter 11 that converts information into a signal sequence and transmits it, and a receiver 12 that restores the original information from the signal sequence.
- the transmitter 11 transmits the transmission information to the receiver 12 as a signal sequence, and the original information is restored as the reception information from the signal sequence received by the receiver 12.
- the transmitter 11 is composed of an information block generation unit, a message generation unit, a code generation unit, and a signal transmission unit.
- the transmitter 11 has an information block generation unit and a message generation unit (message transmission unit), which converts information into a bit string of a message.
- the code generator converts the bit string of the converted message into a code bit string.
- the signal transmission unit targets the converted code bit string, modulates it, and transmits it to the receiver 12.
- the receiver 12 is composed of a signal receiving unit, a message decoding unit, and an information restoration unit.
- the signal receiver converts the modulated signal into a baseband signal.
- the message decoder restores the bit string of the message from the baseband signal.
- Information restoration restores information by connecting blocked messages. If the Reed-Solomon code, BCH code, or the like is an external code, the information restoration unit may perform the decoding process.
- FIG. 8 is a diagram showing an example of a configuration of a receiver to which the information processing of the present disclosure is applied.
- the receiver 12 includes a signal receiving unit 21, a database 22, a maximum likelihood decoding unit 23 as a message decoding unit, an information restoration unit 24, and a combinatorial optimization accelerator 50.
- FIG. 8 is a block diagram showing the configuration of the receiver 12 to which the information processing of the present disclosure is applied.
- the database 22 functions as a storage device (storage unit) for storing a generator matrix, a parity check matrix, and the like. Further, among the configurations of FIG. 8, the signal receiving unit 21 and the information restoring unit 24 use the above-mentioned normal configurations (signal receiving unit, information restoring unit).
- the maximum likelihood decoding is used here instead of the commonly used decoding method, for example, belief propagation decoding, for the message decoding unit.
- the portion described as the maximum likelihood decoding unit 23 corresponds.
- Non-Patent Document 1 quantum annealing as a combinatorial optimization accelerator is used to realize this maximum likelihood decoding.
- the above-mentioned Non-Patent Document 1 there are a method derived from a code generation matrix and a method derived from a parity check matrix, and an energy function is defined as an singing model as shown in the following equation (47).
- equation (47) is an energy function when derived from the code generation matrix.
- ⁇ in the equation (47) is a spin variable corresponding to the message bit, and has a relationship as shown in the following equation (48) with the message bit m having a length M.
- Equation (47) are auxiliary spins introduced to satisfy the constraint that the sign is generated from the generator matrix.
- the energy function introduces the penalty term shown in the following equation (49).
- im represents the index of the mth non-zero component from the left in the i-th row in the generator matrix.
- this penalty term is a positive value if all the constraints are not satisfied by 0 when the constraint is satisfied.
- ⁇ im is an undetermined constant that takes a positive value, but when this value is sufficiently large, it is equivalent to maximum likelihood decoding.
- ⁇ is a spin variable corresponding to the sign bit, and has a relationship as shown in the following equation (51) with the sign bit x having a length N.
- Equation (51) p and a in the equation (51) are auxiliary spins whose sign is introduced to satisfy the parity constraint by the parity check matrix.
- the energy function introduces the penalty term shown in the following equation (52).
- km represents the index of the mth non-zero component from the left in the kth row in the parity check matrix.
- this penalty term is a positive value if all the constraints are not satisfied by 0 when the constraint is satisfied.
- ⁇ km is an undetermined constant that takes a positive value, but when this value is sufficiently large, it is equivalent to maximum likelihood decoding.
- the energy function of the Ising model is expressed in at most a quadratic dimension of the spin variable including the auxiliary variable. Therefore, it is possible to extract the quadratic coefficient matrix J and the linear coefficient matrix (vector) h of the Ising model by using a program or the like.
- Non-Patent Document 1 by inputting the coefficient matrices J, h of these Ising models into the quantum annealing system, the spin variables ⁇ , p, a of the ground state of the Ising model are obtained, and based on these, the spin variables ⁇ , p, a are obtained. Restoring message bit string m.
- the combinatorial optimization accelerator 50 (Ising decoder) is used instead of the combinatorial optimization accelerator in which quantum annealing is used. That is, by inputting the coefficient matrices J and h of these Ising models into the Ising decoder, the spin variables ⁇ , p and a in the ground state of the Ising model are acquired, and the message bit string m is restored based on these.
- FIG. 9 is a diagram showing a sixth embodiment to which the information processing of the present disclosure is applied.
- the sensing system 1B is an example of a system to which the information processing system 1 is applied.
- the sensing system 1B has a sensor control unit 31 that controls the measurement state of the sensor (on / off, scheduling of measurement accuracy, etc.) and a sensing unit that measures an actual measurement target and outputs data. It is composed of 32.
- the sensing system 1B is not limited to the sensor control unit 31 and the sensing unit 32, and may include various configurations for realizing the sensing system 1B.
- partial data is acquired instead of acquiring complete measurement data for the purpose of saving power of the sensor, reducing the number of sensors themselves, and compressing the sensing data size. .. Sensing that acquires partial data in this way is sometimes called compressed sensing.
- the sensing unit 32 includes a modeling unit (also referred to as a “sparse model processing unit”) that models data called sparse modeling, in addition to a sensor that acquires data from the measurement target, and complete data based on this modeling. It is composed of a data restoration unit (also referred to as an "information restoration unit”) that restores data.
- the measurement target is, for example, a tomographic image acquired by an MRI (Magnetic Resonance Imaging) system, a distribution of peripheral objects measured by a radar (rider) array, or a distribution of sound sources measured by a microphone array.
- Measurement target to be measured by the sensor array is, for example, a tomographic image acquired by an MRI (Magnetic Resonance Imaging) system, a distribution of peripheral objects measured by a radar (rider) array, or a distribution of sound sources measured by a microphone array.
- explanatory variables are obtained using a database called a dictionary matrix and an observation matrix.
- the data restoration unit restores the data corresponding to the complete data based on the explanatory variables obtained by the sparse model processing unit and the model information prepared in advance.
- the restored data is, for example, a tomographic image in the case of MRI or CT (Computed Tomography), and an object distribution map (peripheral pedestrian distribution (vehicle-mounted radar), water droplet distribution (meteorological radar)) in the case of a radar array. Is.
- l1 norm minimization an algorithm of an optimization method called l1 norm minimization.
- Lasso Lasso Absolute Shrinkage and Selection Operator
- l0 norm minimization is guaranteed to reach the most correct solution, and it is difficult to verify that l1 norm minimization has the same performance as l0 norm. It is necessary to meet the conditions. That is, l0 norm minimization is most ideal for sparse modeling. However, at the same time, it is also known that l0 norm minimization is difficult to calculate due to the problem of combinatorial optimization and is not practical.
- FIG. 10 below is a combinatorial optimization accelerator 50 to which the first to third embodiments are applied, and is a configuration for making this l0 norm minimization more practical.
- FIG. 10 is a diagram showing an example of a configuration to which the information processing of the present disclosure is applied.
- the sensing system 1B shown in FIG. 10 is composed of a sensor 41, a database 42, a sparse model processing unit 43 as a modeling unit, an information restoration unit 44 as a data restoration unit, and a combinatorial optimization accelerator 50.
- the sensor 41, the database 42, the sparse model processing unit 43, the information restoration unit 44, and the combinatorial optimization accelerator 50 correspond to the sensing unit 32 in FIG.
- the sensor 41 is a device that converts the observed phenomenon into an electric signal or data and outputs it.
- the sensor 41 may be any sensor such as an image sensor, a sound sensor, an acceleration sensor, a position sensor, a temperature sensor, a humidity sensor, an illuminance sensor, and a pressure sensor.
- the database 22 functions as a storage device (storage unit) for storing an observation matrix, a dictionary matrix, and the like.
- the l1 minimization algorithm falls into the category of linear programming rather than combinatorial optimization, and existing computers can be used to find solutions practically enough.
- c in equations (54) and (55) is an auxiliary variable introduced to calculate the l0 norm.
- the first term is an ordinary least squares error term
- the second term is the l0 norm
- the third term is the penalty term that represents the constraint conditions that the auxiliary variables introduced to calculate the l0 norm must meet.
- the spin variables ⁇ b and ⁇ c of the ground state of the Ising model are obtained, and the bit representation of the sparse explanatory variable z based on these is obtained. Can be obtained.
- the combinatorial optimization accelerator 50 (Ising decoder) is used instead of the combinatorial optimization accelerator in which quantum annealing is used.
- the spin variables b and c of the ground state of the Ising model are acquired, and the bit representation b of the sparse explanatory variable z is acquired based on these.
- FIG. 11 is a diagram showing a seventh embodiment to which the information processing of the present disclosure is applied.
- the development system 1C is an example of a system to which the information processing system 1 is applied.
- the development system 1C includes a terminal 51, a combinatorial optimization database 52, a development application 53, a combinatorial optimization unit 54, a rising decoder 55, a quantum-conceived computer 56, and a quantum annealing 57.
- the gate type quantum computer 58 are included as components.
- each component of the terminal 51, the combination optimization database 52, the development application 53, and the combination optimization unit 54 may be configured as one device or as a plurality of devices. good. When configured as one device, for example, each component is communicably connected by an arbitrary signal line such as a bus.
- the terminal 51 has a combinatorial optimization database 52, a development application 53, and a combinatorial optimization unit 54
- the terminal 51 includes a rising decoder 55, a quantum-conceived computer 56, a quantum annealer 57, and a gate-type quantum computer 58. Communicates with each device and sends and receives information.
- an application development tool (development tool) including, for example, a development application 53 is installed in the terminal 51.
- each component of the terminal 51, the combination optimization database 52, the development application 53, and the combination optimization unit 54 is configured (distributed and arranged) as a plurality of devices, for example, predetermined communication is performed between the components. It is connected so that it can communicate by wire or wirelessly via a network.
- a terminal 51 in which the development application 53 is installed a server device having a combinatorial optimization database 52, an optimization processing device having a combinatorial optimization unit 54, a rising decoder 55, and a quantum idea.
- the type computer 56, the quantum annealing 57, and the gate type quantum computer 58 may be included.
- the optimization processing device communicates with each device of the terminal 51, the Ising decoder 55, the quantum-conceived computer 56, the quantum annealing 57, and the gate-type quantum computer 58, and transmits / receives information.
- the above configuration is only an example, and any configuration can be adopted as the device configuration of the development system 1C.
- the development system 1C holds various representations of combinatorial optimization by Ising models as a database (for example, combinatorial optimization database 52), and can be switched according to a user's request.
- the development system 1C includes a terminal 51 that is a terminal unit that serves as an interface with a user, a combination optimization database 52 that holds an expression of a combinatorial optimization singing model, a development application 53 main body, and a combination optimization unit 54. It has a rising decoder 55 and the like.
- the combinatorial optimization database 52 stores typical data conversion processes of various combinatorial optimizations as a library. Specifically, the combinatorial optimization database 52 stores a function (or class) that outputs the coefficients of the Ising model by inputting the data and the database used in each application including the combinatorial optimization.
- the Ising decoder 55 is a computer that inputs a coefficient matrix of the Ising model and outputs a solution of a spin variable in the ground state.
- the Ising decoder 55 performs the Ising decoding process as described above, similarly to the Ising decoder 7 of FIG.
- the Ising decoder 55 is realized by, for example, a CPU, a GPU, or an FPGA.
- the Ising decoder 55 may be the information processing apparatus 100 described later.
- the Ising decoder 55 receives the coefficient matrix of the Ising model from the combination optimization unit 54, and performs the Ising decoding process using the received coefficient matrix of the Ising model to derive a solution of the spin variable in the base state. ..
- the Ising decoder 55 transmits the derived solution of the spin variable in the ground state to the combinatorial optimization unit 54.
- the quantum-conceived computer 56 is a computer using a digital circuit.
- the quantum-conceived computer 56 uses a non-quantum device such as a transistor circuit to accelerate simulated annealing, which minimizes energy by thermal fluctuation, while diverting the idea of embedding combinatorial optimization in the singing model. It is hardware.
- the quantum-conceived computer 56 is, for example, a computer (computer) that uses CMOS (Complementary metal-oxide-semiconductor), a digital circuit, or the like.
- CMOS Complementary metal-oxide-semiconductor
- the quantum-conceived computer 56 may be a computer (computer) using a processor such as a GPU or an integrated circuit such as an FPGA.
- the quantum-conceived computer 56 receives the coefficient matrix of the Ising model from the combination optimization unit 54, and derives the solution of the spin variable in the ground state by simulated annealing using the received coefficient matrix of the Ising model.
- the quantum-conceived computer 56 transmits the derived solution of the spin variable in the ground state to the combinatorial optimization unit 54.
- the quantum annealing 57 is a computer using a quantum annealing method.
- the quantum annealing machine 57 is a quantum annealing machine (quantum computer) that uses a qubit for the singing spin.
- the quantum annealing 57 receives the coefficient matrix of the Ising model from the combination optimization unit 54, and derives the solution of the spin variable in the ground state by quantum annealing using the received coefficient matrix of the Ising model.
- the quantum annealing 57 transmits the derived solution of the spin variable in the ground state to the combinatorial optimization unit 54.
- FIG. 12 is a diagram showing a configuration example of the quantum annealing.
- the quantum annealing unit 57 has a communication unit 571, a storage unit 572, a quantum device unit 573, and a control unit 574.
- the quantum annealing 57 has an input unit (for example, a keyboard, a mouse, etc.) that receives various operations from the administrator of the quantum annealing 57, and a display unit (for example, a liquid crystal display, etc.) for displaying various information. You may.
- the communication unit 571 is realized by, for example, a NIC (Network Interface Card), a communication circuit, or the like.
- the communication unit 571 is connected to a predetermined network (Internet, etc.) by wire or wirelessly, and information is provided to other devices such as a device (optimization processing device) having a combination optimization unit 54 via the network. Send and receive.
- the storage unit 572 is realized by, for example, a semiconductor memory element such as a RAM or a flash memory, or a storage device such as a hard disk or an optical disk.
- the storage unit 572 stores various information used for displaying the information.
- the quantum device unit 573 executes various quantum calculations.
- the quantum device unit 573 is realized by a quantum processing unit (QPU: Quantum Processing Unit).
- QPU Quantum Processing Unit
- the quantum device unit 573 realizes the ground state of the Ising model based on the parameters of the Ising model received from other devices such as the device having the combinatorial optimization unit 54, for example.
- the quantum device unit 573 realizes the optimum spin arrangement in which the Ising model is in the ground energy state. That is, the quantum device unit 573 realizes a state in which the optimization problem is optimized.
- the quantum device unit 573 is composed of, for example, a plurality of qubits.
- the quantum device unit 573 is cooled to near absolute zero in advance.
- the quantum device unit 573 internally develops the ratio of the Rising model and the transverse magnetic field model (quantum fluctuation model) over time.
- the optimum spin arrangement according to the parameters of the Ising model is realized on the quantum device unit 573.
- the optimum spin arrangement of the Ising model is physically realized on the quantum device unit 573.
- the quantum device unit 573 can optimize the discrete optimization problem.
- the quantum device unit 573 can optimize the optimization problem of the objective function in the quadratic form.
- the control unit 574 is realized by, for example, a CPU, a GPU, or the like executing a program stored inside the quantum annealing 57 with a RAM or the like as a work area. Further, the control unit 574 is a controller, and may be realized by an integrated circuit such as an ASIC or FPGA.
- control unit 574 has an acquisition unit 575, a calculation unit 576, and a transmission unit 577, and realizes or executes the functions and operations of information processing described below.
- the internal configuration of the control unit 574 is not limited to the configuration shown in FIG. 12, and may be any other configuration as long as it is configured to perform information processing described later.
- the acquisition unit 575 receives various information.
- the acquisition unit 575 receives various information from an external information processing device.
- the acquisition unit 575 receives various information from other information processing devices such as a device having the combination optimization unit 54.
- the acquisition unit 575 performs a calculation using, for example, the quantum device unit 573, and receives an instruction for measurement from another information processing device such as a device having a combinatorial optimization unit 54.
- the acquisition unit 575 accepts the parameters of the Ising model as instructions for calculation (measurement) by the quantum device unit 573.
- the acquisition unit 575 acquires various types of information.
- the acquisition unit 575 acquires information from the storage unit 572.
- the acquisition unit 575 acquires various information from an external information processing device such as a device having a combination optimization unit 54.
- the acquisition unit 575 acquires the input information received by the input unit.
- the acquisition unit 575 acquires, for example, information about the parameters of the Ising model from an external information processing device.
- the acquisition unit 575 acquires the measurement result (calculation result) of the quantum device unit 573 by the calculation unit 576.
- the calculation unit 576 executes various calculations.
- the calculation unit 576 executes a calculation using the quantum device unit 573.
- the calculation unit 576 measures the quantum device unit 573.
- the calculation unit 576 measures the quantum device unit 573 in which the optimum spin arrangement of the Ising model is realized.
- the calculation unit 576 executes the calculation using the Ising parameters received by the acquisition unit 575 from the device having the combinatorial optimization unit 54.
- the transmission unit 577 transmits various information to an external information processing device.
- the transmission unit 577 transmits various information to another information processing device such as a device having a combination optimization unit 54.
- the transmission unit 577 transmits the information stored in the storage unit 572.
- the transmission unit 577 transmits various information based on information from other information processing devices such as a device having a combination optimization unit 54.
- the transmission unit 577 transmits various information based on the information stored in the storage unit 572.
- the transmission unit 577 transmits the measurement result of the quantum device unit 573 by the calculation unit 576 to the device that instructed the calculation.
- the transmission unit 577 transmits the measurement result of the quantum device unit 573 by the calculation unit 576 to the parameter transmission source.
- the transmission unit 577 transmits the measurement result of the quantum device unit 573 by the calculation unit 576 to the request source of the calculation.
- the transmission unit 577 transmits the measurement result of the quantum device unit 573 by the calculation unit 576 to another information processing device such as a device having the combinatorial optimization unit 54.
- the transmission unit 577 transmits the Ising spin value calculated (measured) using the parameters received from the device having the combinatorial optimization unit 54 to the device having the combinatorial optimization unit 54.
- the gate type quantum computer 58 is a computer using a quantum gate method. Although detailed description is omitted because it is a known technique, the gate type quantum computer 58 is a quantum computer that performs arithmetic processing (calculation processing) by a quantum gate. While the quantum annealing method has a strong aspect of specializing in combinatorial optimization, the quantum gate method can handle general-purpose calculations, and algorithms based on the quantum gate method have already been proposed for specific calculations. .. For example, a method called QAOA (Quantum Approximate Optimization Algorithm) is a method that deals with optimization in the same way as quantum annealing.
- QAOA Quantum Approximate Optimization Algorithm
- FIGS. 13 to 16 are diagrams showing an example of a user interface.
- the terminal 51 of the development system 1C provides the UI.
- the terminal 51 displays the contents CT1 to CT4 described later on the display (screen).
- the present invention is not limited to the terminal 51, and other devices such as the information processing apparatus 100 may provide the UI to the user.
- the information processing apparatus 100 (see FIG. 17) may provide the UI by the input unit 140, the display unit 150, or the like.
- the terminal 51 may be the information processing device 100.
- the development system 1C may display a list box on the terminal 51, for example, in conjunction with the library stored in the combinatorial optimization database 52.
- the terminal 51 displays a list of combinatorial optimization tasks that can be converted into an Ising model, as shown in the content CT1 in FIG.
- Content CT1 includes integer classification, traveling salesman problem, coloring problem, most probable decoding, l0 minimization sparse coding, factorization, scheduling problem, optimal distribution problem, etc. as combinatorial optimization tasks that can be converted into a singing model. Is done.
- the combinatorial optimization task that can be converted to the Ising model is not limited to the above.
- the user can check the list box to get an explanation of the combinatorial optimization.
- the terminal 51 displays a description of the combinatorial optimization selected by the user. For example, the terminal 51 displays a description of the maximum likelihood decoding which is the selected combinatorial optimization, as shown in the content CT2 in FIG. In the example of FIG. 14, the content CT2 is displayed in a separate window from the content CT1.
- the content CT2 is provided with a brief explanation about the maximum likelihood decoding which is the selected combinatorial optimization, and is in a mode in which necessary information can be input.
- the content CT2 includes a URL (Uniform Resource Locator) that specifies a database of a code generation matrix or a parity check matrix, and a box for inputting a URL that specifies a received signal vector.
- URL Uniform Resource Locator
- the necessary information is typically a database and data, so there may be a box where you can enter that information. Since the required data format changes depending on the application, it is desirable that the development application and the library can absorb it.
- the terminal 51 may display a screen (content) for inputting information necessary for the combination optimization according to the selected combination optimization (application).
- the user inputs necessary information via the above interface (for example, content CT2), selects a solver, and executes combinatorial optimization.
- the solver may be capable of selecting a quantum annealing or a gated quantum computer (such as the QAOA method), including the Ising decoder.
- the development system 1C may display, for example, a list of solvers that can be selected on the terminal 51.
- the terminal 51 displays a list of selectable solvers as shown in the content CT3 in FIG.
- the content CT3 includes a quantum annealing, a quantum-conceived computer, a rising decoder, a gated quantum computer, a linear integer programming solver, an integer programming solver, and the like as solvers.
- the solver is not limited to the above.
- the content CT3 shows the case where the user selects the Ising decoder as the solver.
- To cancel the selection of the selected combinatorial optimization press the "CANCEL” button in the content CT3. This deselects the combinatorial optimization and changes the check box of the combinatorial optimization to hidden.
- the “CANCEL” button in the content CT3 is pressed, the Ising decoder is deselected and the check box of the Ising decoder is changed to non-display.
- the development system 1C may display information (solver information) about the solver selected by the user.
- the solver information includes what kind of solver, what the backend (calculation hardware) is, whether it is suitable for this problem, how much memory is used for this problem, and how long it will take to solve it. Contains information.
- the terminal 51 displays the solver information of the solver selected by the user as shown in the content CT4 in FIG.
- the user finally decides whether to execute or stop the combinatorial optimization selected (input) this time by referring to the solver information.
- the "SOLVE" button in the content CT3 is pressed.
- the application side of the development system 1C performs actual combinatorial optimization according to this process and returns the answer.
- GUI Graphic User Interface
- GUI Graphic User Interface
- GUI Graphic User Interface
- it is not limited to GUI and may be command line input.
- SDK Software Development Kit
- API Application Programming Interface
- FIG. 17 shows an information processing apparatus 100 as an example of an apparatus that performs various processes such as the Ising decoding described above.
- the Ising decoders such as the Ising decoders 7 and 55 and the combinatorial optimization accelerator 50 may be realized by the information processing apparatus 100.
- the information processing device 100 is a device (computer) that performs Ising decoding processing.
- FIG. 17 is a diagram showing a configuration example of the information processing apparatus of the present disclosure.
- the information processing apparatus 100 includes a communication unit 110, a storage unit 120, a control unit 130, an input unit 140, and a display unit 150.
- the communication unit 110 is realized by, for example, a NIC or a communication circuit. Then, the communication unit 110 is connected to a predetermined network (not shown) by wire or wirelessly, and information is transmitted / received to / from another information processing device such as a device having a combinatorial optimization unit 54 (optimization processing device). I do. Further, the communication unit 110 may send and receive information to and from a user terminal (terminal 51 or the like) used by the user.
- a user terminal terminal 51 or the like
- the communication unit 110 receives various information.
- the communication unit 110 receives various information from an external device.
- the communication unit 110 receives the coefficient matrix of the Ising model from the device (optimization processing device) having the combinatorial optimization unit 54.
- the communication unit 110 transmits the solution of the spin variable in the ground state derived by the control unit 130 to the device (optimization processing device) having the combinatorial optimization unit 54.
- the storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory (Flash Memory), or a storage device such as a hard disk or an optical disk.
- the storage unit 120 according to the first embodiment stores various data, information of various functions (programs) used for information processing, and the like. Further, the storage unit 120 may store information on the function used for processing in the above-mentioned equation.
- the storage unit 120 is not limited to the above, and may store various information depending on the purpose.
- control unit 130 for example, a program (for example, an information processing program according to the present disclosure) stored in the information processing device 100 by a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like is a RAM (Random Access). It is realized by executing Memory) etc. as a work area. Further, the control unit 130 is realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- control unit 130 has a first processing unit 131 and a second processing unit 132, and realizes or executes the functions and operations of information processing described below.
- the control unit 130 having the first processing unit 131 and the second processing unit 132 performs the Ising decoding process using the coefficient matrix of the Ising model received by the communication unit 110 to obtain the spin variables in the ground state. Derive a solution.
- the first processing unit 131 calculates the objective function (QUAB format) of the combinatorial optimization problem.
- the first processing unit 131 is realized by a first processor such as a CPU or GPU.
- the first processing unit 131 may be realized by the first processing circuit that calculates the objective function (QUAB format) of the combinatorial optimization problem.
- the first processing circuit any circuit such as FPGA or ASIC can be adopted.
- the second processing unit 132 outputs the solution of the combinatorial optimization problem.
- the second processing unit 132 is realized by a second processor such as a CPU or GPU.
- the second processing unit 132 may be realized by a second processing circuit that outputs a solution to the combinatorial optimization problem.
- any circuit such as FPGA or ASIC can be adopted.
- control unit 130 is composed of a plurality of processors including a first processor corresponding to the first processing unit 131 and a second processor corresponding to the second processing unit 132.
- the first processor and the second processor may be integrated, or the first processor and the second processor may be distributed and arranged in different devices.
- the first processing unit 131 performs Ising model QUAB conversion.
- the first processing unit 131 performs QUAB-decoding problem conversion.
- the first processing unit 131 extracts the second information in the Ising model format (for example, the coefficient matrix of the Ising model) from the first information regarding the combinatorial optimization problem.
- the first processing unit 131 calculates the objective function in the QUAO format by using the second information in the Ising model format (for example, the coefficient matrix of the Ising model).
- the first processing unit 131 performs the processing described in the above-mentioned "2-1-1. Ising model-QUAB conversion", "2-1-2. QUA-decoding problem conversion” and the like, and the processing based on the algorithm and the like. conduct.
- the second processing unit 132 performs BP decoding. For example, the second processing unit 132 determines the spin variable by the belief propagation method. The second processing unit 132 outputs the determined spin variable.
- the second processing unit 132 includes the above-mentioned “2-1-2-3. BP decoding”, “2-1-2-4. BP decoding of the first example”, and “2-1-2-5.
- the processing described in "BP decoding of the second example” and the like, and the processing based on the algorithm and the like are performed. That is, the second processing unit 132 processes a predetermined decoding problem converted from the combinatorial optimization problem by a predetermined method.
- the input unit 140 accepts input by the user.
- the input unit 140 may accept various operations from the user via the keyboard, mouse, or touch panel provided in the information processing apparatus 100.
- the input unit 140 accepts the user's operation on the contents CT1 to CT4, which are the presentation screens displayed by the display unit 150, as input.
- the input unit 140 accepts the user's selection of an optimization problem. Further, for example, the input unit 140 accepts the user's selection of the solver.
- the display unit 150 displays various information.
- the display unit 150 is a display device such as a liquid crystal display and displays various information.
- the display unit 150 displays the contents CT1 to CT4 and the like.
- the information processing device 100 may have a content generation unit that generates contents CT1 to CT4 and the like.
- the content generation unit generates information to be displayed on the display unit 150, such as the contents CT1 to CT4.
- the content generation unit generates contents CT1 to CT4 and the like by appropriately using various techniques such as Java (registered trademark).
- the content generation unit may generate content CT1 to CT4 or the like based on the format of CSS, Javascript (registered trademark), or HTML.
- the content generation unit may generate contents CT1 to CT4 and the like in various formats such as JPEG (Joint Photographic Experts Group), GIF (Graphics Interchange Format), and PNG (Portable Network Graphics).
- JPEG Joint Photographic Experts Group
- GIF Graphics Interchange Format
- PNG Portable Network Graphics
- the information processing apparatus 100 has been described as a device that performs Ising decoding processing, but the information processing apparatus 100 may perform processing other than Ising decoding processing.
- the information processing apparatus 100 according to the modification shown below may be an apparatus that performs processing before the Ising decoding process or processing after the Ising decoding process.
- the information processing apparatus 100 may function as an apparatus (optimization processing apparatus) having a combinatorial optimization unit 54 or a terminal 51.
- the information processing device 100 may be a device that functions as a terminal 51, a device having a combination optimization unit 54 (optimization processing device), and an Ising decoder 55.
- the information processing apparatus 100 uses the communication unit 110, which is a communication circuit (second processing circuit) that communicates with a quantum computer or the like connected to the outside, to use a quantum-conceived computer 56, a quantum annealing 57, or a quantum annealer 57. Communicates with the gated quantum computer 58.
- the information processing apparatus 100 communicates with, for example, a quantum-conceived computer 56, a quantum annealing 57, or a gate-type quantum computer 58, which are computers on the cloud, by the communication unit 110. do.
- the information processing apparatus 100 passes through the communication unit 110, which is a communication circuit (second processing circuit), to an external device such as a quantum computer on the external network (for example, the quantum-conceived computer 56, the quantum annealing). 57, or a gated quantum computer 58, etc.) may be instructed to handle the combination optimization problem.
- a communication circuit second processing circuit
- an external device such as a quantum computer on the external network (for example, the quantum-conceived computer 56, the quantum annealing).
- 57, or a gated quantum computer 58, etc.) may be instructed to handle the combination optimization problem.
- the information processing apparatus 100 has a first processor for calculating the objective function (ising format) of the combinatorial optimization problem and a second processor for outputting the solution of the combinatorial optimization problem.
- the storage unit 120 of the information processing apparatus 100 stores, for example, the processing process of one or more combinatorial optimization problems.
- the storage unit 120 may be configured by a storage circuit. Similar to the combinatorial optimization database 52, for example, the storage unit 120 stores typical data conversion processes of various combinatorial optimizations as a library.
- the combinatorial optimization database 52 is a function (or class) that outputs the coefficients of the Ising model by inputting the data and the database used in each application including the combinatorial optimization. Is saved.
- the first processing unit 131 of the information processing apparatus 100 is the first processor, and calculates the objective function (ising format (objective function)) of the combinatorial optimization problem.
- the first processing unit 131 may be the first processing circuit for calculating the objective function (Ising model (objective function)) of the combinatorial optimization problem.
- the first processing unit 131 performs processing corresponding to the processing of the combination optimization unit 54.
- the first processing unit 131 refers to the stored library of the storage unit 120, and calculates an objective function (ising format (objective function)) corresponding to the designated combinatorial optimization problem. This objective function is expressed as the energy function of the Ising model.
- the first processing unit 131 at least one of the two processors is a second processor based on the input first information and the data and the database determined according to the type of the combination optimization problem. Extract information. For example, the first processing unit 131 obtains a coefficient matrix of an objective function of the Ising format derived by referring to a library according to the type of the combinatorial optimization problem from the first information indicating the user's selection of the combinatorial optimization problem. , Extract as second information. The first processing unit 131 stores information on the data conversion process corresponding to the combination optimization problem selected by the user among the information on the data conversion process for each type of the combination optimization problem stored in the storage unit 120. Extract from 120.
- the first processing unit 131 derives the coefficient matrix of the objective function of the Ising format by converting the combination optimization problem selected by the user by using the information of the data conversion process extracted from the storage unit 120. Therefore, the coefficient matrix of the objective function of the Ising format corresponding to the combination optimization problem selected by the user is extracted as the second information.
- the above is only an example, and the first processing unit 131 according to the modified example may calculate the objective function (Ising model (objective function)) of the combinatorial optimization problem by various methods.
- the second processing unit 132 of the information processing apparatus 100 is the second processor and outputs the solution of the combinatorial optimization problem.
- the second processing unit 132 may be a second processing circuit that outputs a solution to the combinatorial optimization problem.
- the second processing unit 132 executes the Ising decoder processing described above and outputs a solution to the combinatorial optimization problem.
- the second processing unit 132 calculates the objective function in the QUABO format from the second information, which is the coefficient matrix of the Ising model, based on the calculation determined according to the combinatorial optimization problem. That is, this objective function is expressed as an energy function of the Ising model. It is expressed as an objective function in QUAB format.
- the display unit 150 of the information processing apparatus 100 generates information required by the system based on the result output from the second processing unit 132, and displays at least a part thereof.
- the display unit 150 may be configured by a display circuit.
- the display unit 150 may be configured to include a circuit (display circuit) for displaying information.
- belief propagation decoding is the central part of the calculation. The reason for this is that belief propagation decoding is known to have very good performance. However, belief propagation decoding is also a relatively heavy process, and there are times when you want to reduce the weight of the calculation when the variable size is increased.
- bit flip is used to reduce the weight.
- this method for example, the difference in energy between the case where the bit is inverted and the case where the bit is not inverted is used, and whether or not the bit is inverted is determined with a probability according to the difference.
- this method Since this method has a stochastic process, it is inferior in reproducibility to the method realized by a deterministic process using belief propagation decoding. However, since it is not necessary to hold a large amount of memory, it is excellent in terms of weight reduction.
- bit flips have poorer performance than belief propagation decoding and is not often used in practice.
- various methods such as gradient-based bit flip (GDBF) using a neural network, noise-added gradient base bit flip (NGDBF), and stochastic gradient base bit flip have been devised to improve performance. There is. Therefore, it is conceivable that a bit flip that is lighter than the belief propagation and has the same performance as the belief propagation can be realized.
- GDBF gradient-based bit flip
- NDBF noise-added gradient base bit flip
- stochastic gradient base bit flip stochastic gradient base bit flip
- the present invention includes a modified version using such a bit flip instead of belief propagation decoding.
- the bit flip is disclosed in the following documents, for example.
- the processor referred to in the present disclosure is a concept including the following.
- An Ising decoder, a QUABO decoder, or a communication processor is also one of a plurality of processors constituting the system.
- Each of these plurality of processors may be a so-called system-on-chip (SOC) or multi-core processor, and some of the plurality of core processors are digital signal processors (DSPs) suitable for image processing and acoustic processing.
- DSPs digital signal processors
- It may be a so-called neural network accelerator suitable for calculation such as a neural network, or a neuromorphic accelerator, and a part of them may be a dedicated processing circuit such as the Zing decoder or QUAO decoder of the present invention. It may be an accelerator provided with.
- a distinctive feature of the Ising decoder compared to quantum annealing is that a solution (combination of spins) can be deterministically obtained because it does not use a stochastic process. In other words, even if the Ising decoder is multi-processed and the same problem is input to them, the solution is the same.
- the Ising decoder has some unknown parameters (described later) that contribute to performance. And it is known from a simple experiment that this parameter has a strong influence on the final solution.
- the best solution is, honestly, the solution that minimizes the energy function of the Ising model. It can also be evaluated from a code point of view. For example, a solution may be selected in which the number of 1s in the checked parity is small, that is, the number of solutions in which the parity constraint is not satisfied is small. By doing so, it is possible to avoid deterioration of performance when the parameter setting is not appropriate.
- the first example of these parameters uses the deviation value of the pseudo signal at the time of logarithmic odds production.
- This parameter is used as a standard deviation parameter for the pseudo signal when the pseudo signal generated from the QUBO coefficient is input at the time of belief propagation decoding, and is given as ( ⁇ of several 25).
- there are two types of pseudo signals and the values of the statistical variances do not match. Therefore, various options such as which one to match and which one to take the average can be considered. Therefore, a method of searching for the best can be considered by parallelizing as many parameters as possible.
- the second example of the parameter is the degree of freedom of scaling when generating a pseudo signal sequence from the QUBO coefficient. This is considered to be a scale parameter in the objective function of Equation 2 (the scale parameter is not described in Equation 2, but ⁇ when multiplying the entire right side by ⁇ is the scale parameter).
- the same thing may be done with a plurality of processors in which the first and second parameters are changed at the same time.
- each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. That is, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or part of them may be functionally or physically distributed / physically in any unit according to various loads and usage conditions. Can be integrated and configured.
- the information processing apparatus 100 converts the search for the base state of the combination of spin variables of the Ising model into a binary quadratic format optimization problem (QUABO), and further converts this optimization problem into a binary code decoding problem. Is converted to, an algorithm that solves this decoding problem is used to acquire a decoding bit string, and the acquired decoding bit string is converted to obtain a combination of spin variables.
- QUABO binary quadratic format optimization problem
- the parity inspection matrix is a pseudo parity inspection matrix composed of the structure of the QUAF coefficient matrix, and the signal sequence is a pseudo signal sequence calculated from the QUABO coefficient matrix.
- the algorithm for solving the decoding problem is, for example, a decoding algorithm based on the belief propagation method (belief propagation method) used for decoding a low density parity check code (LDPC).
- the quadratic form is characterized in that the coefficient matrix is transformed into a symmetric matrix.
- the pseudo-parity check matrix is characterized in that it is generated from the structure of the upper triangular or lower triangular matrix of the coefficient matrix.
- the pseudo-parity check matrix is characterized in that it is generated from the elements corresponding to the non-zero components of the coefficient matrix.
- the pseudo signal string is composed of a part corresponding to the original bit string and a part corresponding to a combination of 2 bits, and is a separate method in the repeating unit of the decoding algorithm. It is characterized by being processed in order with. It was
- the search problem of the ground state of the spin variables of the Ising model realized by quantum annealing etc. can be replaced with the processing using the existing decoding algorithm used for decoding the low-density parity inspection matrix. Can be done.
- the decoding algorithm of the belief propagation method used as an existing decoding algorithm can approach the maximum likelihood decoding which is theoretically the best when the code length is long. That is, it is possible to realize the ground state of the Ising model corresponding to the global minimum of optimization.
- the decoding algorithm by the belief propagation method can be realized by high-speed and lightweight processing using an existing computer. Therefore, the ground state of the Ising model can be searched without using the large-scale system required for quantum annealing.
- an application including combinatorial optimization can be operated on a small terminal (for example, a mobile terminal such as a personal computer or a smartphone).
- a small terminal for example, a mobile terminal such as a personal computer or a smartphone.
- a communication path coding / decoding application, a compressed sensing application, or the like can be used to implement a high-precision algorithm on a small terminal.
- it may be used for a route search application, an information retrieval application, a scheduling application, a memory or wiring layout application, etc., which are typical examples including a combinatorial optimization problem.
- an integrated development environment for these applications and an application that supports a graphic user interface are also conceivable.
- the information processing apparatus extracts the second information necessary for the process formulated as the combination optimization problem from the first information input to the system, and extracts the second information. It contains at least two processors that input two pieces of information to calculate the objective function of a combination optimization problem, input the objective function, and output the solution of the combination optimization problem.
- One of at least two processors is a processor that outputs the solution of the combinatorial optimization problem. This allows the information processing apparatus to search for the spin ground state of the Ising model without using quantum annealing.
- the first information is a signal sequence, an observation data and a code matrix, an observation dictionary matrix, and the like.
- the second information is the coefficient of the energy function of the Ising model, the loss function of QUABO, and the like.
- the above two processors are, for example, a processor as a problem generating unit that generates a coefficient from data and a processor as a problem solving unit that calculates a solution from the coefficient.
- the computer such as the information processing apparatus 100 and the terminal 51 according to each of the above-described embodiments and modifications is realized by, for example, the computer 1000 having the configuration shown in FIG. FIG. 18 is a hardware configuration diagram showing an example of a computer that realizes a function such as an information processing device.
- the computer 1000 includes a processor 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600. Each part of the computer 1000 is connected by a bus 1050.
- the processor 1100 operates based on the program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the processor 1100 expands the program stored in the ROM 1300 or the HDD 1400 into the RAM 1200, and executes processing corresponding to various programs.
- the processor 1100 may be any processor such as a CPU and a GPU.
- the computer 1000 may have a plurality of processors 1100.
- the computer 1000 extracts the second information necessary for the process formulated as the combination optimization problem from the first information input to the system, and inputs the extracted second information. It has a first processor (eg, at least one of a plurality of processors 1100) that calculates the objective function of the combination optimization problem.
- the computer 1000 extracts the second information necessary for the process formulated as the combination optimization problem from the first information input to the system, and inputs the extracted second information. It has a second processor (eg, at least one of a plurality of processors 1100) that inputs an objective function and outputs a solution to a combination optimization problem.
- the computer 1000 has a plurality of processors 1100 including at least a first processor and a second processor.
- the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the processor 1100 when the computer 1000 is started, a program depending on the hardware of the computer 1000, and the like.
- BIOS Basic Input Output System
- the HDD 1400 is a computer-readable recording medium for non-temporarily recording a program executed by the processor 1100 and data used by such a program.
- the HDD 1400 is a recording medium for recording an information processing program such as an information processing program according to the present disclosure, which is an example of program data 1450.
- the communication interface 1500 is an interface for the computer 1000 to connect to an external network 1550 (for example, the Internet).
- the processor 1100 receives data from another device or transmits data generated by the processor 1100 to another device via the communication interface 1500.
- the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
- the processor 1100 receives data from an input device such as a keyboard or mouse via the input / output interface 1600. Further, the processor 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. Further, the input / output interface 1600 may function as a media interface for reading a program or the like recorded on a predetermined recording medium (media).
- the media is, for example, an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk), a magneto-optical recording medium such as MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.
- an optical recording medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
- a magneto-optical recording medium such as MO (Magneto-Optical disk)
- tape medium such as DVD (Digital Versatile Disc) or PD (Phase change rewritable Disk)
- MO Magneto-optical disk
- the processor 1100 of the computer 1000 realizes the functions of the control unit 130 and the like by executing an information processing program such as an information processing program loaded on the RAM 1200. .. Further, the HDD 1400 stores an information processing program such as an information processing program according to the present disclosure and data in the storage unit 120.
- the processor 1100 reads the program data 1450 from the HDD 1400 and executes the program, but as another example, these programs may be acquired from another device via the external network 1550.
- the present technology can also have the following configurations.
- (1) From the first information input to the system, the second information required for the process formulated as a combinatorial optimization problem is extracted. By inputting the extracted second information, the objective function of the combinatorial optimization problem is calculated.
- At least two processors that input the objective function and output the solution of the combinatorial optimization problem.
- Including One of the at least two processors is a processor that outputs a solution to the combinatorial optimization problem.
- Information processing equipment is a processor that outputs a solution to the combinatorial optimization problem.
- One of the at least two processors extracts a second piece of information from the input first piece of information based on the data corresponding to the type of combinatorial optimization problem.
- the information processing device according to (1).
- the processor that outputs the solution of the combinatorial optimization problem calculates the objective function of the combinatorial optimization problem from the input second information based on the calculation determined according to the combinatorial optimization problem.
- the information processing device according to (1).
- the processor that outputs the solution of the combinatorial optimization problem is A conversion process for converting the input objective function into an input signal string for a decoding problem having a code equivalent to the combinatorial optimization problem.
- a decoding process that processes a decoding problem based on the input signal sequence and acquires a code string, and Output processing that converts the code string into the solution of the combinatorial optimization problem and outputs it.
- the information processing apparatus which executes a process including.
- the decoding problem of the code is a parity-constrained maximum likelihood decoding problem using a parity check matrix.
- the conversion process includes a process of constructing the parity check matrix from the coefficients of the objective function, or a process of reading the already configured parity check matrix.
- the decoding process is composed of a decoding algorithm based on the belief propagation method.
- the decoding process decodes the code string from the input signal sequence and the parity check matrix based on the decoding process by the belief propagation method.
- the decoding process by the belief propagation method is a decoding process for a low density parity check code.
- the objective function of the combinatorial optimization problem is expressed as an energy function of the Ising model.
- the information processing apparatus according to any one of (1) to (7).
- the objective function of the combinatorial optimization problem is expressed as an objective function of the QUADOTIC Unconstrained Binary Optimization (QUADRO) format.
- the information processing apparatus according to any one of (1) to (8).
- One of the at least two processors performs a process of converting the coefficients of the energy function of the Ising model into the coefficients of the objective function in QUAB format.
- the information processing apparatus according to (9).
- a storage circuit that stores the processing process of one or more combinatorial optimization problems, A first processing circuit that selects one processing process from the processing processes of one or more combinatorial optimization problems, From the information input to the system, the data input to the processing process is extracted, and the information required by the system is obtained based on the second processing circuit that outputs the result of the combination optimization problem and the output result.
- An information processing device that includes a display circuit that is generated and displays at least part of it.
- the second processing circuit processes a predetermined decoding problem converted from the received combinatorial optimization problem by a predetermined method.
- the information processing apparatus according to (11).
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Algebra (AREA)
- Computational Linguistics (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
1.第1の実施例(数理的説明)
1-1.イジングモデル
1-2.イジングモデルのQUBOへの変換
1-3.QUBOの復号アルゴリズムでの解法
1-3-1.QUBOの復号問題への変換
1-3-2.復号アルゴリズム
1-3-2-1.変数ノード処理
1-3-2-2.チェックノード処理
1-3-2-3.復号ビットの出力
1-3-3.疑似復号処理の軽量化
1-3-3-1.QUBOの対称性を利用したサイズ削減
1-3-3-2.BP復号処理の変形
2.第2の実施例
2-1.イジングデコーダ
2-1-1.イジングモデル-QUBO変換
2-1-2.QUBO-復号問題変換
2-1-2-1.疑似信号生成
2-1-2-2.疑似パリティ検査行列生成
2-1-2-3.BP復号
2-1-2-4.第1の例のBP復号
2-1-2-5.第2の例のBP復号
2-1-2-6.スピン変数決定
3.第3の実施例
3-1.メイン関数
3-2.イジングモデル-QUBO変換
3-3.QUBO-復号問題変換
3-4.第1の例のBP復号
3-5.第2の例のBP復号
4.第4の実施例
4-1.情報処理システム例
4-2.アプリケーションCPU
4-3.組合せ最適化メモリ
4-4.組合せ最適化処理CPU
4-5.イジングデコーダ
4-6.復号処理メモリ
5.第5の実施例
6.第6の実施例
7.第7の実施例
7-1.計算機例
7-2.ユーザインタフェース
8.情報処理装置の構成例
9.その他の構成例等
9-1-1.変形例
9-1-2.ビットフリップ
9-2-1.プロセッサ
9-2-2.マルチプロセッサの具体例
9-3.その他
10.本開示に係る効果
11.ハードウェア構成
まず、本開示の情報処理装置等の装置の構成や処理を説明する前に、本開示に係る数理的な説明を行う第1の実施例として説明する。なお、以下の技術的な説明の中で従来技術に関しては適宜説明を省略する。
まず、量子アニーリングをハードウェアとして実現する量子アニーラは、組合せ最適化問題をイジングモデルの基底状態の探索問題として解く計算機である。なお、量子アニーラの装置構成の例等については図12等において詳述する。
ここから、イジングモデルのQUBOへの変換について説明する。QUBOとは、制約なし二値二次形式最適化(Quadratic Unconstrained Binary Optimization)の略称である。例えば、本開示の趣旨は、元の組合せ最適化問題に対応するイジングモデルの基底探索問題をバイナリ符号の復号アルゴリズムで解くことである。
ここまで、量子アニーリングの行うイジングモデルの基底探索は、QUBOと等価であることを説明した。ここから、QUBOをバイナリ符号の復号アルゴリズムで解く点について説明する。例えば、本開示の目的は、イジングモデルの基底探索をバイナリ符号の復号アルゴリズムで実現することである。これは、QUBOをバイナリ符号の復号アルゴリズムを実現することと言いかえることができる。
まず、QUBOをバイナリ符号の復号問題に変換する点について説明する。QUBOをバイナリ符号の復号問題、具体的には、最尤復号の問題に変換する。バイナリ符号の復号問題とは、パリティ検査行列と信号列が与えられた条件で、信号列に基づく尤度を最小化するビット列を探索する問題である。
ここから、ビリーフプロパゲーション(BP)法による復号アルゴリズム(「BP復号アルゴリズム」ともいう)を一例として説明する。一般に最尤復号(例えばブロック符号の最尤復号)は、特に符号長が長くなると組合せ爆発を起こして、実用時間での実現が困難な復号方法として知られている。一方、BP復号は、符号長が長くなる(例えば1000ビット以上等)につれて、実用的な時間での復号を行いながら、最尤復号の性能に近づくことが知られている。つまり、比較的変数が多い場合には、最尤復号をBP復号で置き換えることは、実用時間で最尤復号と同等の性能が得られることになる。
・手順#1-2. メッセージα,βを初期化
・手順#1-3. 変数ノード処理を実行:(H,r,σ,β)→α
・手順#1-4. チェックノード処理を実行:(H,α)→β
・手順#1-5. 手順#1-3~手順#1-4を収束するか、指定回数になるまで繰り返す
・手順#1-6. ビット列mを出力:(H,r,σ,α)→m
ここから、上記手順#1-1~手順#1-6に関する各処理について説明する。まず、変数ノード処理について説明する。変数ノード処理は、信号から得られた情報をメッセージに埋め込む役割を担っている。対数領域サムプロダクト法では、まず、受信信号rは対数オッズλに変換されて扱われる。オッズとは、受信信号が符号0のノイズが加わったのか、符号1にノイズが加わったのかに関する確率(事後確率)の比である。このとき、対数オッズは、ノイズが標準偏差σのガウスノイズであると仮定することで、以下の式(25)のように計算される。
次に、チェックノード処理について説明する。チェックノード処理は、パリティ制約の条件をメッセージに埋め込む役割を担っている。チェックノード処理は、以下の式(28)及び式(29)に基づいて、メッセージβの更新を行う。
次に、復号ビットの出力について説明する。復号ビットの出力は、上述した処理を適切な回数だけ繰り返した後行われる。上述した処理を適切な回数だけ繰り返し、行えば、信号とパリティ制約の両方を考慮した対数オッズγjが計算される。
これまで説明した方法では、バイナリ変数の数が増えると、疑似信号列のサイズは、その2乗に比例して、また、疑似パリティ検査行列のサイズは、その4乗に比例して増大する。
・工夫#1. QUBOの対称性を利用したサイズ削減
・工夫#2. 疑似パリティ検査行列の固有の構造を利用したBP復号処理の変形
まず、QUBOの対称性を利用したサイズ削減について説明する。QUBOの目的関数を再度見てみると、バイナリ変数の積の順番を入れ替えても不変である。そのため、係数行列にその転置行列を利用しても解は変わらない。さらに、以下の式(30)のように変形しても解は変わらない。
次に、疑似パリティ検査行列の固有の構造を利用したBP復号処理の変形について説明する。上述したように疑似パリティ検査行列は、第一のビット列に対応する第一のバイナリ行列と第二のビット列に対応する第二のバイナリ行列を行方向に接続した行列である。また、第二のバイナリ行列が行列サイズの支配的な部分であるが、ここは単位行列である。
・手順#2-2. 変数ノード処理を実行:(H,r,σ,α(1),α(2))→β(1),β(2)
・手順#2-3. チェックノード処理を実行:(H,β(1),β(2))→α(1),α(2)
・手順#2-4. 手順#2-2~手順#2-3を指定条件まで繰り返し、ビット列mを出力:(H,r,σ,α)→m
次に、本開示に関する処理、及びその処理を行うモジュール構成の一例を第2の実施例として説明する。
本開示に関する処理を行う装置の一例としてイジングデコーダについて説明する。イジングデコーダは、イジングモデルの係数行列を入力として、基底状態のスピン変数の解を出力する計算機である。例えば、イジングデコーダは、後述する情報処理装置100であってもよい。以下では、イジングモデルの係数行列を入力して、基底状態のスピン変数の解を出力する処理をイジングデコード処理と称する場合がある。
イジングモデル-QUBO変換により、イジングモデルの係数行列J,hが入力され、QUBOの係数行列Qが出力される。第ij成分を式で書くと、以下の式(42)のよう表現される。
QUBO-復号問題変換により、QUBOの係数行列が入力され、疑似信号列rとパリティ検査行列Hが出力される。QUBO-復号問題変換は、疑似信号生成と疑似パリティ検査行列生成の処理が含まれる。この場合、例えば、QUBO-復号問題変換部は、疑似信号生成部と疑似パリティ検査行列生成部とにより構成される。
疑似信号生成により、QUBO係数行列が入力され、疑似信号列が出力される。疑似信号生成は、第一信号列生成、第二信号列生成、及び信号系列接続の処理が含まれる。この場合、例えば、疑似信号生成部は、第一信号列生成部、第二信号列生成部、及び信号系列接続により構成される。まず、図2により疑似信号生成の概要を説明した後、各処理の詳細を説明する。図2は、疑似信号生成の処理手順の一例を示すフローチャートである。以下では、図2に示す各種処理をイジングデコーダの疑似信号生成部が行う場合を一例として説明する。
第一信号列生成により、QUBO係数行列Qが入力され、第一信号列r1が出力される。ここで、第一信号列r1は、長さNのベクトルである。第一信号列の第i成分を式で書くと以下の式(44)のよう表現される。
第二信号列生成により、QUBO係数行列Qを入力して第二信号列r2を出力するブロックである。ここで、第二信号列は、長さM=N2のベクトルである。第二信号列の第(i,j)成分を式で書くと以下の式(45)のよう表現される。
信号系列接続により、第一信号系列r1と第二信号系列r2とが接続され、擬似信号列rとが生成される。このように、第一信号系列r1と第二信号系列r2と接続して擬似信号列rとする。
疑似パリティ検査行列生成により、QUBO係数行列が入力され、疑似パリティ検査行列が出力される。疑似パリティ検査行列は、配列メモリを確保して、値を代入していくことで構成される。以下、図3を用いて疑似パリティ検査行列生成の概要を説明する。図3は、疑似パリティ検査行列生成の処理手順の一例を示すフローチャートである。以下では、図3に示す各種処理をイジングデコーダの疑似パリティ検査行列生成部が行う場合を一例として説明する。
・手順#3-2. Qの非対角非ゼロ成分の個数2Mを計算
・手順#3-3. 行列HcをMxNゼロ行列で初期化
・手順#3-4. ループ変数kをゼロ初期化して、以下のループ#3-4を実行
(ループ#3-4)
for i = 1 to N
for j = 1 to i - 1
if Q[i][j] != 0:
Hc[k][i] = 1
Hc[k][j] = 1
k = k + 1
・手順#3-5. 疑似パリティ検査行列H=[Hc, I(M)]を出力
BP復号により、疑似信号列rと疑似パリティ検査行列Hとが入力され、疑似復号ビット列zが出力される。ここで、復号には信念伝搬法(BP)によるアルゴリズムが用いられる。なお、ここでは復号との文言を用いているが、復号と称する処理に対応する符号化の処理が無くてもよい。以下、BP復号の2つの例について、図面を参照しつつ各々説明する。
まず、第1の例について説明する。第1の例では、BP復号は、対数オッズ計算、変数ノード処理、チェックノード処理、ビット列抽出の処理を実行する。例えば、BP復号部は、対数オッズ計算を行う対数オッズ計算部と、変数ノード処理を行う変数ノード処理部と、チェックノード処理を行うチェックノード処理部と、ビット列抽出を行うビット列抽出部とを備える。なお、上記ブロック構成は一例に過ぎず、BP復号のブロック構成は任意の構成であってもよい。
・手順#4-2. 受信信号rから対数オッズo計算
・手順#4-3. フォワード・バックワードビリーフa、bを初期化
・手順#4-4. 変数ノード処理:(H, o, b) ->a
・手順#4-5. チェックノード処理:(H, a)->b
・手順#4-6. 指定条件繰り返し、ビット列z出力:(o, a)->z
次に、第2の例について説明する。例えば、第2の例は、疑似パリティ検査行列の構造の特徴を生かしたBP復号である。
・手順#5-2. 受信信号r1,r2から対数オッズo1,o2を計算
・手順#5-3. フォワード・バックワードビリーフa1,a2,b1,b2を初期化
・手順#5-4. 変数ノード処理#1:(H, o1, b1) ->a1
・手順#5-5. 変数ノード処理#2:b1 ->a1
・手順#5-6. チェックノード処理x:(a1, a2)->(b1, b2)
・手順#5-7. 指定条件繰り返し、ビット列z出力:(o1, a1)->z1 (=z)
スピン変数決定により、復号ビット系列が入力され、スピン変数配列が出力される。イジングデコーダのスピン変数決定部は、スピン変数決定を行う。例えば、スピン変数決定部は、復号ビット系列zを入力して、スピン変数配列s=1-2zを出力する。
次に、本開示に関する処理を実行するプログラム(関数)の一例を第3の実施例として説明する。なお、以下に示すプログラムは、例えば、第2の実施例において示した処理のうち同じ名称の処理を実行するためのプログラムである。例えば、以下に示すプログラムは、上述したイジングデコード処理を実行するためのプログラムである。例えば、以下に示すプログラムは、上述したイジングデコーダ(例えば情報処理装置100等)により実行される。
まず、メイン関数を以下に示す。以下に示すメイン関数は、イジングモデルの係数行列を入力して、基底スピン配位を出力する関数(プログラム)例である。
Q = ising_to_qubo(J, h)
r, H = qubo_to_decodeing(Q)
z = bp(H, r)
s = 1 - 2 * z[1:N]
return s
次に、イジングモデル-QUBO変換を実行する関数(「イジングモデル-QUBO変換関数」ともいう)を以下に示す。以下に示すイジングモデル-QUBO変換関数は、イジングモデルの係数行列を入力して、QUBOの係数行列を出力する関数(プログラム)例である。
Q = -4J + diag(2h + 4sum(J, axis=1))
Q = (Q + Q.transpose()) / 2
return Q
次に、QUBO-復号問題変換を実行する関数(「QUBO-復号問題変換関数」ともいう)を以下に示す。以下に示すQUBO-復号問題変換関数は、QUBOの係数行列を入力して、復号問題における信号列、符号列、パリティ検査行列を出力する関数(プログラム)例である。
r1 = 1/2 - 2* sum(Q, axis=1)
r2 = 1/2 * (1 + Q)
r = concatenate(r1, r2)
H1 = create_binary_matrix(Q)
H2 = I(M)
H = concatenate(H1, H2)
return r, H
次に、第1の例のBP復号を実行する関数(「第1の例のBP復号関数」ともいう)を以下に示す。以下に示す第1の例のBP復号関数は、疑似パリティ検査行列(下記第1の例のBP復号関数中のH)と疑似信号列(下記第1の例のBP復号関数中のr)を入力して、普通のBP復号で復号された符号列を出力する関数(プログラム)例である。
lodds = calc_log_odds(r)
alpha = 0s
for i = 1 to max_iteration
beta = update_check_node(H, lodds, alpha)
alpha = update_variable_node(H, beta)
z = get_solution(alpha)
return z
次に、第2の例のBP復号を実行する関数(「第2の例のBP復号関数」ともいう)を以下に示す。以下に示す第2の例のBP復号関数は、疑似パリティ検査行列のコア部分(下記第2の例のBP復号関数中のHc)と疑似信号列(下記第2の例のBP復号関数中のr1,r2)を入力して、拡張したBP復号で復号された符号列を出力する関数(プログラム)例である。
lodds1 = calc_log_odds(r1)
lodds2 = calc_log_odds(r2)
alpha = 0s
for i = 1 to max_iteration
beta = update_check_node(Hc, lodds1, alpha)
alpha = update_variable_node_v2(Hc, lodds2, beta)
z = get_solution(alpha)
return z
第4の実施例として、システムの全体像を説明する。以下では、本開示の処理を利用するアプリケーションのシステム全体像について説明する。
まず、図6を用いて情報処理システム1の構成について説明する。図6は、情報処理システムの構成の一例を示す図である。図6に示すように、情報処理システム1は、データベース2と、アプリケーションCPU(Central Processing Unit)3と、組合せ最適化メモリ4と、組合せ最適化処理CPU5(組合せ最適化処理部ともいう)と、イジングモデルメモリ6と、イジングデコーダ7と、復号処理メモリ8とを構成要素として含む。以下では、組合せ最適化メモリ4、組合せ最適化処理CPU5、及びイジングモデルメモリ6を合わせて組合せ最適化変換部10と称する場合がある。
アプリケーションCPU3は、アプリケーション全体を制御するCPU(処理装置)である。なお、アプリケーションCPU3は、CPUに限らず、例えばGPU(Graphics Processing Unit)等の他の処理装置(プロセッサ)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
組合せ最適化メモリ4は、元の組合せ最適化で扱う情報(「組合せ最適化用情報」ともいう)を記憶するメモリである。組合せ最適化メモリ4は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
組合せ最適化処理CPU5は、組合せ最適化処理部として機能し、組合せ最適化メモリ4に記録された情報を元に、イジングモデルの係数情報を算出して、イジングモデルメモリ6に書き込む。なお、組合せ最適化処理CPU5は、CPUに限らず、例えばGPU等の他の処理装置(プロセッサ)、ASICやFPGA等の集積回路により実現されてもよい。
イジングデコーダ7は、上述のようなイジングデコード処理の処理を行う。イジングデコーダ7は、例えばCPU、GPU、FPGAにより実現される。イジングデコーダ7は、上記に限らず、例えばCPU、GPU以外の処理装置(プロセッサ)、FPGA等により実現されてもよい。
復号処理メモリ8は、イジングデコーダ7で必要となる、QUBO係数行列や疑似パリティ検査行列、疑似信号列が格納される(書き込まれる)。また、復号処理メモリ8は、BP復号処理で必要となる中間変数が格納される(書き込まれる)。復号処理メモリ8は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
次に、本開示に関する処理を通信路の符号化・復号システム1Aに用いる例を第5の実施例として説明する。まず、図7を用いて通信路の符号化・復号システム1Aの概要を説明する。図7は、本開示の情報処理を適用した第5の実施例を示す図である。例えば、通信路の符号化・復号システム1Aは、情報処理システム1が適用されるシステムの一例である。
次に、本開示に関する処理をセンシングシステムに用いる例を第6の実施例として説明する。まず、図9を用いてセンシングシステムの概要を説明する。図9は、本開示の情報処理を適用した第6の実施例を示す図である。例えば、センシングシステム1Bは、情報処理システム1が適用されるシステムの一例である。
次に、本開示に関する処理を、組合せ最適化を内包するアプリケーションの開発システム(単に「開発システム」ともいう)に利用する例を第7の実施例として説明する。まず、図11を用いて開発システムの概要を説明する。図11は、本開示の情報処理を適用した第7の実施例を示す図である。例えば、開発システム1Cは、情報処理システム1が適用されるシステムの一例である。
ここから、計算を実行する各種計算機について説明する。
イジングデコーダ55は、イジングモデルの係数行列を入力として、基底状態のスピン変数の解を出力する計算機である。イジングデコーダ55は、図6のイジングデコーダ7と同様に、上述のようなイジングデコード処理の処理を行う。イジングデコーダ55は、例えばCPU、GPU、FPGAにより実現される。例えば、イジングデコーダ55は、後述する情報処理装置100であってもよい。
量子着想型計算機56は、デジタル回路を用いた計算機である。例えば、量子着想型計算機56は、組合せ最適化をイジングモデルに埋め込むという考え方は流用しつつ、エネルギー最小化を熱揺らぎによって行うシミュレーテッドアニーリングをトランジスタ回路などの非量子デバイスを使って高速化した専用ハードウェアである。量子着想型計算機56は、例えばCMOS(Complementary metal-oxide-semiconductor)やデジタル回路等を用いるコンピュータ(計算機)である。例えば、量子着想型計算機56は、GPU等のプロセッサやFPGA等の集積回路を用いたコンピュータ(計算機)であってもよい。
量子アニーラ57は、量子アニーリング方式を用いた計算機である。量子アニーラ57は、イジングスピンに量子ビットを用いる量子アニーリングマシン(量子コンピュータ)である。
ゲート型量子計算機58は、量子ゲート方式を用いた計算機である。既知の技術であるため詳細な説明は省略するが、ゲート型量子計算機58は、量子ゲートにより演算処理(計算処理)を行う量子コンピュータである。量子アニーリング方式が組合せ最適化に特化した側面が強い一方で、量子ゲート方式は汎用的計算を扱うことができ、また、特定の計算について量子ゲート方式を基盤とするアルゴリズムがすでに提案されている。たとえば、QAOA(Quantum Approximate Optimization Algorithm)と呼ばれる手法は、量子アニーリングと同様に最適化を扱う手法である。
ここから、図13~図16を用いて、開発システム1Cを利用するユーザに対するユーザインタフェース(以下「UI」と記載する場合がある)について記載する。図13~図16は、ユーザインタフェースの一例を示す図である。
・Ising formulations of many NP problems, Andrew Lucas < https://arxiv.org/abs/1302.5843 >
上述したイジングデコード等の各種処理を行う装置の一例として、情報処理装置100を図17に示す。例えばイジングデコーダ7、55等のイジングデコーダや組合せ最適化アクセラレータ50は、情報処理装置100により実現されてもよい。情報処理装置100は、イジングデコード処理を行う装置(コンピュータ)である。以下、情報処理装置100の構成について説明する。図17は、本開示の情報処理装置の構成例を示す図である。
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態(変形例)にて実施されてよい。
上述した例では、情報処理装置100がイジングデコード処理を行う装置として説明したが、情報処理装置100はイジングデコード処理以外の処理を行ってもよい。例えば、以下に示す変形例に係る情報処理装置100は、イジングデコード処理を行う前の処理、またはイジングデコード処理を行う後の処理を行う装置であってもよい。例えば、情報処理装置100は、組合せ最適化部54を有する装置(最適化処理装置)や端末51として機能してもよい。例えば、情報処理装置100は、端末51、組合せ最適化部54を有する装置(最適化処理装置)、及びイジングデコーダ55として機能する装置であってもよい。
本発明では、ビリーフプロパゲーション復号が計算の中心部となっている。この理由は、ビリーフプロパゲーション復号が、性能が非常に良いことが知られているからである。しかし、ビリーフプロパゲーション復号は、比較的重い処理でもあり、変数サイズを大きくした場合に計算を軽量化したいこともある。
このため、ビリーフプロパゲーションに比べて軽量でかつ、性能も遜色ないビットフリップが実現されることも考えられる。
・Noisy Gradient Descent Bit-Flip Decoding for LDPC Codes, Gopalakrishnan Sundararajan et al. <https://arxiv.org/abs/1402.2773>
なお、本開示でいうプロセッサは、以下のようなものも含む概念である。イジングデコーダやQUBOデコーダ、又は通信プロセッサも、システムを構成する複数のプロセッサの一つである。これら複数のプロセッサの各々は、いわゆるシステムオンチップ(SOC)、またはマルチコアプロセッサというものであって良く、複数のコアプロセッサの一部は、イメージ処理や音響処理に適したデジタル信号プロセッサ(DSP)、ニューラルネットワークのような計算に適したいわゆるニューラルネットワークアクセラレータや、ニューロモーフィック(Neuromorphic)アクセラレータであってもよく、また、その一部が、本願発明のイジングデコーダやQUBOデコーダと呼ばれるような専用処理回路を備えたアクセラレータであってもよい。
量子アニーリングと比べたイジングデコーダの顕著な特徴として、確率過程を用いないため決定論的に解(スピンの組合せ)が求まることが挙げられる。つまり、イジングデコーダはマルチプロセス化して、これらに同じ問題を入力しても解は同じである。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
上述のように、情報処理装置100は、イジングモデルのスピン変数の組合せの基底状態の探索をバイナリ二次形式最適化問題(QUBO)に変換し、さらに、この最適化問題をバイナリ符号の復号問題に変換し、この復号問題を解決するアルゴリズムを用いて復号ビット列を獲得し、獲得した復号ビット列を変換してスピン変数の組合せを得るように構成する。
上述してきた各実施形態や変形例に係る情報処理装置100、端末51等のコンピュータは、例えば図18に示すような構成のコンピュータ1000によって実現される。図18は、情報処理装置等の機能を実現するコンピュータの一例を示すハードウェア構成図である。以下、情報処理装置100を例に挙げて説明する。コンピュータ1000は、プロセッサ1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
(1)
システムに入力された第一の情報から、組合せ最適化問題として定式化される処理に必要となる第二の情報を抽出し、
前記抽出した第二の情報を入力して、前記組合せ最適化問題の目的関数を算出し、
前記目的関数を入力して、前記組合せ最適化問題の解を出力する少なくとも二つのプロセッサ、
を含み、
前記少なくとも二つのプロセッサのうちの一つのプロセッサは、前記組合せ最適化問題の解を出力するプロセッサである、
情報処理装置。
(2)
前記少なくとも二つのプロセッサのうちの一つのプロセッサは、入力された第一情報から、前記組合せ最適化問題の種類に対応するデータに基づいて、第二の情報を抽出する、
(1)に記載の情報処理装置。
(3)
前記組合せ最適化問題の解を出力するプロセッサは、前記入力された第二の情報から前記組合せ最適化問題に応じて決められた演算に基づいて前記組合せ最適化問題の目的関数を算出する、
(1)に記載の情報処理装置。
(4)
前記組合せ最適化問題の解を出力するプロセッサは、
前記入力された目的関数を、前記組合せ最適化問題と等価な符号の復号問題の入力信号列に変換する変換処理と、
前記入力信号列に基づいて復号問題を処理し、符号列を獲得する復号処理と、
前記符号列を前記組合せ最適化問題の解に変換して出力する出力処理と、
を含む処理を実行する
(1)に記載の情報処理装置。
(5) 前記符号の復号問題は、パリティ検査行列を利用するパリティ制約付き最尤復号問題であって、
前記変換処理は、前記目的関数の係数から前記パリティ検査行列を構成する処理、または、すでに構成してあるパリティ検査行列を読み出す処理を含む、
(4)に記載の情報処理装置。
(6)
前記復号処理は、ビリーフプロパゲーション法による復号アルゴリズムで構成され、
前記復号処理は、前記入力信号列とパリティ検査行列から、ビリーフプロパゲーション法による復号処理に基づいて符号列を復号する、
(5)に記載の情報処理装置。
(7)
前記ビリーフプロパゲーション法による復号処理は、低密度パリティ検査符号に対する復号処理である、
(6)に記載の情報処理装置。
(8)
前記組合せ最適化問題の目的関数は、イジングモデルのエネルギー関数として表現される、
(1)乃至(7)のいずれか1つに記載の情報処理装置。
(9)
前記組合せ最適化問題の目的関数は、QUBO(Quadratic Unconstrained Binary Optimization)形式の目的関数として表現される、
(1)乃至(8)のいずれか1つに記載の情報処理装置。
(10)
前記少なくとも二つのプロセッサのうちの一つのプロセッサは、イジングモデルのエネルギー関数の係数をQUBO形式の目的関数の係数に変換する処理を実行する、
(9)に記載の情報処理装置。
(11)
一つ以上の組合せ最適化問題の処理過程を記憶する記憶回路と、
前記一つ以上の組合せ最適化問題の処理過程から一つの処理過程を選択する第一の処理回路と、
システムに入力された情報から、前記処理過程に入力するデータを抽出して、前記組合せ最適化問題の結果を出力する第二の処理回路と
前記出力された結果に基づいて、システムが求める情報を生成し、少なくともその一部を表示する表示回路を含む
情報処理装置。
(12)
前記第二の処理回路は、受信した前記組合せ最適化問題から変換された所定の復号化問題を所定の方式で処理する、
(11)に記載の情報処理装置。
(13)
前記第二の処理回路は、外部に接続された量子コンピュータと通信を行う通信回路である
(11)に記載の情報処理装置。
(14)
システムに入力された第一の情報から、組合せ最適化問題として定式化される処理に必要となる第二の情報を抽出し、
前記抽出した第二の情報を入力して、前記組合せ最適化問題の目的関数を算出し、
前記目的関数を入力して、前記組合せ最適化問題の解を出力する
情報処理方法。
(15)
システムに入力された第一の情報から、組合せ最適化問題として定式化される処理に必要となる第二の情報を抽出し、
前記抽出した第二の情報を入力して、前記組合せ最適化問題の目的関数を算出し、
前記目的関数を入力して、前記組合せ最適化問題の解を出力する少なくとも二つのプロセッサ、
を含み、
前記少なくとも二つのプロセッサのうちの一つのプロセッサは、前記組合せ最適化問題の解を出力するプロセッサである、
情報処理システム。
2 データベース
3 アプリケーションCPU
4 組合せ最適化メモリ
5 組合せ最適化処理CPU
6 イジングモデルメモリ
7 イジングデコーダ
8 復号処理メモリ
10 組合せ最適化変換部
100 情報処理装置
110 通信部
120 記憶部
130 制御部
131 第一の処理部
132 第二の処理部
140 入力部
150 表示部
57 量子アニーラ
571 通信部
572 記憶部
573 量子デバイス部
574 制御部
575 取得部
576 計算部
577 送信部
Claims (15)
- システムに入力された第一の情報から、組合せ最適化問題として定式化される処理に必要となる第二の情報を抽出し、
前記抽出した第二の情報を入力して、前記組合せ最適化問題の目的関数を算出し、
前記目的関数を入力して、前記組合せ最適化問題の解を出力する少なくとも二つのプロセッサ、
を含み、
前記少なくとも二つのプロセッサのうちの一つのプロセッサは、前記組合せ最適化問題の解を出力するプロセッサである、
情報処理装置。 - 前記少なくとも二つのプロセッサのうちの一つのプロセッサは、入力された第一情報から、前記組合せ最適化問題の種類に対応するデータに基づいて、第二の情報を抽出する、
請求項1に記載の情報処理装置。 - 前記組合せ最適化問題の解を出力するプロセッサは、前記入力された第二の情報から前記組合せ最適化問題に応じて決められた演算に基づいて前記組合せ最適化問題の目的関数を算出する、
請求項1に記載の情報処理装置。 - 前記組合せ最適化問題の解を出力するプロセッサは、
前記入力された目的関数を、前記組合せ最適化問題と等価な符号の復号問題の入力信号列に変換する変換処理と、
前記入力信号列に基づいて復号問題を処理し、符号列を獲得する復号処理と、
前記符号列を前記組合せ最適化問題の解に変換して出力する出力処理と、
を含む処理を実行する
請求項1に記載の情報処理装置。 - 前記符号の復号問題は、パリティ検査行列を利用するパリティ制約付き最尤復号問題であって、
前記変換処理は、前記目的関数の係数から前記パリティ検査行列を構成する処理、または、すでに構成してあるパリティ検査行列を読み出す処理を含む、
請求項4に記載の情報処理装置。 - 前記復号処理は、ビリーフプロパゲーション法による復号アルゴリズムで構成され、
前記復号処理は、前記入力信号列とパリティ検査行列から、ビリーフプロパゲーション法による復号処理に基づいて符号列を復号する、
請求項5に記載の情報処理装置。 - 前記ビリーフプロパゲーション法による復号処理は、低密度パリティ検査符号に対する復号処理である、
請求項6に記載の情報処理装置。 - 前記組合せ最適化問題の目的関数は、イジングモデルのエネルギー関数として表現される、
請求項1に記載の情報処理装置。 - 前記組合せ最適化問題の目的関数は、QUBO(Quadratic Unconstrained Binary Optimization)形式の目的関数として表現される、
請求項1に記載の情報処理装置。 - 前記少なくとも二つのプロセッサのうちの一つのプロセッサは、イジングモデルのエネルギー関数の係数をQUBO形式の目的関数の係数に変換する処理を実行する、
請求項9に記載の情報処理装置。 - 一つ以上の組合せ最適化問題の処理過程を記憶する記憶回路と、
前記一つ以上の組合せ最適化問題の処理過程から一つの処理過程を選択する第一の処理回路と、
システムに入力された情報から、前記処理過程に入力するデータを抽出して、前記組合せ最適化問題の結果を出力する第二の処理回路と
前記出力された結果に基づいて、システムが求める情報を生成し、少なくともその一部を表示する表示回路を含む
情報処理装置。 - 前記第二の処理回路は、受信した前記組合せ最適化問題から変換された所定の復号化問題を所定の方式で処理する、
請求項11に記載の情報処理装置。 - 前記第二の処理回路は、外部に接続された量子コンピュータと通信を行う通信回路である
請求項11に記載の情報処理装置。 - システムに入力された第一の情報から、組合せ最適化問題として定式化される処理に必要となる第二の情報を抽出し、
前記抽出した第二の情報を入力して、前記組合せ最適化問題の目的関数を算出し、
前記目的関数を入力して、前記組合せ最適化問題の解を出力する
情報処理方法。 - システムに入力された第一の情報から、組合せ最適化問題として定式化される処理に必要となる第二の情報を抽出し、
前記抽出した第二の情報を入力して、前記組合せ最適化問題の目的関数を算出し、
前記目的関数を入力して、前記組合せ最適化問題の解を出力する少なくとも二つのプロセッサ、
を含み、
前記少なくとも二つのプロセッサのうちの一つのプロセッサは、前記組合せ最適化問題の解を出力するプロセッサである、
情報処理システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180077799.2A CN116457780A (zh) | 2020-11-25 | 2021-11-09 | 信息处理装置、信息处理方法和信息处理*** |
EP21897695.9A EP4235526A4 (en) | 2020-11-25 | 2021-11-09 | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING SYSTEM |
JP2022565198A JPWO2022113720A1 (ja) | 2020-11-25 | 2021-11-09 | |
US18/253,219 US20230409374A1 (en) | 2020-11-25 | 2021-11-09 | Information processing apparatus, information processing method, and information processing system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020195206 | 2020-11-25 | ||
JP2020-195206 | 2020-11-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022113720A1 true WO2022113720A1 (ja) | 2022-06-02 |
Family
ID=81755835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/041071 WO2022113720A1 (ja) | 2020-11-25 | 2021-11-09 | 情報処理装置、情報処理方法及び情報処理システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230409374A1 (ja) |
EP (1) | EP4235526A4 (ja) |
JP (1) | JPWO2022113720A1 (ja) |
CN (1) | CN116457780A (ja) |
WO (1) | WO2022113720A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117934689B (zh) * | 2024-03-25 | 2024-06-11 | 四川省医学科学院·四川省人民医院 | 一种骨折ct影像的多组织分割与三维渲染方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180246851A1 (en) * | 2016-12-30 | 2018-08-30 | 1Qb Information Technologies Inc. | Methods and systems for unified quantum computing frameworks |
JP2020149664A (ja) * | 2019-03-08 | 2020-09-17 | 日本電信電話株式会社 | 処理装置、処理方法及び処理プログラム |
-
2021
- 2021-11-09 US US18/253,219 patent/US20230409374A1/en active Pending
- 2021-11-09 WO PCT/JP2021/041071 patent/WO2022113720A1/ja active Application Filing
- 2021-11-09 EP EP21897695.9A patent/EP4235526A4/en active Pending
- 2021-11-09 CN CN202180077799.2A patent/CN116457780A/zh active Pending
- 2021-11-09 JP JP2022565198A patent/JPWO2022113720A1/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180246851A1 (en) * | 2016-12-30 | 2018-08-30 | 1Qb Information Technologies Inc. | Methods and systems for unified quantum computing frameworks |
JP2020149664A (ja) * | 2019-03-08 | 2020-09-17 | 日本電信電話株式会社 | 処理装置、処理方法及び処理プログラム |
Non-Patent Citations (3)
Title |
---|
FUJITSU: "Application of Digital Annealer for Faster Combinatorial Optimization", FUJITSU, vol. 69, no. 4, 1 July 2018 (2018-07-01), pages 77 - 83, XP055934665 * |
NAOKI IDETETSUYA ASAYAMAHIROSHI UENOMASAYUKI OHZEKI, MAXIMUM LIKELIHOOD CHANNEL DECODING WITH QUANTUM ANNEALING MACHINE, 9 November 2020 (2020-11-09), Retrieved from the Internet <URL:https://arxiv.org/abs/2007.08689> |
See also references of EP4235526A4 |
Also Published As
Publication number | Publication date |
---|---|
EP4235526A1 (en) | 2023-08-30 |
EP4235526A4 (en) | 2024-05-01 |
US20230409374A1 (en) | 2023-12-21 |
CN116457780A (zh) | 2023-07-18 |
JPWO2022113720A1 (ja) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Farrell et al. | Preparations for quantum simulations of quantum chromodynamics in 1+ 1 dimensions. I. Axial gauge | |
US20190130273A1 (en) | Sequence-to-sequence prediction using a neural network model | |
Zheng et al. | Speeding up learning quantum states through group equivariant convolutional quantum ansätze | |
WO2020142183A1 (en) | Neural network activation compression with outlier block floating-point | |
Yuan et al. | The dual-threshold quantum image segmentation algorithm and its simulation | |
Shaydulin et al. | Evidence of scaling advantage for the quantum approximate optimization algorithm on a classically intractable problem | |
Tahmassebi et al. | Multi-stage optimization of a deep model: A case study on ground motion modeling | |
O’Riordan et al. | A hybrid classical-quantum workflow for natural language processing | |
Li et al. | An image classification algorithm based on hybrid quantum classical convolutional neural network | |
Efendiev et al. | Efficient hybrid explicit-implicit learning for multiscale problems | |
WO2022113720A1 (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
Candela | Undergraduate computational physics projects on quantum computing | |
US20230042327A1 (en) | Self-supervised learning with model augmentation | |
Wang et al. | Fully Bayesian analysis of the relevance vector machine classification for imbalanced data problem | |
Dov et al. | Approximate encoding of quantum states using shallow circuits | |
Zhang et al. | Complex multitask compressive sensing using Laplace priors | |
CN114897175A (zh) | 量子测量设备的噪声消除方法及装置、电子设备和介质 | |
Borgwardt et al. | An integer program for pricing support points of exact barycenters | |
Blute et al. | Von neumann categories | |
François et al. | Dressing fields for supersymmetry: The cases of the Rarita-Schwinger and gravitino fields | |
JP5325072B2 (ja) | 行列分解装置、行列分解方法及びプログラム | |
EP4290420A1 (en) | Method of performing a quantum computation | |
Moerman | A gauge-invariant, symmetry-preserving truncation of JIMWLK | |
CN116226434B (zh) | 一种多元异构模型训练及应用方法、设备及可读存储介质 | |
Yu et al. | Physics-inspired optimization in the Qubo framework: Key concepts and approaches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21897695 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022565198 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180077799.2 Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2021897695 Country of ref document: EP Effective date: 20230522 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |