JP2010278782A - Estimating device, encoder, decoder, estimating method, encoding method, decoding method, and program - Google Patents

Estimating device, encoder, decoder, estimating method, encoding method, decoding method, and program Download PDF

Info

Publication number
JP2010278782A
JP2010278782A JP2009129538A JP2009129538A JP2010278782A JP 2010278782 A JP2010278782 A JP 2010278782A JP 2009129538 A JP2009129538 A JP 2009129538A JP 2009129538 A JP2009129538 A JP 2009129538A JP 2010278782 A JP2010278782 A JP 2010278782A
Authority
JP
Japan
Prior art keywords
inequality
constraint
matrix
linear equation
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009129538A
Other languages
Japanese (ja)
Other versions
JP5064442B2 (en
Inventor
Jun Muramatsu
純 村松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009129538A priority Critical patent/JP5064442B2/en
Publication of JP2010278782A publication Critical patent/JP2010278782A/en
Application granted granted Critical
Publication of JP5064442B2 publication Critical patent/JP5064442B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To shorten a calculating time by suppressing the number of constraint inequalities applied to linear programming. <P>SOLUTION: This estimating device first calculates a provisional solution z<SB>j</SB>by using an initial constraint. Next, the device creates a set of indexes j showing a column in which a matrix element is not zero, and classifies the set of j into a set S<SB>0</SB>and a set S<SB>1</SB>. Then, the device performs adjustment so that the number of j classified into S<SB>1</SB>is an odd number when an intercept of a linear equation is zero and that the number of j classified into S<SB>1</SB>is an even number when the intercept is one. As a result of the adjustment, it is determined whether the total sum of an added value obtained by adding distances between all provisional solutions z<SB>j</SB>corresponding to j that turns out to belong to S<SB>1</SB>and one, and an added value obtained by adding distances between all provisional solutions z<SB>j</SB>corresponding to j that turns out to belongs to S<SB>0</SB>and zero is one or larger. When the total sum is not one or larger as a result of the determination, a cutting inequality is extracted on the basis of inequality used for the determination and added to the set of constraint inequalities. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、推定装置、符号器及び復号器に関する。   The present invention relates to an estimation device, an encoder, and a decoder.

符号化や復号化の手法には、情報を短い表現に符号化し、復号化した情報の品質を保証する「情報圧縮」の目的や、伝送した情報に雑音が混入しても正しい情報に復元する「誤り訂正」の目的が存在する。この点、2元有限体上の線形方程式を制約条件として目的関数を最適化する手法は、両目的を実現するものとして知られている(非特許文献1〜4など)。   Encoding and decoding methods include encoding information into short representations, the purpose of “information compression” to guarantee the quality of the decoded information, and restoring the correct information even if noise is mixed in the transmitted information There is a purpose of "error correction". In this regard, a technique for optimizing an objective function using a linear equation on a binary finite field as a constraint is known to realize both objectives (Non-Patent Documents 1 to 4, etc.).

ところで、線形方程式を制約条件として目的関数を最適化する整数計画問題を実数空間上の線形計画法で解くにあたり、線形方程式は、実数空間上の線形不等式の集合に変形される。そこで、符号器や復号器は、この線形不等式の集合を用いて目的関数の最適化処理を実行することになるが、線形不等式の数は指数的に増大するおそれがあり、計算処理負荷の増大や必要メモリの増大などが懸念されてきた。   By the way, when solving an integer programming problem that optimizes an objective function using a linear equation as a constraint condition by linear programming in real space, the linear equation is transformed into a set of linear inequalities in real space. Therefore, the encoder and decoder use this set of linear inequalities to perform objective function optimization, but the number of linear inequalities may increase exponentially, increasing the computational load. There has been concern about increasing memory requirements.

このため、従来、例えば非特許文献6では、適応的に線形不等式を追加する手法が提案されている。この手法では、まず、初期の線形不等式の集合のみを制約条件として暫定的な最適解を求め、次に、暫定的な最適解が満たしていない線形不等式(暫定的な最適解を切除する線形不等式)を集合から探索する。そして、線形不等式を探索できた場合に、その線形不等式を集合に追加し、新たな集合を制約条件として、再び暫定的な最適解を求める。なお、その他にも、各種アルゴリズムが提案されている(非特許文献5〜7など)。   For this reason, conventionally, for example, Non-Patent Document 6 proposes a method for adaptively adding linear inequalities. In this method, first, a provisional optimal solution is obtained using only the initial set of linear inequalities as constraints, and then a linear inequality that is not satisfied by the provisional optimal solution (a linear inequality that removes the provisional optimal solution). ) From the set. When the linear inequality can be searched, the linear inequality is added to the set, and a temporary optimal solution is obtained again using the new set as a constraint. In addition, various algorithms have been proposed (Non-Patent Documents 5 to 7 and the like).

J. Muramatsu and S. Miyake, “Hash property and coding theorems for sparse matrices and maximum-likelihood coding,”、http://arxiv.org/abs/0801.3878J. Muramatsu and S. Miyake, “Hash property and coding theorems for sparse matrices and maximum-likelihood coding,”, http://arxiv.org/abs/0801.3878 J. Muramatsu and S. Miyake, “Hash property and fixed-rate universal coding theorems,”、http://arxiv.org/abs/0804.1183J. Muramatsu and S. Miyake, “Hash property and fixed-rate universal coding theorems,” http://arxiv.org/abs/0804.1183 J. Muramatsu, “Secret key agreement from correlated source outputs using low density parity check matrices,”、IEICE Trans. Fundamentals, vol. E89-A, no. 7, pp. 2036-2046, Jul. 2006.J. Muramatsu, “Secret key agreement from correlated source outputs using low density parity check matrices,” IEICE Trans. Fundamentals, vol. E89-A, no. 7, pp. 2036-2046, Jul. 2006. Jun Muramatsu and Shigeki Miyake, “Construction of Wiretap Channel Codes by Using Sparse Matrices,”、第6回シャノン理論ワークショップ予稿集, 2008.Jun Muramatsu and Shigeki Miyake, “Construction of Wiretap Channel Codes by Using Sparse Matrices,” Proceedings of 6th Shannon Theory Workshop, 2008. J. Feldman, M. J. Waingwright, and D. R. Karger, “Using linear programming to decode binary linear codes,” IEEE Trans. Inform. Theory, vol. IT-51, pp. 954-972, Mar.2005.J. Feldman, M. J. Waingwright, and D. R. Karger, “Using linear programming to decode binary linear codes,” IEEE Trans. Inform. Theory, vol. IT-51, pp. 954-972, Mar. 2005. M. H. Taghavi N. and P. H. Siegel, “Adaptive methos for linear programming decoding,” IEEE Trans. Inform. Theory, vol. IT-54, pp.5396-5410, Dec. 2008.M. H. Taghavi N. and P. H. Siegel, “Adaptive methos for linear programming decoding,” IEEE Trans. Inform. Theory, vol. IT-54, pp.5396-5410, Dec. 2008. M. Miwa, T. Wadayama, I. Takumi, “A cutting plane method based on redundant rows for improving fractional distance,”、http://arxiv.org/abs/0807.2701M. Miwa, T. Wadayama, I. Takumi, “A cutting plane method based on redundant rows for improving fractional distance,” http://arxiv.org/abs/0807.2701

しかしながら、上記した従来の技術では、依然として計算時間が長いという課題があった。例えば、適応的に線形不等式を追加する従来の手法では、暫定的な最適解を切除する線形不等式を得るために条件を繰り返し検査しなければならず、依然として計算時間は長くなってしまう。   However, the conventional technique described above has a problem that the calculation time is still long. For example, in the conventional method of adding a linear inequality adaptively, the condition must be repeatedly checked in order to obtain a linear inequality that removes the provisional optimal solution, and the calculation time is still long.

開示の技術は、上記に鑑みてなされたものであって、計算時間を短縮することが可能な推定装置、符号器、復号器、推定方法、符号方法、復号方法及びプログラムを提供することを目的とする。   The disclosed technology has been made in view of the above, and an object thereof is to provide an estimation device, an encoder, a decoder, an estimation method, an encoding method, a decoding method, and a program capable of reducing the calculation time. And

本願の開示する推定装置、符号器及び復号器は、一つの態様において、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化する推定装置であって、0以上かつ1以下であることを示す制約不等式の集合を初期の制約条件として、また、暫定的な最適解zを切除する切除不等式が抽出された場合には当該切除不等式を追加した制約不等式の集合を新たな制約条件として、暫定解zを算出する暫定解算出手段と、前記線形方程式の係数である行列の各行ごとに、行列の要素が0でない列を示すインデックスjの集合を作成し、当該インデックスjの集合を、当該インデックスjに対応する暫定解zと1との距離が0との距離を上回る場合には第一集合Sに、暫定解zと1との距離が0との距離を下回る場合には第二集合Sにそれぞれ分類する分類手段と、前記線形方程式の切片が0である場合には前記第二集合Sに分類されたインデックスjの数が奇数となるように、また、前記線形方程式の切片が1である場合には前記第二集合Sに分類されたインデックスjの数が偶数となるように、前記分類手段によって分類された第一集合S及び第二集合Sを調整する調整手段と、前記調整手段によって調整された結果、前記第二集合Sに属することとなったインデックスjに対応する暫定解z全てについて1との距離を加算した加算値と、前記第一集合Sに属することとなったインデックスjに対応する暫定解z全てについて0との距離を加算した加算値との総和が、1以上となるか否かを判定する判定手段と、前記判定手段によって判定された結果、1以上とならないと判定した場合に、前記判定に用いた不等式に基づき前記切除不等式を抽出する抽出手段と、前記抽出手段によって抽出された切除不等式を前記制約不等式の集合に追加する追加手段とを備える。 In one aspect, an estimation apparatus, an encoder, and a decoder disclosed in this application are an estimation apparatus that optimizes an objective function on a binary finite field of 0 and 1, using a linear equation as a constraint, A set of constraint inequalities indicating that the above is less than or equal to 1 is used as an initial constraint, and if a resection inequality that removes the provisional optimal solution z j is extracted, Using the set as a new constraint, a provisional solution calculation means for calculating the provisional solution z j and a set of indexes j indicating columns in which the elements of the matrix are not 0 are created for each row of the matrix that is a coefficient of the linear equation. , the set of the indices j, the first set S 0 if the distance between the tentative solution z j and 1 corresponding to the index j exceeds the distance between the 0, the distance between the tentative solution z j and 1 Below the distance from 0 And classifying means for classifying each of the second set S 1 in the case, as the number of the classified index j in the second set S 1 is an odd number in the case the intercept of the linear equation is zero, also When the intercept of the linear equation is 1, the first set S 0 and the second set classified by the classification means so that the number of indexes j classified into the second set S 1 is an even number. and adjusting means for adjusting the S 1, the adjusting means results adjusted by said second set corresponding to the index j became belong to S 1 interim solution z j sum value distance obtained by adding 1 and for all And whether or not the sum of the provisional solution z j corresponding to the index j belonging to the first set S 0 and the added value obtained by adding the distance to 0 is 1 or more Means and said determination A means for extracting the ablation inequality based on the inequality used for the determination when the result of the determination by the means determines that it is not 1 or more, and the ablation inequality extracted by the extraction means is a set of the constraint inequality And an additional means for adding to.

本願の開示する推定装置、符号器、復号器、推定方法、符号方法、復号方法及びプログラムの一つの態様によれば、計算時間を短縮することが可能になるという効果を奏する。   According to one aspect of the estimation device, the encoder, the decoder, the estimation method, the encoding method, the decoding method, and the program disclosed in the present application, it is possible to shorten the calculation time.

図1は、実施例1に係る推定装置10の構成を示すブロック図である。FIG. 1 is a block diagram illustrating the configuration of the estimation apparatus 10 according to the first embodiment. 図2は、実施例1に係る推定装置10における処理手順を示すフローチャートである。FIG. 2 is a flowchart illustrating a processing procedure in the estimation apparatus 10 according to the first embodiment. 図3は、加法的雑音を伴う通信路に対する誤り訂正符号を説明するための図である。FIG. 3 is a diagram for explaining an error correction code for a communication path with additive noise. 図4−1は、第一アルゴリズムを説明するためのフローチャートである。FIG. 4A is a flowchart for explaining the first algorithm. 図4−2は、第一アルゴリズムを説明するためのフローチャートである。FIG. 4B is a flowchart for explaining the first algorithm. 図4−3は、第一アルゴリズムを説明するためのフローチャートである。FIG. 4-3 is a flowchart for explaining the first algorithm. 図5−1は、第二アルゴリズムを説明するためのフローチャートである。FIG. 5A is a flowchart for explaining the second algorithm. 図5−2は、第二アルゴリズムを説明するためのフローチャートである。FIG. 5B is a flowchart for explaining the second algorithm. 図5−3は、第二アルゴリズムを説明するためのフローチャートである。FIG. 5C is a flowchart for explaining the second algorithm. 図6は、実施例2に係る推定装置10の構成を示すブロック図である。FIG. 6 is a block diagram illustrating the configuration of the estimation apparatus 10 according to the second embodiment. 図7は、実施例2に係る推定装置10における処理手順を示すフローチャートである。FIG. 7 is a flowchart illustrating a processing procedure in the estimation apparatus 10 according to the second embodiment. 図8は、符号化、復号化に現れる最適化問題を示す図である。FIG. 8 is a diagram illustrating an optimization problem that appears in encoding and decoding. 図9は、固定長無歪み符号における符号器及び復号器を説明するための図である。FIG. 9 is a diagram for explaining an encoder and a decoder in a fixed-length distortionless code. 図10は、補助情報を利用できる固定長無歪み符号における符号器及び復号器を説明するための図である。FIG. 10 is a diagram for explaining an encoder and a decoder in a fixed-length undistorted code that can use auxiliary information. 図11は、一般の通信路符号における符号器及び復号器を説明するための図である。FIG. 11 is a diagram for explaining an encoder and a decoder in a general channel code. 図12は、一般の通信路符号における符号器及び復号器を説明するための図である。FIG. 12 is a diagram for explaining an encoder and a decoder in a general channel code. 図13は、有歪み符号における符号器及び復号器を説明するための図である。FIG. 13 is a diagram for explaining an encoder and a decoder in a distorted code. 図14は、有歪み符号における符号器及び復号器を説明するための図である。FIG. 14 is a diagram for explaining an encoder and a decoder in a distorted code. 図15は、シミュレーション結果を示す図である。FIG. 15 is a diagram illustrating a simulation result.

以下に、本願の開示する推定装置の実施例を詳細に説明する。なお、以下の実施例により本発明が限定されるものではない。   Hereinafter, embodiments of the estimation device disclosed in the present application will be described in detail. In addition, this invention is not limited by the following examples.

実施例1に係る推定装置10は、2元の有限体GF(2)上において線形方程式Az=cを制約条件として関数f(z)を最適化する装置である。Aは、l行n列の行列であり、zは、n次元の列ベクトルであり、cは、l次元の列ベクトルである。また、実施例1に係る推定装置10は、以下に説明するように、線形方程式Az=cを変形した実数空間上の線形不等式の集合Ineq(k)に、暫定的な最適解を切除できる不等式だけを加える手法を用いる。以下、まず、図1を用いて実施例1に係る推定装置10の構成を説明し、次に、図2〜図5−3を用いて実施例1に係る推定装置10における処理手順及びアルゴリズムを説明する。   The estimation apparatus 10 according to the first embodiment is an apparatus that optimizes the function f (z) on the binary finite field GF (2) using the linear equation Az = c as a constraint. A is an l-row n-column matrix, z is an n-dimensional column vector, and c is an l-dimensional column vector. Further, as will be described below, the estimation apparatus 10 according to the first embodiment uses an inequality that can remove a provisional optimal solution to a set Ineq (k) of linear inequalities in a real space obtained by modifying the linear equation Az = c. Use the method of adding only. Hereinafter, first, the configuration of the estimation apparatus 10 according to the first embodiment will be described with reference to FIG. 1, and then the processing procedure and algorithm in the estimation apparatus 10 according to the first embodiment will be described with reference to FIGS. 2 to 5-3. explain.

なお、行列Aはフルランクである必要は無く、非特許文献7にあるように、非整数成分を持つ0ベクトル付近の最適解を切除する冗長行を行列に事前に付加しておくこともできる。非整数成分を持つ0ベクトル付近の最適解を切除する冗長行を求める時には、本発明の第一アルゴリズム、第二アルゴリズムを利用することができる。但し、以下の実施例にあるアルゴリズムでは、第二アルゴリズムを、冗長行を含まないもとの行列に対して実行してもよい。   Note that the matrix A does not have to be full rank, and as described in Non-Patent Document 7, a redundant row for cutting out the optimal solution near the zero vector having a non-integer component can be added in advance to the matrix. . The first algorithm and the second algorithm of the present invention can be used to obtain a redundant row for cutting out an optimal solution near the zero vector having a non-integer component. However, in the algorithm in the following embodiment, the second algorithm may be executed on an original matrix that does not include redundant rows.

[実施例1に係る推定装置10の構成]
図1は、実施例1に係る推定装置10の構成を示すブロック図である。実施例1に係る推定装置10は、図1に示すように、記憶部11と、入力部12と、暫定解算出部13と、切除不等式抽出部14と、出力部15とを備える。
[Configuration of Estimation Device 10 According to Embodiment 1]
FIG. 1 is a block diagram illustrating the configuration of the estimation apparatus 10 according to the first embodiment. As illustrated in FIG. 1, the estimation apparatus 10 according to the first embodiment includes a storage unit 11, an input unit 12, a provisional solution calculation unit 13, an ablation inequality extraction unit 14, and an output unit 15.

記憶部11は、推定装置10における推定処理に用いる各種情報を記憶する。具体的には、記憶部11は、推定装置10を利用する利用者などによって予め登録される情報として、数式(1−1)に示す行列A、及び、数式(1−2)に示す初期の制約不等式の集合を記憶する。また、記憶部11は、数式(1−3)に示すベクトルcを入力部12から格納されることで記憶する。また、記憶部11は、推定装置10における推定処理の中で、切除不等式抽出部14によって抽出された切除不等式を切除不等式抽出部14から格納されることで記憶する。記憶部11が記憶するこれらの情報は、主に、暫定解算出部13による処理に利用される。   The storage unit 11 stores various information used for the estimation process in the estimation device 10. Specifically, the storage unit 11 includes, as information registered in advance by a user who uses the estimation device 10 or the like, the matrix A shown in Formula (1-1) and the initial value shown in Formula (1-2). Store the set of constraint inequalities. Moreover, the memory | storage part 11 memorize | stores by storing the vector c shown to Numerical formula (1-3) from the input part 12. FIG. Further, the storage unit 11 stores the resection inequality extracted by the resection inequality extraction unit 14 in the estimation process in the estimation device 10 by being stored from the resection inequality extraction unit 14. These pieces of information stored in the storage unit 11 are mainly used for processing by the provisional solution calculation unit 13.

Figure 2010278782
Figure 2010278782

Figure 2010278782
Figure 2010278782

Figure 2010278782
Figure 2010278782

入力部12は、推定装置10における推定処理の処理対象信号を取得する。具体的には、入力部12は、推定装置10の外部から、処理対象信号であるベクトルcを通信などによって取得し、取得したベクトルcを記憶部11に格納する。なお、入力部12は、推定装置10の外部から目的関数を取得し、取得した目的関数を暫定解算出部13に伝達してもよい。   The input unit 12 acquires a processing target signal for estimation processing in the estimation device 10. Specifically, the input unit 12 acquires a vector c, which is a processing target signal, from outside the estimation device 10 by communication or the like, and stores the acquired vector c in the storage unit 11. Note that the input unit 12 may acquire an objective function from outside the estimation device 10 and transmit the acquired objective function to the provisional solution calculation unit 13.

暫定解算出部13は、最適化法(線形計画法)によって暫定的な最適解(適宜「暫定解」という)を算出する。具体的には、暫定解算出部13は、記憶部11に予め登録された初期の制約不等式の集合や、推定処理の中で切除不等式抽出部14によって更新され記憶部11に格納された制約不等式の集合を用いて暫定解を算出し、算出した暫定解を切除不等式抽出部14に格納する。暫定解は、数式(1−4)に示すベクトルzである。

Figure 2010278782
The provisional solution calculation unit 13 calculates a provisional optimum solution (referred to as “provisional solution” as appropriate) by an optimization method (linear programming). Specifically, the provisional solution calculation unit 13 includes a set of initial constraint inequalities registered in advance in the storage unit 11 and constraint inequalities updated by the excision inequality extraction unit 14 and stored in the storage unit 11 during the estimation process. The provisional solution is calculated using the set of and the calculated provisional solution is stored in the excision inequality extraction unit 14. The provisional solution is a vector z shown in Equation (1-4).
Figure 2010278782

切除不等式抽出部14は、暫定解を切除する不等式を抽出する。具体的には、切除不等式抽出部14は、記憶部11に記憶されている行列A及びベクトルcと、暫定解算出部13によって算出された暫定解とを用いて、行列Aの全ての行に対して第一アルゴリズムを適用し、切除不等式が存在するか否かを判定する。   The excision inequality extraction unit 14 extracts an inequality for excising the provisional solution. Specifically, the excision inequality extraction unit 14 uses the matrix A and the vector c stored in the storage unit 11 and the provisional solution calculated by the provisional solution calculation unit 13 for all rows of the matrix A. On the other hand, the first algorithm is applied to determine whether or not a resection inequality exists.

切除不等式抽出部14は、切除不等式が存在する場合には、暫定解を切除する行を行列Aから抽出するとともに切除不等式を抽出し、抽出した切除不等式を記憶部11に格納する。この時、切除不等式抽出部14は、記憶部11に記憶されている制約条件不等式の集合に、新たに抽出した切除不等式を加え、制約条件不等式の集合を更新するとともに、暫定解算出部13に、制約条件不等式の集合を更新した旨通知する。   When the excision inequality exists, the excision inequality extraction unit 14 extracts the excision inequality while extracting the row from which the provisional solution is excised from the matrix A, and stores the extracted excision inequality in the storage unit 11. At this time, the excision inequality extraction unit 14 adds the newly extracted excision inequality to the set of constraint inequalities stored in the storage unit 11 to update the set of constraint inequalities and to the provisional solution calculation unit 13. , Notify that the set of constraint inequalities has been updated.

一方、切除不等式抽出部14は、切除不等式が存在しない場合には、暫定解の成分が全て整数であるか否かをさらに判定し、全て整数である場合には、当該暫定解を最終解として出力部15に通知する。暫定解の成分に非整数を含む場合には、切除不等式抽出部14は、行列A及びベクトルcに対して第二アルゴリズムを適用し、行列A´(ダッシュ)、ベクトルc´(ダッシュ)を生成する。   On the other hand, if no excision inequality exists, the excision inequality extraction unit 14 further determines whether or not all the components of the provisional solution are integers. If all of the provisional solutions are integers, the excision inequality extraction unit 14 determines that the provisional solution is the final solution. The output unit 15 is notified. When the provisional solution component includes a non-integer, the excision inequality extraction unit 14 applies the second algorithm to the matrix A and the vector c to generate the matrix A ′ (dash) and the vector c ′ (dash). To do.

そして、切除不等式抽出部14は、行列A´及びベクトルc´と、暫定解算出部13によって算出された暫定解とを用いて、行列A´の全ての行に対して第一アルゴリズムを適用し、切除不等式が存在するか否かを判定する。   Then, the excision inequality extraction unit 14 applies the first algorithm to all the rows of the matrix A ′ using the matrix A ′ and the vector c ′ and the provisional solution calculated by the provisional solution calculation unit 13. Determine whether a resection inequality exists.

切除不等式抽出部14は、切除不等式が存在する場合には、暫定解を切除する行を行列A´から抽出するとともに切除不等式を抽出し、抽出した切除不等式を記憶部11に格納する。この時、切除不等式抽出部14は、記憶部11に記憶されている制約条件不等式の集合に、新たに抽出した切除不等式を加え、制約条件不等式の集合を更新する。一方、切除不等式抽出部14は、切除不等式が存在しない場合には、非整数を含む当該暫定解を最終解として出力部15に通知する。   When the excision inequality exists, the excision inequality extraction unit 14 extracts the excision inequality while extracting the row from which the provisional solution is excised from the matrix A ′, and stores the extracted excision inequality in the storage unit 11. At this time, the excision inequality extraction unit 14 adds the newly extracted excision inequality to the set of constraint inequalities stored in the storage unit 11 and updates the set of constraint inequalities. On the other hand, when there is no excision inequality, the excision inequality extraction unit 14 notifies the output unit 15 of the provisional solution including a non-integer as the final solution.

出力部15は、推定装置10における推定処理の最終解を出力する。具体的には、出力部13は、切除不等式抽出部14から通知された最終解を出力する。   The output unit 15 outputs the final solution of the estimation process in the estimation device 10. Specifically, the output unit 13 outputs the final solution notified from the excision inequality extraction unit 14.

[実施例1に係る推定装置10における処理手順及びアルゴリズム]
次に、図2〜図5−3を用いて、実施例1に係る推定装置10における処理手順及びアルゴリズムを説明する。図2は、実施例1に係る推定装置10における処理手順を示すフローチャートであり、図3は、加法的雑音を伴う通信路に対する誤り訂正符号を説明するための図である。また、図4−1〜図4−3は、第一アルゴリズムを説明するためのフローチャートであり、図5−1〜図5−3は、第二アルゴリズムを説明するためのフローチャートである。
[Processing procedure and algorithm in estimation apparatus 10 according to Embodiment 1]
Next, the processing procedure and algorithm in the estimation apparatus 10 according to the first embodiment will be described with reference to FIGS. FIG. 2 is a flowchart illustrating a processing procedure in the estimation apparatus 10 according to the first embodiment, and FIG. 3 is a diagram for explaining an error correction code for a communication path with additive noise. FIGS. 4-1 to 4-3 are flowcharts for explaining the first algorithm, and FIGS. 5-1 to 5-3 are flowcharts for explaining the second algorithm.

[推定装置10における処理手順]
図2に示すように、まず、推定装置10において、入力部12が、処理対象信号であるベクトルcを取得する(ステップS1)。
[Processing Procedure in Estimation Device 10]
As shown in FIG. 2, first, in the estimation apparatus 10, the input unit 12 acquires a vector c that is a signal to be processed (step S1).

次に、暫定解算出部13が、記憶部11に予め登録された初期の制約不等式の集合を制約条件に設定し(ステップS2)、設定した制約条件を用いて最適化法によって暫定解を算出する(ステップS3)。   Next, the provisional solution calculation unit 13 sets a set of initial constraint inequalities previously registered in the storage unit 11 as a constraint condition (step S2), and calculates a provisional solution by an optimization method using the set constraint condition. (Step S3).

続いて、切除不等式抽出部14が、記憶部11に記憶されている行列A及びベクトルcと、暫定解算出部13によって算出された暫定解とを用いて、行列Aの全ての行に対して第一アルゴリズムを適用し、切除不等式が存在するか否かを判定する(ステップS4)。   Subsequently, the excision inequality extraction unit 14 uses the matrix A and the vector c stored in the storage unit 11 and the provisional solution calculated by the provisional solution calculation unit 13 for all rows of the matrix A. The first algorithm is applied to determine whether or not an excision inequality exists (step S4).

切除不等式が存在し、抽出した場合には(ステップS5肯定)、切除不等式抽出部14は、記憶部11に記憶されている制約条件不等式の集合に、新たに抽出した切除不等式を加え、制約条件不等式の集合を更新する(ステップS6)。   When the excision inequality exists and is extracted (Yes at step S5), the excision inequality extraction unit 14 adds the newly extracted excision inequality to the set of constraint inequalities stored in the storage unit 11 to obtain the constraint condition. The set of inequalities is updated (step S6).

一方、切除不等式が存在せず、抽出しない場合には(ステップS5否定)、切除不等式抽出部14は、暫定解の成分が全て整数であるか否かをさらに判定する(ステップS7)。全て整数である場合には(ステップS7肯定)、当該暫定解を最終解として出力部15に通知する(ステップS8)。   On the other hand, when the excision inequality does not exist and is not extracted (No at Step S5), the excision inequality extraction unit 14 further determines whether or not all the components of the provisional solution are integers (Step S7). When all are integers (Yes at Step S7), the provisional solution is notified to the output unit 15 as the final solution (Step S8).

一方、暫定解の成分に非整数を含む場合には(ステップS7否定)、切除不等式抽出部14は、行列A及びベクトルcに対して第二アルゴリズムを適用し、行列A´、ベクトルc´を生成する(ステップS9)。   On the other hand, when the component of the provisional solution includes a non-integer (No at Step S7), the excision inequality extraction unit 14 applies the second algorithm to the matrix A and the vector c, and determines the matrix A ′ and the vector c ′. Generate (step S9).

そして、切除不等式抽出部14は、行列A´及びベクトルc´と、暫定解算出部13によって算出された暫定解とを用いて、行列A´の全ての行に対して第一アルゴリズムを適用し、切除不等式が存在するか否かを判定する(ステップS10)。なお、第一アルゴリズムを適用する行の順序は任意であるが、例えば、行列の上の行もしくは下の行から順に、最初に暫定解を切除する切除不等式が見つかったところで終了する、あるいは、暫定解を切除する冗長行a´で|Supp(a´)|が最も小さい行の切除不等式を求めるといった方法が考えられる。ここで、ベクトルa´は、行列A´の中の一つの行である。 Then, the excision inequality extraction unit 14 applies the first algorithm to all the rows of the matrix A ′ using the matrix A ′ and the vector c ′ and the provisional solution calculated by the provisional solution calculation unit 13. Then, it is determined whether or not an excision inequality exists (step S10). Note that the order of the rows to which the first algorithm is applied is arbitrary. For example, in the order from the top row or the bottom row of the matrix, the processing is terminated when the first excision inequality that cuts the provisional solution is found, or in redundant row a'i ablating solutions | Supp (a'i) | is methods are conceivable such Request resection inequality smallest row. Here, the vector a ′ i is one row in the matrix A ′.

切除不等式が存在し、抽出した場合には(ステップS11肯定)、切除不等式抽出部14は、記憶部11に記憶されている制約条件不等式の集合に、新たに抽出した切除不等式を加え、制約条件不等式の集合を更新する(ステップS6)。   When the excision inequality exists and is extracted (Yes at step S11), the excision inequality extraction unit 14 adds the newly extracted excision inequality to the set of constraint inequalities stored in the storage unit 11, and the constraint condition The set of inequalities is updated (step S6).

一方、切除不等式が存在せず、抽出しない場合には(ステップS11否定)、非整数を含む当該暫定解を最終解として出力部15に通知する。(ステップS8)。   On the other hand, when the excision inequality does not exist and is not extracted (No at Step S11), the provisional solution including the non-integer is notified to the output unit 15 as the final solution. (Step S8).

なお、図2のステップS2とステップS3との間において、さらに、記録部11に登録されている制約不等式の集合に対して暫定解が等号を満たしていない不等式を削除する、という処理を実行してもよい。このような処理をすることによって、線形計画法を適用する制約不等式の数を抑える効果がある。   In addition, between step S2 and step S3 in FIG. 2, a process of deleting an inequality whose provisional solution does not satisfy the equal sign for the set of constraint inequalities registered in the recording unit 11 is executed. May be. By performing such processing, there is an effect of suppressing the number of constraint inequalities to which linear programming is applied.

[誤り訂正符号の構成法及び線形計画法を用いた最尤復号法]
ところで、第一アルゴリズムを説明する前に、行列を用いた加法的雑音を伴う通信路に対する誤り訂正符号の構成法、及び、線形計画法を用いた最尤復号法を説明する。
[Maximum likelihood decoding using error correction code construction and linear programming]
By the way, before explaining the first algorithm, a construction method of an error correction code for a channel with additive noise using a matrix and a maximum likelihood decoding method using linear programming will be explained.

[加法的雑音を伴う通信路に対する誤り訂正符号]
例えば、加法的雑音を伴う通信路に対する誤り訂正符号を例に従来の手法を説明する。加法的雑音を伴う通信路に対する誤り訂正符号は、図3で与えられる。図3は、加法的雑音を伴う通信路に対する誤り訂正符号を説明するための図である。以下、数式(1−5)に示すように、GF(2)を2元の有限体とし、n次元のベクトル空間をGF(2)と示す。

Figure 2010278782
[Error correction code for channels with additive noise]
For example, a conventional method will be described by taking an error correction code for a communication path with additive noise as an example. An error correction code for a channel with additive noise is given in FIG. FIG. 3 is a diagram for explaining an error correction code for a communication path with additive noise. Hereinafter, as shown in Equation (1-5), GF (2) is a binary finite field, and an n-dimensional vector space is indicated as GF (2) n .
Figure 2010278782

整数nを通信路の入出力長とすると、GF(2)上のn次元の列ベクトルは、数式(1−6)とする。

Figure 2010278782
ここで、数式(1−7)は、全てGF(2)上の要素である。
Figure 2010278782
Assuming that the integer n is the input / output length of the communication path, the n-dimensional column vector on GF (2) is expressed by Equation (1-6).
Figure 2010278782
Here, all the mathematical expressions (1-7) are elements on GF (2).
Figure 2010278782

GF(2)上のl×n行列Aを数式(1−8)とする。

Figure 2010278782
An l × n matrix A on GF (2) is expressed by Equation (1-8).
Figure 2010278782

また、全ての成分が0となる零ベクトルを数式(1−9)と記す。

Figure 2010278782
なお、零ベクトルの次元は特に明示しないが、ここではl次元のベクトルとする。 Also, a zero vector in which all components are 0 is expressed as Expression (1-9).
Figure 2010278782
Note that the dimension of the zero vector is not particularly specified, but here it is an l-dimensional vector.

誤り訂正符号においては、数式(1−10)を満たす集合を「符号」もしくは「符号語の集合」と呼ぶ。行列Aのランクがlであるとき、Cはn−l次元のベクトル空間となる。また、Cは、n次元ベクトル空間GF(2)の部分空間となっている。

Figure 2010278782
In the error correction code, a set satisfying the mathematical formula (1-10) is referred to as a “code” or a “codeword set”. When the rank of the matrix A is l, C is an n−1-dimensional vector space. C is a partial space of the n-dimensional vector space GF (2) n .
Figure 2010278782

Cがn−l次元のベクトル空間であることから、メッセージの集合をGF(2)n−lとすれば、集合GF(2)n−lから集合Cへの全単射が存在する。実際には、数式(1−11)に示すメッセージベクトルに対して、「生成行列」と呼ばれるn×(n−l)行列Gを用いて、数式(1−12)を求めることによって、Cの要素を対応させる。生成行列Gは、任意のメッセージmに対してGmがCの要素になるように与えることができる。

Figure 2010278782
Figure 2010278782
Since C is an n-1 dimensional vector space, if the message set is GF (2) n-1 , bijection from the set GF (2) n-1 to the set C exists. Actually, by obtaining the equation (1-12) using the n × (n−1) matrix G called “generation matrix” for the message vector shown in the equation (1-11), Match elements. The generator matrix G can be given so that Gm becomes an element of C for any message m.
Figure 2010278782
Figure 2010278782

加法的雑音を伴う通信路の誤り訂正符号において、メッセージmは、数式(1−13)へ符号化され、通信路に入力される。

Figure 2010278782
In the error correction code of the communication path with additive noise, the message m is encoded into Equation (1-13) and input to the communication path.
Figure 2010278782

雑音を数式(1−14)とすると、加法的雑音を伴う通信路の出力は、数式(1−15)、数式(1−16)となる。ここで、(+)(丸の中にプラスの記号)は、GF(2)の加法を表す。

Figure 2010278782
Figure 2010278782
Figure 2010278782
When the noise is represented by Expression (1-14), the output of the communication path with additive noise is represented by Expression (1-15) and Expression (1-16). Here, (+) (plus sign in a circle) represents the addition of GF (2).
Figure 2010278782
Figure 2010278782
Figure 2010278782

数式(1−16)をベクトルの成分で書き表すと、数式(1−17)となる。

Figure 2010278782
When Expression (1-16) is expressed as a vector component, Expression (1-17) is obtained.
Figure 2010278782

ベクトルyを受信した復号器は、「最尤復号」と呼ばれる方法を用いて、入力信号ベクトルxを推定した数式(1−18)を求める。

Figure 2010278782
The decoder that has received the vector y obtains Equation (1-18) that estimates the input signal vector x using a method called “maximum likelihood decoding”.
Figure 2010278782

通信路が定常無記憶であることを仮定すると、遷移確率は、数式(1−19)となる。

Figure 2010278782
Assuming that the communication channel is stationary memoryless, the transition probability is expressed by Equation (1-19).
Figure 2010278782

ここで、Prob(z)は、一次元の雑音zが発生する確率であり、数式(1−20)を仮定する。

Figure 2010278782
Here, Prob (z j ) is a probability that a one-dimensional noise z j is generated, and Equation (1-20) is assumed.
Figure 2010278782

最尤復号では、数式(1−21)、数式(1−22)のように、推定したxベクトルを求める。

Figure 2010278782
Figure 2010278782
In the maximum likelihood decoding, an estimated x vector is obtained as in Expressions (1-21) and (1-22).
Figure 2010278782
Figure 2010278782

ここで、最初の=では、通信路の入力が数式(1−23)を満たしていることと、数式(1−24)を用いた。

Figure 2010278782
Figure 2010278782
Here, in the first =, the input of the communication path satisfies the formula (1-23) and the formula (1-24) is used.
Figure 2010278782
Figure 2010278782

また、最後の=では、数式(1−25)から、z=0を満たすjをできる限り大きくする、すなわちz=1を満たすjをできる限り小さくすることにより、目的関数の最大化を達成できることによる。

Figure 2010278782
In the last =, the objective function can be maximized by increasing j that satisfies z j = 0 as much as possible, that is, by reducing j that satisfies z j = 1 as much as possible. By what can be achieved.
Figure 2010278782

数式(1−26)の場合は、同様に、数式(1−27)となる。

Figure 2010278782
Figure 2010278782
In the case of Expression (1-26), Expression (1-27) is similarly obtained.
Figure 2010278782
Figure 2010278782

[線形計画法を用いた最尤復号法]
以下では、数式(1−28)を例にとり、非特許文献5で提案された線形計画法を用いた最尤復号法を説明する。

Figure 2010278782
[Maximum likelihood decoding using linear programming]
In the following, the maximum likelihood decoding method using the linear programming proposed in Non-Patent Document 5 will be described using Equation (1-28) as an example.
Figure 2010278782

復号器は、受信ベクトルyから、数式(1−29)

Figure 2010278782
すなわち、
Figure 2010278782
を求めておく。 The decoder calculates the mathematical expression (1-29) from the received vector y.
Figure 2010278782
That is,
Figure 2010278782
Ask for.

数式(1−28)は、GF(2)上の線形方程式

Figure 2010278782
を制約条件として、線形の目的関数
Figure 2010278782
を最小化する問題である。すなわち、数式(1−28)は、数式(1−33)と等価となる。
Figure 2010278782
Equation (1-28) is a linear equation over GF (2)
Figure 2010278782
Is a linear objective function
Figure 2010278782
Is a problem of minimizing. That is, Equation (1-28) is equivalent to Equation (1-33).
Figure 2010278782

以下、目的関数をf(z)と記し、最大化、最小化を単に「最適化」と呼ぶ。また、数式(1−28)は厳密には整数計画問題であり、実数空間上での線形計画問題ではない。以下では、GF(2)上の線形方程式を制約条件として目的関数f(z)を最適化する問題を単に「GF(2)上の線形方程式を制約条件とする整数計画問題」と呼ぶ。   Hereinafter, the objective function is denoted as f (z), and maximization and minimization are simply referred to as “optimization”. The equation (1-28) is strictly an integer programming problem, not a linear programming problem in a real space. Hereinafter, the problem of optimizing the objective function f (z) with the linear equation on GF (2) as a constraint is simply referred to as “an integer programming problem with the linear equation on GF (2) as a constraint”.

GF(2)上の線形方程式を制約条件とする整数計画問題を実数空間上の線形計画法で解くにあたり、GF(2)上の線形方程式を実数空間上の線形不等式の集合に書き改める。   In solving an integer programming problem with a linear equation on GF (2) as a constraint by linear programming on real space, the linear equation on GF (2) is rewritten into a set of linear inequalities on real space.

Aにある一つの行ベクトル

Figure 2010278782
に注目すると、線形方程式Az=cは、l個のGF(2)上の方程式
Figure 2010278782
の集合とみなせる。ここで、「・」は、ベクトルの内積を表す。ベクトルa=(a、・・・、a、・・・、a)に対して、集合{1、2、・・・、n}の部分集合Supp(a)(aは行ベクトル)を数式(1−36)のように定義する。
Figure 2010278782
One row vector in A
Figure 2010278782
Note that the linear equation Az = c is the equation over l GF (2)
Figure 2010278782
Can be regarded as a set of Here, “·” represents an inner product of vectors. For a vector a = (a 1 ,..., A j ,..., A n ), a subset Sup (a i ) (a is a row vector) of the set {1, 2,. ) Is defined as Equation (1-36).
Figure 2010278782

以下、|S|を集合Sの大きさを表し、S\S´(ダッシュ)は、差集合(Sに含まれていてS´(ダッシュ)に含まれない要素からなる集合)を表す。GF(2)上の線形方程式である数式(1−35)を、実数空間上の線形不等式の集合である数式(1−37)に書き改める。

Figure 2010278782
ただし、部分集合Sは、C=0のときは|S|が奇数であるものだけを、C=1のときは|S|が偶数であるものだけをとる。 Hereinafter, | S | represents the size of the set S, and S \ S ′ (dash) represents a difference set (a set including elements included in S but not included in S ′ (dash)). Formula (1-35), which is a linear equation on GF (2), is rewritten to Formula (1-37), which is a set of linear inequalities in real space.
Figure 2010278782
However, the subset S takes only those in which | S | is odd when C i = 0, and only those in which | S | is even when C i = 1.

このように、GF(2)上の線形方程式を実数空間上の線形不等式の集合

Figure 2010278782
に変形(緩和)して、線形計画法を用いて解を求め、これを利用して目的関数f(z)の最適化を行う。 Thus, a linear equation on GF (2) is a set of linear inequalities on a real space.
Figure 2010278782
Then, a solution is obtained using linear programming, and the objective function f (z) is optimized using this.

ここで、非特許文献5によれば、線形計画法で求めた最適解を与えるzの成分が全て整数であったときには、GF(2)上の線形方程式を制約条件とする整数計画問題の最適解になっていることが証明されている。   Here, according to Non-Patent Document 5, when the components of z that give the optimal solution obtained by the linear programming method are all integers, the optimization of the integer programming problem with the linear equation on GF (2) as the constraint condition Proven to be the solution.

しかしながら、上記の手法では、以下の二つの課題が知られている。   However, in the above method, the following two problems are known.

まず、数式(1−37)に含まれる不等式は、2|Supp(ai)|−1個存在する。これは、不等式の個数がベクトルaに含まれる1の個数に対して指数的に大きくなることを意味しており、線形計画法の計算量や必要なメモリ量の増加を引き起こす。 First, there are 2 | Supp (ai) | -1 inequalities included in the mathematical expression (1-37). This means that the number of inequalities increases exponentially with respect to the number of 1 included in the vector a i , and causes an increase in the amount of calculation of linear programming and the required amount of memory.

また、線形計画法で求めた最適解を与えるzの成分が常に全て整数であるとは限らない。zに非整数な成分を含む場合、GF(2)上の線形方程式を制約条件とする整数計画問題の最適解を求めたことにはなっていない。   Also, the components of z that give the optimal solution obtained by linear programming are not always integers. When z includes a non-integer component, the optimal solution of the integer programming problem with the linear equation on GF (2) as a constraint is not obtained.

[アルゴリズムA]
上記したように、数式(1−38)に含まれる不等式の全てを制約条件として線形計画法を解くと多くの計算量・メモリ量を必要とするため、アルゴリズムAでは、以下のような手続きで最適解を求める。
[Algorithm A]
As described above, when solving linear programming using all the inequalities included in Equation (1-38) as constraints, a large amount of calculation and memory are required. Find the optimal solution.

(1)k=0とする。数式(1−39)で示される初期の不等式の集合のみを制約式として、線形計画法により暫定的な最適解を求める。

Figure 2010278782
(1) k = 0. A provisional optimal solution is obtained by linear programming using only the set of initial inequalities represented by Expression (1-39) as a constraint expression.
Figure 2010278782

(2)暫定的な最適解が満たしていない不等式(暫定的な最適解を切除する切除不等式)を一つ以上数式(1−38)から探す。もし見付からなかったら、暫定的な最適解を最終的な最適解として終了する。 (2) One or more inequalities that are not satisfied by the provisional optimal solution (excision inequalities for excising the provisional optimal solution) are searched from the mathematical expression (1-38). If not found, the provisional optimal solution is terminated as the final optimal solution.

(3)ステップ(2)で暫定的な最適解を切除する切除不等式が見付かれば、その切除不等式をIneq(k)に追加したものをIneq(k+1)として、Ineq(k+1)を制約式とした線形計画法により最適解を求め、これを新たな暫定的な最適解とする。 (3) If a resection inequality for resecting the provisional optimal solution is found in step (2), the resection inequality added to Ineq (k) is Ineq (k + 1), and Ineq (k + 1) is a constraint expression. An optimal solution is obtained by the linear programming method described above, and this is set as a new provisional optimal solution.

(4)kの値を1増やしてステップ(2)へ戻る。 (4) Increase the value of k by 1 and return to step (2).

[アルゴリズムB]
アルゴリズムAにおいて、各iでIneq(a・z=c)の全ての不等式を求める必要は無く、暫定的な最適解を切除できる切除不等式をIneq(a・z=c)から見付けることができれば十分であることが分かる。しかし、素朴な方法では、2|Supp(ai)|−1個の不等式が暫定的な最適解を切除できるかどうかを順に調べることになり、依然として指数的に増大する計算量が残る。非特許文献6では、制約条件となるGF(2)の方程式がa・z=0(右辺が0)であることを仮定して、O(lmaxi|Supp(a)|+nlogn)の計算量で計算できるアルゴリズムを以下のように与えている。これを「アルゴリズムB」と呼ぶ。非整数の成分を含む暫定的な最適解をzとする。
[Algorithm B]
In algorithm A, it is not necessary to determine all of the inequalities Ineq (a i · z = c i) in each i, find ablation inequalities that can ablate provisional optimum solution from Ineq (a i · z = c i) It can be seen that it is sufficient. However, in the simple method, it is examined in order whether 2 | Supp (ai) | -1 inequalities can cut off the provisional optimal solution, and the amount of calculation that increases exponentially remains. In Non-Patent Document 6, assuming that the constraint GF (2) equation is a i · z = 0 (right side is 0), O (l maxi | Supp (a i ) | + nlog 2 n The algorithm that can be calculated with the calculation amount of) is given as follows. This is called “algorithm B”. A provisional optimal solution including a non-integer component is defined as z.

(1)Supp(a)のインデックスを、インデックスと対応するzの成分の値の大きい順に並び変えたものを求めておく。 (1) The index of the Supp (a i ) is rearranged in descending order of the value of the z component corresponding to the index.

(2)v=1としてS(1)をzが最大となるjだけからなる集合とする。最大となるjは、ステップ(1)で求めた並び替えを利用する。 (2) With v = 1, let S (1) be a set consisting only of j with the largest z j . The maximum j uses the rearrangement obtained in step (1).

(3)数式(1−40)を満たしていなければ、これをzを切除している切除不等式として終了する。

Figure 2010278782
(3) If the mathematical formula (1-40) is not satisfied, this is ended as an ablation inequality in which z is excised.
Figure 2010278782

(4)ステップ(3)で不等式が数式(1−40)を満たしている場合、数式(1−41)を満たしているならば、切除している不等式は見つからないことを報告して終了する。

Figure 2010278782
(4) If the inequality satisfies the mathematical expression (1-40) in step (3), if the mathematical expression (1-41) is satisfied, it is reported that the inequality being cut is not found, and the process ends. .
Figure 2010278782

(5)ステップ(3)で不等式が数式(1−40)を満たし、かつステップ(4)で数式(1−41)を満たしていないならば、数式(1−42)でzのもっとも大きいjを2個S(v)に追加したものをS(v+2)とする。最大となるjは、ステップ(1)で求めた並び替えを利用して求める。そして、vの値を2増大させる。

Figure 2010278782
(5) If the inequality satisfies equation (1-40) in step (3) and does not satisfy equation (1-41) in step (4), z j is the largest in equation (1-42). S (v + 2) is obtained by adding two j to S (v). The maximum j is obtained using the rearrangement obtained in step (1). Then, the value of v is increased by 2.
Figure 2010278782

S(v)が、数式(1−43)を満たしていればステップ(3)に戻る。

Figure 2010278782
満たしていなければ、切除している不等式は見つからないことを報告して終了する。 If S (v) satisfies Expression (1-43), the process returns to Step (3).
Figure 2010278782
If not, report that the inequalities being excised are not found and exit.

[アルゴリズムC]
ところで、zに非整数な成分を含む場合、GF(2)上の線形方程式を制約条件とする整数計画問題の最適解を求めたことにはなっていない課題については上記した通りである。続いて、この課題について非特許文献6で提案された適応的な手続を説明する。
[Algorithm C]
By the way, in the case where z includes a non-integer component, the problem that has not been obtained for the optimal solution of the integer programming problem with the linear equation on GF (2) as a constraint is as described above. Next, an adaptive procedure proposed in Non-Patent Document 6 for this problem will be described.

非特許文献5では、「冗長行」と呼ばれる行列Aの行ベクトル集合の線形和で書ける行を行列Aに追加して、新たなGF(2)上の線形方程式を制約条件とする整数計画問題を用意し、これを実数空間上の線形計画法で解くことにより、復号性能を向上させることができることが提案されている。具体的には以下のような方法である。   In Non-Patent Document 5, an integer programming problem in which a row that can be written as a linear sum of a row vector set of a matrix A called “redundant row” is added to the matrix A, and a new linear equation on GF (2) is used as a constraint. It is proposed that the decoding performance can be improved by preparing and solving this by linear programming in real space. Specifically, the method is as follows.

行列Aの行ベクトルの集合を数式(1−44)とする。

Figure 2010278782
A set of row vectors of the matrix A is represented by Expression (1-44).
Figure 2010278782

また、任意のベクトルを数式(1−45)とし、数式(1−46)とする。

Figure 2010278782
Figure 2010278782
Further, an arbitrary vector is represented by Equation (1-45) and Equation (1-46).
Figure 2010278782
Figure 2010278782

そして、ベクトルcより、数式(1−47)を求める。

Figure 2010278782
Then, Expression (1-47) is obtained from the vector c.
Figure 2010278782

すると、GF(2)上の線形方程式Az=cは、数式(1−48)と同値となる。

Figure 2010278782
Then, the linear equation Az = c on GF (2) has the same value as the mathematical formula (1-48).
Figure 2010278782

同様にして、行列Aに複数の冗長行を追加して、Az=cと同値な方程式をつくることができる。以後、行列Aの「冗長行」と呼ぶときは、対応する方程式の右辺の値(上記の例ではcl+1)も含めているものとする。また、追加した冗長行に対して数式(1−37)で定められた不等式の集合が、線形計画法が求めた非整数の成分を含む最適解を切除できる場合、これを「線形計画法が求めた非整数の成分を含む最適解を切除できる冗長行」と呼ぶ。 Similarly, by adding a plurality of redundant rows to the matrix A, an equation equivalent to Az = c can be created. Hereinafter, when the “redundant row” of the matrix A is referred to, the value on the right side of the corresponding equation (c 1 + 1 in the above example) is also included. Further, when the set of inequalities determined by the mathematical expression (1-37) for the added redundant row can cut out the optimal solution including the non-integer component obtained by the linear programming, This is called a “redundant row that can cut out the optimum solution including the obtained non-integer components”.

非特許文献6では、線形計画法が求めた非整数の成分を含む最適解を等式の集合で切除できるような冗長行を求める方法を提案している。具体的な方法を以下で与え、これを「アルゴリズムC」と呼ぶ。   Non-Patent Document 6 proposes a method for obtaining a redundant row so that an optimal solution including a non-integer component obtained by linear programming can be removed by a set of equations. A specific method is given below and is referred to as “algorithm C”.

非特許文献6と同様に、方程式Az=cを仮定し、非整数の成分を含む最適解をzとする。   As in Non-Patent Document 6, the equation Az = c is assumed, and an optimal solution including a non-integer component is z.

(1)行列Aのj番目の列で、対応するzが非整数となる列を全て取り除き、これを新たに行列Bとする。 (1) Remove all columns in which the corresponding z j is a non-integer from the j-th column of the matrix A, and make this a new matrix B.

(2)行列Bの行のインデックスiを{1,2,・・・,l}からランダムに選び、iを順に記録する。 (2) The index i of the row of the matrix B is randomly selected from {1, 2,..., L}, and i is recorded in order.

(3)行列Bのi番目の行のj番目の成分が0で無いjをランダムに一つ選ぶ。ただし、jは直前に実行したステップ(4)のjと異なるものを選ぶ。 (3) Randomly select one j whose j-th component of the i-th row of the matrix B is not 0. However, j is different from j of the step (4) executed immediately before.

(4)行列Bのj番目の列のi番目の成分が0で無いiをランダムに一つ選ぶ。ただし、iは直前に実行したステップ(3)のiと異なるものを選ぶ。 (4) Randomly selects i for which the i-th component of the j-th column of the matrix B is not 0. However, i is different from i in step (3) executed immediately before.

(5)ステップ(4)で選んだiが記録に残っていれば、過去にiが現れるまでのインデックスの記録(iを含む)を冗長行を求めるためのインデックスの集合とする。ステップ(4)で選んだiが記録に残っていなければ、ステップ(3)に戻る。 (5) If i selected in step (4) remains in the record, index recording (including i) until i appears in the past is set as a set of indexes for obtaining redundant rows. If i selected in step (4) does not remain in the record, the process returns to step (3).

(6)ステップ(5)で求めたインデックスの集合に対応するAの行を全て足したものa´を冗長行とする。 (6) The redundant line a ′ obtained by adding all the rows of A corresponding to the set of indexes obtained in step (5).

(7)ステップ(6)で求めた方程式a´・z=0からzを切除する不等式を作ることができれば、これを線形計画法の制約不等式に追加する。切除していなければ、インデックスの記録をクリアしてステップ(2)へ戻る。方程式からzを切除する不等式が作れるかどうかは、アルゴリズムBを用いる。 (7) If an inequality that eliminates z from the equation a ′ · z = 0 obtained in step (6) can be created, this is added to the constraint inequality of linear programming. If not excised, the index record is cleared and the process returns to step (2). Algorithm B is used to determine whether an inequality that cuts z out of the equation can be created.

[アルゴリズムD]
アルゴリズムCは、アルゴリズムAのステップ(2)において最初の行列による方程式が作る不等式群から切除不等式を見付けられなかったときに呼び出され、アルゴリズムCによって求められた冗長行から得られた切除不等式が、アルゴリズムAのステップ(3)において加えられる。この他、冗長行を求める方法として行列の基本変形を用いた方法が、非特許文献7で提案されている。これは、ベクトル0付近の非整数成分を含む最適解を求め、方程式Az=0を仮定して最適解を切除する方法である。これを「アルゴリズムD」と呼ぶ。
[Algorithm D]
Algorithm C is called when no ablation inequality is found from the inequality group created by the first matrix equation in step (2) of Algorithm A, and the ablation inequality obtained from the redundant row determined by algorithm C is: It is added in step (3) of algorithm A. In addition, Non-Patent Document 7 proposes a method using basic matrix transformation as a method for obtaining redundant rows. In this method, an optimal solution including a non-integer component near the vector 0 is obtained, and the optimal solution is removed assuming the equation Az = 0. This is called “algorithm D”.

(1)集合{1,2,・・・,l}の部分集合Qを数式(1−49)のように定義する。

Figure 2010278782
そして、行列AでQに含まれるインデックスの行だけを残した部分行列をAとする。 (1) A subset Q of the set {1, 2,..., L} is defined as in Expression (1-49).
Figure 2010278782
Then, leaving only the part matrix row of the index that is included in the Q in the matrix A and A Q.

(2)zの成分を大きい順に並べ替えたものを数式(1−50)とする。

Figure 2010278782
(2) Formula (1-50) is obtained by rearranging the components of z in descending order.
Figure 2010278782

(3)ステップ(2)において求めたj,j,・・・,jに対して、数式(1−51)のように置換する。

Figure 2010278782
そして、数式(1−51)の置換と対応する行列Aの行の置換を行う。行列Aの行を置換する行列Πとする。 (3) Replace j 1 , j 2 ,..., J n obtained in step (2) as shown in equation (1-51).
Figure 2010278782
Then, the row of the matrix A Q corresponding to the substitution of the mathematical formula (1-51) is substituted. And matrix Π to replace the rows of the matrix A Q.

(4)AΠに列基本変形を施して階段行列(行列の対角成分より下が全て0になる行列)を求め、これをUとする。 (4) A column matrix is applied to A Qを to obtain a staircase matrix (a matrix in which all elements below the diagonal components of the matrix are 0), and this is U.

(5)Πの逆行列Π−1を求め、UΠ−1のi番目の行ベクトルuが数式(1−52)を満たしているものを冗長行とする。

Figure 2010278782
複数のiの候補があるときは、最も小さなiと対応する冗長行を与える。 (5) An inverse matrix Π -1 of Π is obtained, and a redundant row is one in which the i-th row vector u i of U −1 -1 satisfies Equation (1-52).
Figure 2010278782
When there are a plurality of i candidates, the redundant row corresponding to the smallest i is given.

このように、アルゴリズムDは、もとの行列にアルゴリズムDによって求めた冗長行を追加して、行列を事前に拡大しておくために用いられる。   As described above, the algorithm D is used to add the redundant rows obtained by the algorithm D to the original matrix and expand the matrix in advance.

[アルゴリズムA〜Dの課題]
ところで、上記してきたアルゴリズムA〜Dには、いくつかの課題がある。
[Problems of Algorithms A to D]
By the way, the algorithms A to D described above have several problems.

第一に、アルゴリズムBでは、数式(1−40)を繰り返しチェックする必要がある。   First, in algorithm B, it is necessary to repeatedly check equation (1-40).

第二に、アルゴリズムB、アルゴリズムC、アルゴリズムDでは、GF(2)の制約式として、方程式Az=0を仮定していたが、一般の制約式Az=cでも扱えるようにする必要がある。   Secondly, in the algorithm B, the algorithm C, and the algorithm D, the equation Az = 0 is assumed as the constraint equation of GF (2), but it is necessary to be able to handle the general constraint equation Az = c.

第三に、アルゴリズムCでは冗長行を見付けることができずに動作し続ける可能性がある。また、同じ冗長行を何度も探索する可能性があり効率よく冗長行を見付けていない。   Third, algorithm C may not be able to find redundant rows and may continue to operate. Also, the same redundant row may be searched many times, and the redundant row is not found efficiently.

第四に、アルゴリズムDの階段行列への基本変形を用いた方法は、切除平面の判定が厳しすぎて冗長行が切除平面を持つことを見落とす可能性があり、効率よく冗長行を見付けていない。   Fourth, the method using the basic modification to the staircase matrix of the algorithm D may overlook that the redundant plane has the cut plane because the cut plane determination is too strict, and the redundant row is not efficiently found. .

以上の課題は、線形計画法の実行時間を悪化させるだけでなく、最終的に整数解が求まらずに符号の性能を悪化させる可能性がある。以下に説明する第一アルゴリズム及び第二アルゴリズムは、上記の従来の手法の欠点に鑑みてなされたものであり、線形計画法で整数解が求まる確率を向上させることができるという効果を奏するものである。   The above problems not only deteriorate the execution time of the linear programming method, but also possibly deteriorate the code performance without finally obtaining an integer solution. The first algorithm and the second algorithm described below have been made in view of the drawbacks of the above-described conventional methods, and have the effect of improving the probability that an integer solution can be obtained by linear programming. is there.

上記した課題を解決するための手段は、以下の二つの部分から成り立っている。   The means for solving the above-described problems is composed of the following two parts.

第一の課題を解決するために、第一アルゴリズムは、アルゴリズムBを改良し、GF(2)上の方程式Az=cから暫定解zを切除する切除不等式をより効率よく求める。   In order to solve the first problem, the first algorithm improves the algorithm B and more efficiently obtains a resection inequality that removes the provisional solution z from the equation Az = c on GF (2).

第二の課題を解決するために、GF(2)上の方程式Az=cを同値な方程式Aハットzハット=0に変形する。   In order to solve the second problem, the equation Az = c on GF (2) is transformed into the equivalent equation A hat z hat = 0.

第三の課題、あるいは第四の課題を解決するために、アルゴリズムC、あるいは、アルゴリズムDを改良し、切除する冗長行を効率よく求める。同時に、第二の課題を解決するために、一般的なGF(2)上の方程式Az=cを扱えるようにする。第二アルゴリズムがこれに該当する。   In order to solve the third problem or the fourth problem, the algorithm C or the algorithm D is improved and a redundant row to be cut out is efficiently obtained. At the same time, in order to solve the second problem, the general equation Az = c on GF (2) can be handled. The second algorithm corresponds to this.

以下、第一アルゴリズム、第二アルゴリズムを順に説明する。   Hereinafter, the first algorithm and the second algorithm will be described in order.

[第一アルゴリズム]
第一アルゴリズムでは、数式(1−36)に示す部分集合Supp(a)(aは行列Aの一つの行ベクトル)を、ベクトルzの成分zが1/2を超えるか否かに応じて、互いに素な部分集合S及びSに分類する。また、第一アルゴリズムでは、ベクトルzの成分zが1/2に最も近い一つのインデックスjを部分集合S、Sの一方から他方へ移動させることによって、ベクトルcの行列Aの行と対応する成分の値cと、|S|の偶数奇数との関係を調整する。また、第一アルゴリズムでは、暫定解を切除する切除不等式が存在するか否かを1回の不等式評価で判定する。
[First algorithm]
In the first algorithm, a subset Supp (a) shown in Formula (1-36) (a is one row vector of the matrix A) is determined depending on whether the component z j of the vector z exceeds 1/2. Classify into disjoint subsets S 0 and S 1 . In the first algorithm, one index j whose component z j of vector z is closest to ½ is moved from one of the subsets S 0 and S 1 to the other, so that the row of matrix A of vector c The relationship between the value c of the corresponding component and the even odd number of | S 1 | is adjusted. In the first algorithm, whether or not there is an excision inequality for excising the provisional solution is determined by one inequality evaluation.

具体的には、切除不等式抽出部14は、集合{1,2,・・・,n}の互いに素な部分集合S、Sを数式(1−53)に示すように設定する。

Figure 2010278782
ここで、z=1/2を満たすjを部分集合S、Sのどちらの集合に含めるようにするかは任意であるが、実施例1においては、部分集合Sに含めるものとした。 Specifically, the excision inequality extraction unit 14 sets disjoint subsets S 0 and S 1 of the set {1, 2,..., N} as shown in Expression (1-53).
Figure 2010278782
Here, it is arbitrary whether j that satisfies z j = 1/2 is included in the subset S 0 or S 1 , but in the first embodiment, it is included in the subset S 0. did.

切除不等式抽出部14は、c=0の時は|S|が偶数、c=1の時は|S|が奇数であれば、数式(1−54)を求める。

Figure 2010278782
The excision inequality extraction unit 14 obtains Expression (1-54) when | S 1 | is an even number when c = 0 and | S 1 | is an odd number when c = 1.
Figure 2010278782

そして、切除不等式抽出部14は、j´(ダッシュ)が部分集合Sに入っていれば、これを部分集合Sに移動させ、j´が部分集合Sに入っていれば、これを部分集合Sに移動させる。すなわち、移動後の部分集合S、Sは、数式(1−55)、数式(1−56)で与えられる。

Figure 2010278782
Figure 2010278782
ここで、右辺の部分集合S、Sは、移動前の部分集合S、Sである。なお、c=0かつ|S|が奇数、もしくは、c=0かつ|S|が偶数のときは、部分集合S、Sについて移動を行わない。 Then, the excision inequality extraction unit 14 moves the j ′ (dash) to the subset S 1 if it is in the subset S 0 , and moves it to the subset S 1 if j ′ is in the subset S 1. move to the subset S 0. That is, the moved subsets S 0 and S 1 are given by Expressions (1-55) and (1-56).
Figure 2010278782
Figure 2010278782
Here, the right side of the subset S 0, S 1 is the pre-movement subset S 0, S 1. When c = 0 and | S 1 | is an odd number, or c = 0 and | S 1 | is an even number, the subsets S 0 and S 1 are not moved.

そして、切除不等式抽出部14は、数式(1−57)を満たしているか否かを判定することで、切除不等式が存在するか否かを判定する。

Figure 2010278782
数式(1−57)を満たしていない場合には、暫定解を切除する切除不等式が存在し、当該不等式が切除不等式であるとして抽出する。一方、数式(1−57)を満たしている場合には、暫定解を切除する切除不等式が存在しないと判定する。 Then, the resection inequality extraction unit 14 determines whether or not the resection inequality exists by determining whether or not the mathematical expression (1-57) is satisfied.
Figure 2010278782
If the mathematical formula (1-57) is not satisfied, an excision inequality for excising the provisional solution exists, and the inequalities are extracted as excision inequalities. On the other hand, when Expression (1-57) is satisfied, it is determined that there is no excision inequality for excising the provisional solution.

この第一アルゴリズムを図4−1〜図4−3を用いて説明する。切除不等式抽出部14は、行列Aの全ての行に対して第一アルゴリズムを適用し、切除不等式が存在するか否かを判定する。   This first algorithm will be described with reference to FIGS. The resection inequality extraction unit 14 applies the first algorithm to all the rows of the matrix A, and determines whether or not the resection inequality exists.

まず、切除不等式抽出部14は、Supp(a)(aは行ベクトル)をNullに設定する(ステップS101)。ここで、行ベクトルaは、行列Aにある一つの行や冗長行、あるいは行列Aに第二アルゴリズムを適用して変形した行列A´(ダッシュ)の一つの行と対応する。ここで、a=(a,・・・,a,・・・,a)とする。 First, the excision inequality extraction unit 14 sets Supp (a) (a is a row vector) to Null (step S101). Here, the row vector a corresponds to one row or redundant row in the matrix A, or one row of the matrix A ′ (dash) transformed by applying the second algorithm to the matrix A. Here, a = (a 1 ,..., A j ,..., A n ).

次に、切除不等式抽出部14は、インデックスjに初期値1を設定し(ステップS102)、インデックスjの値がn以下であるか否かを判定する(ステップS103)。   Next, the excision inequality extraction unit 14 sets an initial value 1 to the index j (step S102), and determines whether the value of the index j is n or less (step S103).

インデックスjの値がn以下である場合(ステップS103肯定)、切除不等式抽出部14は、aの値が0であるか否かを判定する(ステップS104)。ここで、aは、行ベクトルaのj列目の要素である。 When the value of index j is n or less (Yes at Step S103), the excision inequality extraction unit 14 determines whether or not the value of a j is 0 (Step S104). Here, a j is an element in the j-th column of the row vector a.

の値が0でない場合(ステップS104否定)、切除不等式抽出部14は、インデックスjの値をSupp(a)の要素に追加してから(ステップS105)、インデックスjの値を1つ増加する(ステップS106)。一方、aの値が0である場合(ステップS104肯定)、切除不等式抽出部14は、インデックスjの値をSupp(a)の要素に追加することなく、そのままインデックスjの値を1つ増加する(ステップS106)。 If the value of a j is not 0 (No at Step S104), the excision inequality extraction unit 14 adds the value of Index j to the element of Supp (a) (Step S105), and then increases the value of Index j by one. (Step S106). On the other hand, if the value of a j is 0 (Yes at step S104), the excision inequality extraction unit 14 increases the value of index j by one without adding the value of index j to the element of Supp (a). (Step S106).

切除不等式抽出部14は、インデックスjの値を1つ増加した後(ステップS106)、再び、ステップS103に戻り、インデックスjの値がn以下であるか否かを判定する。すなわち、切除不等式抽出部14は、インデックスjの値がnを上回るまで、ステップS103〜ステップS106の処理を繰り返す。   The excision inequality extraction unit 14 increases the value of the index j by one (step S106), and then returns to step S103 again to determine whether the value of the index j is n or less. That is, the excision inequality extraction unit 14 repeats the processing from step S103 to step S106 until the value of the index j exceeds n.

さて、ステップS103においてインデックスjの値がnを上回ると(ステップS103否定)、切除不等式抽出部14は、続いて、ベクトルzの成分zが1/2を超えるか否かに応じて、互いに素な部分集合S及びSに分類する。 Now, when the value of the index j exceeds n in Step S103 (No in Step S103), the excision inequality extraction unit 14 continues with each other depending on whether or not the component z j of the vector z exceeds 1/2. Classify into prime subsets S 0 and S 1 .

具体的には、図4−2に示すように、切除不等式抽出部14は、インデックスjに初期値1を設定し、インデックスj´(ダッシュ)に初期値1を設定し(ステップS107)、インデックスjの値がn以下であるか否かを判定する(ステップS108)。   Specifically, as shown in FIG. 4B, the excision inequality extraction unit 14 sets an initial value 1 to the index j, sets an initial value 1 to the index j ′ (dash) (step S107), and sets the index It is determined whether or not the value of j is n or less (step S108).

インデックスjの値がn以下である場合(ステップS108肯定)、切除不等式抽出部14は、インデックスjがSupp(a)の要素であるか否かを判定する(ステップS109)。   When the value of the index j is n or less (Yes at Step S108), the excision inequality extraction unit 14 determines whether or not the index j is an element of Supp (a) (Step S109).

インデックスjがSupp(a)の要素である場合(ステップS109肯定)、切除不等式抽出部14は、zの値が0.5以下であるか否かを判定し(ステップS110)、zの値が0以上0.5以下である場合には(ステップS110肯定)、インデックスjを部分集合Sの要素とする(ステップS111)。一方、zの値が0以上0.5以下でない場合には(ステップS110否定)、切除不等式抽出部14は、インデックスjを部分集合Sの要素とする(ステップS112)。 If the index j is an element of Supp (a) (step S109: Yes), the cut inequality extraction unit 14, the value of z j is equal to or more than 0.5 (step S110), the z j If the value is 0 or more and 0.5 or less (step S110: Yes), the index j is an element of the subset S 0 (step S111). On the other hand, when the value of z j is not 0 or more and 0.5 or less (No at Step S110), the excision inequality extraction unit 14 sets the index j as an element of the subset S 1 (Step S112).

続いて、切除不等式抽出部14は、zがzj´(ダッシュ)よりも0.5に近いか否かを判定する(ステップS113)。近い場合には(ステップS113肯定)、切除不等式抽出部14は、j´の値をインデックスjの値に置き換えた後(ステップS114)、インデックスjの値を1つ増加する(ステップS115)。一方、近くない場合には(ステップS113否定)、切除不等式抽出部14は、j´の値をインデックスjの値に置き換えることなく、インデックスjの値を1つ増加する(ステップS115)。 Subsequently, the excision inequality extraction unit 14 determines whether z j is closer to 0.5 than z j (dash) (step S113). If they are close (Yes at step S113), the excision inequality extraction unit 14 replaces the value of j ′ with the value of index j (step S114), and then increases the value of index j by one (step S115). On the other hand, if it is not close (No at Step S113), the excision inequality extraction unit 14 increases the value of the index j by 1 without replacing the value of j ′ with the value of the index j (Step S115).

切除不等式抽出部14は、インデックスjの値を1つ増加した後(ステップS115)、再び、ステップS108に戻り、インデックスjの値がn以下であるか否かを判定する。すなわち、切除不等式抽出部14は、インデックスjの値がnを上回るまで、ステップS108〜ステップS115の処理を繰り返す。   The excision inequality extraction unit 14 increases the value of the index j by 1 (step S115), and then returns to step S108 again to determine whether the value of the index j is n or less. That is, the excision inequality extraction unit 14 repeats the processing from step S108 to step S115 until the value of the index j exceeds n.

さて、ステップS108においてインデックスjの値がnを上回ると(ステップS108否定)、切除不等式抽出部14は、続いて、ベクトルzの成分zが1/2に最も近い一つのインデックスjを部分集合S、Sの一方から他方へ移動させることによって、ベクトルcの成分cの値と、|S|の偶数奇数との関係を調整する。 When the value of the index j exceeds n in Step S108 (No in Step S108), the excision inequality extracting unit 14 subsequently sub-sets one index j whose component z j of the vector z is closest to 1/2. By moving from one of S 0 and S 1 to the other, the relationship between the value of the component c of the vector c and the even and odd numbers of | S 1 | is adjusted.

具体的には、図4−3に示すように、切除不等式抽出部14は、条件Aを満たすか否かを判定する(ステップS116)。   Specifically, as shown in FIG. 4C, the excision inequality extraction unit 14 determines whether or not the condition A is satisfied (step S116).

ここで、条件Aとは、(イ)cの値が0であり、かつSに含まれる要素の数が偶数である、という条件であり、(ロ)cの値が1であり、かつSに含まれる要素の数が奇数である、という条件である。また、cは、行ベクトルaが行列Aのi番目の行の場合は、cを使用する。また、行ベクトルaが冗長行の場合は、記憶部にある対応するcを使用する。また、行ベクトルaが行列Aに第二アルゴリズムを適用した新たな行列A´(ダッシュ)のi番目の行ならば、対応するc´を使用する。なお、図2では、対応するcの値を含めて冗長行と呼んでいる。すなわち、切除不等式抽出部14は、(イ)、(ロ)のいずれかの条件を満たすか否かを判定する。 Here, the condition A is a condition that (b) the value of c is 0 and the number of elements included in S 1 is an even number, (b) the value of c is 1, and the number of elements in S 1 is an odd number, with the proviso that. Also, c uses c i when the row vector a is the i-th row of the matrix A. When the row vector a is a redundant row, the corresponding c in the storage unit is used. If the row vector a is the i-th row of a new matrix A ′ (dash) obtained by applying the second algorithm to the matrix A, the corresponding c ′ i is used. In FIG. 2, the corresponding value of c is referred to as a redundant row. That is, the excision inequality extraction unit 14 determines whether or not either of the conditions (a) and (b) is satisfied.

条件Aを満たすと判定した場合には(ステップS116肯定)、切除不等式抽出部14は、j´(ダッシュ)が部分集合Sに含まれる場合にはj´を部分集合Sに移動し、j´が部分集合Sに含まれる場合にはj´を部分集合Sに移動する(ステップS117)。一方、条件Aを満たさないと判定した場合には(ステップS116否定)、切除不等式抽出部14は、ステップS117の処理を行わない。 When it is determined that the condition A is satisfied (Yes at Step S116), the excision inequality extraction unit 14 moves j ′ to the subset S 1 when j ′ (dash) is included in the subset S 0 . j'is when included in the subset S 1 to move the j'to the subset S 0 (step S117). On the other hand, when it is determined that the condition A is not satisfied (No at Step S116), the excision inequality extraction unit 14 does not perform the process at Step S117.

次に、切除不等式抽出部14は、数式(1−57)を満たすか否かを判定する(ステップS118)。すなわち、切除不等式抽出部14は、数式(1−57)の不等式が真であるか否かを判定する。   Next, the excision inequality extraction unit 14 determines whether or not Expression (1-57) is satisfied (step S118). That is, the excision inequality extraction unit 14 determines whether or not the inequality of the mathematical formula (1-57) is true.

そして、真でないと判定した場合には(ステップS118否定)、切除不等式抽出部14は、暫定解を切除する切除不等式が存在し、真でないと判定した当該不等式が切除不等式であるとして、第一アルゴリズムの処理を終了する(ステップS119)。一方、真であると判定した場合には(ステップS118否定)、切除不等式抽出部14は、この行は、暫定解を切除する切除不等式を持たないとして、第一アルゴリズムを終了する(ステップS120)。   If it is determined that the result is not true (No at step S118), the excision inequality extraction unit 14 determines that there is an excision inequality that excises the provisional solution, and that the inequality determined to be true is the excision inequality. The algorithm processing is terminated (step S119). On the other hand, if it is determined to be true (No at step S118), the excision inequality extraction unit 14 determines that this line does not have an excision inequality that excises the provisional solution, and ends the first algorithm (step S120). .

[アルゴリズムB´]
続いて、第二の課題を解決するための方法として、GF(2)上の方程式Az=cを方程式Aハットzハット=0に変形する方法について説明する。
[Algorithm B ′]
Subsequently, as a method for solving the second problem, a method of transforming the equation Az = c on GF (2) into the equation A hat z hat = 0 will be described.

GF(2)上の方程式Az=cが、数式(1−58)のように表されるとき、

Figure 2010278782
これと同値な2つの方程式である数式(1−59)、数式(1−60)のように書き改めることができる。これを、Aハットzハット=0、zn+1=1とする。ここで(−)(丸の中にマイナス)はGF(2)の減法を表す。
Figure 2010278782
Figure 2010278782
When the equation Az = c on GF (2) is expressed as Equation (1-58),
Figure 2010278782
It can be rewritten as the following equations (1-59) and (1-60) which are two equations equivalent to this. This is A hat z hat = 0 and z n + 1 = 1. Here, (-) (minus in a circle) represents subtraction of GF (2).
Figure 2010278782
Figure 2010278782

したがって、変数ベクトルをzの次元から一つ増やしたzハットとして、制約条件を数式(1−61)として線形計画問題を適用することができる。ここで、目的関数f(z)には、変数zn+1は登場しない。

Figure 2010278782
Therefore, the linear programming problem can be applied using the variable vector as a z-hat obtained by incrementing the dimension of z by one, and the constraint condition as the mathematical formula (1-61). Here, the variable z n + 1 does not appear in the objective function f (z).
Figure 2010278782

ところで、このような変形を加えた上でアルゴリズムBを適用することは、アルゴリズムBのステップ(2)を以下のものに置き換えることと等価である。   By the way, applying algorithm B with such a modification is equivalent to replacing step (2) of algorithm B with the following.

(2´)c=1ならv=0としてS(0)を空集合、c=0ならv=1としてS(1)をzが最大となるjだけからなる集合とする。最大となるjは、ステップ(1)で求めた並び替えを利用する。このような置き換えを行ったものをアルゴリズムB´とする。 (2 ′) If c i = 1, v = 0 and S (0) is an empty set, and if c i = 0, v = 1 and S (1) is a set consisting only of j that maximizes z j . The maximum j uses the rearrangement obtained in step (1). An algorithm B ′ is obtained after such replacement.

[第二アルゴリズム]
さて、第二アルゴリズムでは、行列Aに基本変形を施して、ベクトルzの成分で|z−1/2|の値の小さいインデックスjに対応する行列の行の成分を、できる限り0にできるようにする。
[Second algorithm]
In the second algorithm, the matrix A is subjected to basic transformation so that the row component of the matrix corresponding to the index j having a small value of | z j −1/2 | Like that.

この第二アルゴリズムを図5−1〜図5−3を用いて説明する。行列Aが、数式(1−62)で与えられ、ベクトルcが、数式(1−63)で与えられている時、切除不等式抽出部14は、行列A´(ダッシュ)を数式(1−64)とする。

Figure 2010278782
Figure 2010278782
Figure 2010278782
This second algorithm will be described with reference to FIGS. When the matrix A is given by Expression (1-62) and the vector c is given by Expression (1-63), the excision inequality extraction unit 14 converts the matrix A ′ (dash) into Expression (1-64). ).
Figure 2010278782
Figure 2010278782
Figure 2010278782

すなわち、切除不等式抽出部14は、図5−1に示すように、行列A´を作成する(ステップS201)。   That is, the excision inequality extraction unit 14 creates a matrix A ′ as shown in FIG. 5A (step S201).

次に、切除不等式抽出部14は、ベクトルzのインデックスjを|z−1/2|の値が小さい順に並べ替えたインデックスjの配列を求める(ステップS202)。なお、複数のインデックスjの値が同じ順位ならば、例えばインデックスjが小さい順に並べるといった順序付けを行う。 Next, the excision inequality extraction unit 14 obtains an array of the index j in which the index j of the vector z is rearranged in ascending order of the value of | z j −1/2 | (step S202). If the values of the plurality of indexes j are the same order, for example, the ordering is performed such that the indices j are arranged in ascending order.

続いて、切除不等式抽出部14は、kに初期値1を設定し(ステップS203)、iに初期値1を設定し(ステップS204)、iの値がl以下であるか否かを判定する(ステップS205)。   Subsequently, the excision inequality extraction unit 14 sets an initial value 1 to k (step S203), sets an initial value 1 to i (step S204), and determines whether or not the value of i is 1 or less. (Step S205).

iの値がl以下である場合には(ステップS205肯定)、切除不等式抽出部14は、行列Aの要素ai,jk(kはjの添え字)が0であるか否かを判定する(ステップS206)。0である場合には(ステップS206肯定)、切除不等式抽出部14は、iの値を1つ増加して(ステップS207)、ステップS205の処理に戻る。 When the value of i is less than or equal to 1 (Yes at Step S205), the excision inequality extraction unit 14 determines whether or not the element a i, jk (k is a subscript of j) of the matrix A is 0. (Step S206). When it is 0 (Yes at Step S206), the excision inequality extraction unit 14 increases the value of i by 1 (Step S207), and returns to the process at Step S205.

行列Aの要素ai,jkが全て0である場合には、ステップS206において常に肯定に判定され、その後、ステップS205においてiの値がlの値を上回る(ステップS205否定)。 When all the elements a i, jk of the matrix A are 0, the determination is always positive in step S206, and then the value of i exceeds the value of l in step S205 (No in step S205).

すると、切除不等式抽出部14は、kの値がl以下であるか否かを判定し(ステップS208)、l以下である場合には(ステップS208肯定)、kの値を1つ増加して(ステップS210)、再び、ステップS204の処理に戻る。   Then, the excision inequality extraction unit 14 determines whether or not the value of k is 1 or less (step S208). If it is 1 or less (Yes in step S208), the value of k is increased by one. (Step S210), the process returns to Step S204 again.

一方、kの値がlの値を上回る場合には(ステップS208否定)、切除不等式抽出部14は、行列A´のn+1列目をベクトルc´(ダッシュ)として分離して、第二アルゴリズムを終了する(ステップS209)。   On the other hand, when the value of k exceeds the value of l (No at Step S208), the excision inequality extraction unit 14 separates the n + 1 column of the matrix A ′ as a vector c ′ (dash), and the second algorithm is The process ends (step S209).

さて、ステップS206において、行列Aの要素ai,jkが0でない場合には(ステップS206否定)、切除不等式抽出部14は、行列A´に対して行基本変形を施してi´行目の要素ai,jkの値を全て0にする。 In step S206, if the element a i, jk of the matrix A is not 0 (No in step S206), the excision inequality extracting unit 14 performs row basic transformation on the matrix A ′ and performs the i′-th row. All the values of the elements a i, jk are set to 0.

すなわち、図5−3に示すように、切除不等式抽出部14は、i´に初期値1を設定し(ステップS211)、i´の値がl以下であるか否かを判定する(ステップS212)。   That is, as shown in FIG. 5C, the excision inequality extraction unit 14 sets an initial value 1 to i ′ (step S211), and determines whether the value of i ′ is 1 or less (step S212). ).

i´の値がl以下である場合(ステップS212肯定)、切除不等式抽出部14は、i´がiでないことを判定し(ステップS213)、i´がiでない場合には(ステップS213肯定)、行列Aの要素ai,jkが0でないか否かを判定する(ステップS214)。 When the value of i ′ is 1 or less (Yes at Step S212), the excision inequality extraction unit 14 determines that i ′ is not i (Step S213), and when i ′ is not i (Yes at Step S213). Then, it is determined whether or not the elements a i, jk of the matrix A are not 0 (step S214).

行列Aの要素ai,jkが0でない場合には(ステップS214肯定)、切除不等式抽出部14は、ベクトル(ai´,1、ai´,2、・・・、ai´,n、ci´)に、ベクトル(ai,1、ai,2、・・・、ai,n、c)をai´,jk/ai´,jk倍(kはjの添え字)して引いたものを新たにベクトル(ai´,1、ai´,2、・・・、ai´,n、ci´)と定める(ステップS215)。この結果、行列Aの要素ai,jkは0となる。 If the element a i, jk of the matrix A is not 0 (Yes at Step S214), the excision inequality extraction unit 14 determines that the vector (a i ′, 1 , a i ′, 2 ,..., A i ′, n , C i ′ ) and a vector (a i, 1 , a i, 2 ,..., A i, n , c i ) are multiplied by a i ′, jk / a i ′, jk (k is j appended) A new vector (a i ′, 1 , a i ′, 2 ,..., A i ′, n , c i ′ ) is determined (step S215). As a result, the elements a i, jk of the matrix A become 0.

そして、切除不等式抽出部14は、i´の値を1つ増加し(ステップS216)、図5−3に示すステップS212の処理に戻る。なお、ステップS212において、i´の値がlを上回ると(ステップS212否定)、図5−3及び図5−2に示すように、切除不等式抽出部14は、ステップS208の処理に戻る。   Then, the excision inequality extraction unit 14 increases the value of i ′ by one (step S216), and returns to the process of step S212 illustrated in FIG. In step S212, when the value of i ′ exceeds 1 (No in step S212), the excision inequality extraction unit 14 returns to the process of step S208 as shown in FIGS. 5-3 and 5-2.

なお、目的関数の値が整数値になることが事前に分っており、最適化問題が最小化問題である場合は、暫定的な最適解z´が求まった後に、数式(1−65)がz´を切除する。したがって、実施例1において、Ineq(k+1)を求めるときに、この制約式を加えることができる。ここで、右辺は、f(z´)の小数部分を切り上げた整数である。

Figure 2010278782
If it is known in advance that the value of the objective function is an integer value, and the optimization problem is a minimization problem, the mathematical expression (1-65) is obtained after the provisional optimal solution z ′ is obtained. Excise z ′. Therefore, in Example 1, this constraint equation can be added when obtaining Ineq (k + 1). Here, the right side is an integer obtained by rounding up the decimal part of f (z ′).
Figure 2010278782

同様に、最適化問題が最大化問題であり、目的関数の値が整数値になることが事前に分かっている場合は、暫定的な最適解にz´が求まった後で、数式(1−66)を制約式に加えることができる。ここで、右辺は、f(z´)の小数部分を切り捨てた整数である。

Figure 2010278782
Similarly, when it is known in advance that the optimization problem is a maximization problem and the value of the objective function becomes an integer value, after z ′ is obtained as a provisional optimal solution, 66) can be added to the constraint equation. Here, the right side is an integer obtained by discarding the decimal part of f (z ′).
Figure 2010278782

[実施例1の効果]
上記してきたように、実施例1に係る推定装置は、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化する推定装置である。また、推定装置は、0以上かつ1以下であることを示す制約不等式の集合を初期の制約条件として、また、暫定的な最適解zを切除する切除不等式が抽出された場合には当該切除不等式を追加した制約不等式の集合を新たな制約条件として、暫定解zを算出する。また、推定装置は、線形方程式の係数である行列の各行ごとに、行列の要素が0でない列を示すインデックスjの集合を作成し、当該インデックスjの集合を、当該インデックスjに対応する暫定解zと1との距離が0との距離を上回る場合には第一集合Sに、暫定解zと1との距離が0との距離を下回る場合には第二集合Sにそれぞれ分類する。また、推定装置は、線形方程式の切片が0である場合には第二集合Sに分類されたインデックスjの数が奇数となるように、また、線形方程式の切片が1である場合には第二集合Sに分類されたインデックスjの数が偶数となるように、分類された第一集合S及び第二集合Sを調整する。そして、推定装置は、調整された結果、第二集合Sに属することとなったインデックスjに対応する暫定解z全てについて1との距離を加算した加算値と、第一集合Sに属することとなったインデックスjに対応する暫定解z全てについて0との距離を加算した加算値との総和が、1以上となるか否かを判定する。推定装置は、判定された結果、1以上とならないと判定した場合に、判定に用いた不等式を切除不等式として抽出する。そして、推定装置は、抽出された切除不等式を制約不等式の集合に追加する。
[Effect of Example 1]
As described above, the estimation apparatus according to the first embodiment is an estimation apparatus that optimizes an objective function using a linear equation as a constraint on a binary finite field of 0 and 1. In addition, the estimation device uses a set of constraint inequalities indicating that they are greater than or equal to 0 and less than 1 as initial constraints, and if an ablation inequality that excises the provisional optimal solution z j is extracted, The provisional solution z j is calculated using a set of constraint inequalities to which the inequalities are added as a new constraint condition. Further, the estimation device creates a set of indexes j indicating columns in which the elements of the matrix are not 0 for each row of the matrix that is a coefficient of the linear equation, and sets the set of indexes j as a provisional solution corresponding to the index j. When the distance between z j and 1 is greater than the distance with 0 , the first set S 0 is obtained. When the distance between the provisional solution z j and 1 is less than 0, the second set S 1 is obtained. Classify. In addition, the estimation apparatus is configured such that when the intercept of the linear equation is 0, the number of indices j classified into the second set S 1 is an odd number, and when the intercept of the linear equation is 1. The classified first set S 0 and second set S 1 are adjusted so that the number of indexes j classified into the second set S 1 is an even number. Then, as a result of the adjustment, the estimation device adds an added value obtained by adding the distances to 1 to all the provisional solutions z j corresponding to the index j that belongs to the second set S 1 , and the first set S 0 . It is determined whether or not the sum of the provisional solution z j corresponding to the index j to which it belongs belongs to the added value obtained by adding the distance to 0 is 1 or more. When it is determined that the result of the determination is not 1 or more, the estimation device extracts the inequality used for the determination as a resection inequality. Then, the estimation device adds the extracted excision inequality to the set of constraint inequality.

また、実施例1に係る推定装置は、切除不等式が抽出されない場合に、行列を、0と1との間の中央値である1/2と暫定解zとの距離が小さいインデックスjに対応する行列の行の成分を0にするように変形する。また、推定装置は、変形後の行列の各行ごとに、インデックスjの集合を第一集合S及び第二集合Sにそれぞれ分類する。 Further, the estimation apparatus according to the first embodiment corresponds to the index j in which the distance between the median between 0 and 1 and the provisional solution z j is small when the excision inequality is not extracted. To change the row component of the matrix to zero. Further, the estimation device classifies the set of indexes j into a first set S 0 and a second set S 1 for each row of the transformed matrix.

このようなことから、実施例1に係る推定装置によれば、計算時間を短縮することが可能になる。すなわち、実施例1に係る推定装置は、暫定解zを切除する不等式が存在するかどうかを一度の不等式判定(数式(1−57)による判定)だけで行うことができる。また、同時に、暫定解zを切除する不等式が存在する時には、その不等式を与えることができる。 For this reason, the estimation apparatus according to the first embodiment can reduce the calculation time. That is, the estimation apparatus according to the first embodiment can determine whether or not there is an inequality that cuts the provisional solution z j by only one inequality determination (determination based on Expression (1-57)). At the same time, when there is an inequality that cuts the provisional solution z j , the inequality can be given.

この時、実施例1に係る推定装置は、アルゴリズムBのようにzの成分の値の大きい順にインデックスjをソートする必要はなく、zが1/2より大きいか小さいか、また1/2に最も近いかどうかだけを最初に求めておけばよい。これらは、O(n)の計算時間で実行することができる。不等式の判定もO(n)の計算時間で行うことができるので、結局、最終的な計算時間はO(n)であり、第一アルゴリズムはアルゴリズムBよりも計算時間に優れている。また、第一アルゴリズムでは、方程式a・z=cからzを切除する不等式が構成できるにもかかわらず、構成できないと判定して停止してしまうことはない。すなわち、方程式a・z=cからzを切除する不等式がみつけられるときは必ず、第一アルゴリズムはその不等式の一つを出力して終了する。 At this time, the estimation apparatus according to the first embodiment does not need to sort the index j in descending order of the value of the component of z j as in algorithm B, and whether z j is larger or smaller than 1/2, You only need to ask first if it is closest to 2. These can be performed with a computation time of O (n). Since the determination of the inequality can also be performed with the calculation time of O (n), the final calculation time is O (n) after all, and the first algorithm is superior to the algorithm B in calculation time. In addition, in the first algorithm, although an inequality that cuts z out of the equation a · z = c can be constructed, it is determined that the inequality cannot be constructed, and it does not stop. That is, whenever an inequality that cuts z out of the equation a · z = c is found, the first algorithm outputs one of the inequalities and ends.

ここで、zが1/2より大きいか小さいかを求める点についてさらに説明すると、実施例1に係る推定装置は、数式(1−57)による判定を行うことで、暫定解zを切除する不等式が存在するかどうかを一度の不等式判定で行うことができるわけであるが、この場合、左辺をできる限り小さい値とすることに意味がある。すなわち、左辺の値をできるだけ小さい値としておけば、それ以上小さいものはないということで、一度の不等式判定で済むのである。 Here, the point for obtaining whether z j is larger or smaller than 1/2 will be further described. The estimation apparatus according to the first embodiment cuts the provisional solution z j by performing the determination according to Expression (1-57). Whether or not there is an inequality can be determined by one inequality determination. In this case, it is meaningful to make the left side as small as possible. In other words, if the value on the left side is set as small as possible, there is no smaller value, and one inequality determination is sufficient.

そこで推定装置は、左辺をできるだけ小さい値とするために、zが1/2より大きいか小さいかを求めるのである。左辺をみるとわかるように、左辺第一項は、第二集合Sに属することとなったインデックスjに対応する暫定解z全てについて1との距離を加算した加算値である。また、第二項は、第一集合Sに属することとなったインデックスjに対応する暫定解z全てについて0との距離を加算した加算値である。言い換えると、第二集合Sに、予め1に近い値をもつインデックスjを分類しておき、第一集合Sに、予め0に近い値を持つインデックスjを分類しておけば、左辺全体として最も小さい値となることがわかる。実施例1に係る推定装置は、この点を利用するものである。 Therefore, the estimation device determines whether z j is larger or smaller than 1/2 in order to make the left side as small as possible. As can be seen from the left side, the first term on the left side is an added value obtained by adding the distances to 1 for all the provisional solutions z j corresponding to the index j belonging to the second set S 1 . The second term is an added value obtained by adding the distances to 0 for all the provisional solutions z j corresponding to the index j belonging to the first set S 0 . In other words, if the index j having a value close to 1 is classified in the second set S 1 in advance, and the index j having a value close to 0 is classified in the first set S 0 in advance, the entire left side As can be seen from FIG. The estimation apparatus according to the first embodiment uses this point.

また、実施例1に係る推定装置によれば、GF(2)上の方程式Az=cを同値な方程式Aハットzハット=0に変形することで、より一般的な方程式Az=cを制約式として設定することができるようになり、より多くの最適化問題を扱えるようになる。また、計算時間が大幅に削減できると同時に、符号の性能も大幅に向上させることができる。また、効率良く切除平面を求め、符号化効率を向上させることができる。   Further, according to the estimation apparatus according to the first embodiment, the equation Az = c on GF (2) is transformed into the equivalent equation A hat z hat = 0, whereby the more general equation Az = c is expressed as a constraint equation. Can be set as, and more optimization problems can be handled. In addition, the calculation time can be greatly reduced, and at the same time, the code performance can be greatly improved. In addition, the cutting plane can be obtained efficiently and the coding efficiency can be improved.

実施例2に係る推定装置は、実施例1に係る推定装置による手法に加え、暫定的な最適解を切除できる冗長行を加える手法を用いる。以下、まず、図6を用いて実施例2に係る推定装置10の構成を説明し、次に、図7を用いて実施例1に係る推定装置10における処理手順を説明する。   The estimation apparatus according to the second embodiment uses a technique of adding redundant rows that can remove a provisional optimum solution in addition to the technique of the estimation apparatus according to the first embodiment. Hereinafter, first, the configuration of the estimation apparatus 10 according to the second embodiment will be described with reference to FIG. 6, and then the processing procedure in the estimation apparatus 10 according to the first embodiment will be described with reference to FIG.

[実施例2に係る推定装置10の構成]
図6は、実施例2に係る推定装置10の構成を示すブロック図である。実施例2に係る推定装置10は、図6に示すように、切除不等式抽出部と記憶部との間で、切除冗長行の送受信が行われる点で実施例1と異なる。すなわち、実施例1では、推定装置10は、記憶部に切除冗長行を記憶する必要がなかったが、実施例2では、これを記憶するものである。
[Configuration of Estimation Device 10 According to Second Embodiment]
FIG. 6 is a block diagram illustrating the configuration of the estimation apparatus 10 according to the second embodiment. As shown in FIG. 6, the estimation apparatus 10 according to the second embodiment is different from the first embodiment in that excision redundant rows are transmitted and received between the excision inequality extraction unit and the storage unit. That is, in the first embodiment, the estimation device 10 does not need to store the cut redundant row in the storage unit, but in the second embodiment, stores this.

[実施例2に係る推定装置10による処理手順]
次に、実施例2に係る推定装置10における処理手順を説明する。図7に示すように、実施例2に係る推定装置10は、ステップS6において、必要に応じて切除冗長行も記録し、ステップS4において、行列Aの冗長行に対しても第一アルゴリズムを適用する点が、実施例1に係る推定装置10と異なる。図7は、実施例2に係る推定装置10における処理手順を示すフローチャートである。
[Processing Procedure by Estimating Device 10 According to Second Embodiment]
Next, a processing procedure in the estimation apparatus 10 according to the second embodiment will be described. As illustrated in FIG. 7, the estimation apparatus 10 according to the second embodiment also records a cut redundant row as necessary in step S <b> 6 and applies the first algorithm to the redundant row of the matrix A in step S <b> 4. This is different from the estimation apparatus 10 according to the first embodiment. FIG. 7 is a flowchart illustrating a processing procedure in the estimation apparatus 10 according to the second embodiment.

具体的には、実施例2に係る推定装置10では、以下のような処理手順となる。   Specifically, the estimation apparatus 10 according to the second embodiment has the following processing procedure.

(1)k=0、k=0とする。初期の不等式の集合(数式(1−39))のみを制約式として、線形計画法により暫定的な最適解を求める。初期の行列をAとする。 (1) k 1 = 0 and k 2 = 0. A temporary optimal solution is obtained by linear programming using only the initial set of inequalities (formula (1-39)) as a constraint equation. Let A 0 be the initial matrix.

(2)Ineq(k)にある不等式の中で、暫定的な最適解が等式として満たしている不等式を残して、他の不等式を削除したものを、Ineq(k+1)とする。そして、kの値を1増やす。なお、ステップ(2)の処理は、図7のステップS3とステップS4との間で実行される。 (2) Among the inequalities in Ineq (k 1 ), leaving the inequalities that the provisional optimal solution satisfies as equalities and deleting the other inequalities will be referred to as Ineq (k 1 +1). Then, the value of k 1 is increased by one. The process of step (2) is executed between step S3 and step S4 of FIG.

(3)行列Ak2の全ての行に対して第一アルゴリズムを適用して、暫定的な最適解を切除する不等式を一つ以上Ineq(Ak2z=c)から探す。 (3) The first algorithm is applied to all the rows of the matrix A k2 and one or more inequalities for cutting out the provisional optimal solution are searched from Ineq (A k2 z = c).

(4)ステップ(3)で暫定的な最適解を切除する不等式がみつかれば、その不等式をIneq(k)に追加したものをIneq(k+1)とする。Ineq(k+1)を制約式とした線形計画法により最適解を求め、これを新たな暫定的な最適解とする。そして、kの値を1増やしてステップ(2)に戻る。 (4) If an inequality that cuts the provisional optimum solution is found in step (3), the inequality added to Ineq (k 1 ) is set to Ineq (k 1 +1). An optimal solution is obtained by linear programming using Ineq (k 1 +1) as a constraint equation, and this is set as a new provisional optimal solution. Then, the value of k 1 Increase 1 returns to step (2).

(5)もしも不等式を発見できず、かつ暫定的な最適解の成分が全て整数だった場合はこれを最適解として終了する。 (5) If the inequality cannot be found and all the components of the provisional optimal solution are integers, this is ended as the optimal solution.

(6)もしも不等式を発見できず、かつ暫定的な最適解に非整数の成分を含んでいる場合は、初期の行列Aに第二アルゴリズムを適用して、暫定的な最適解を切除する冗長行を求める。もしも見付かれば、その冗長行を行列Ak2に追加した新たな行列をAk2+1とする。そしてkの値を1増やしてステップ(2)へ戻る。見付からなければ、非整数成分を含む暫定的な最適解を最適解として終了する。 (6) If the inequality cannot be found and the provisional optimal solution includes a non-integer component, the provisional optimal solution is removed by applying the second algorithm to the initial matrix A 0 . Find redundant rows. If found, a new matrix obtained by adding the redundant row to the matrix A k2 is defined as A k2 + 1 . And the value of k 2 is increased 1 returns to the step (2). If not found, the provisional optimal solution including non-integer components is terminated as the optimal solution.

ここで、ステップ(2)は、線形計画法を適用する制約不等式の数を抑える効果がある。これによって線形計画法が必要とするメモリの大きさを削減できる効果がある一方で、符号の実行時間が増える可能性もあるので、ステップ(2)では何も実行せずに次のステップに移っても構わない。   Here, step (2) has an effect of suppressing the number of constraint inequalities to which linear programming is applied. While this has the effect of reducing the amount of memory required for linear programming, it may also increase the code execution time, so step (2) does not execute anything and moves to the next step. It doesn't matter.

さて、これまで実施例1及び実施例2として、2元の有限体GF(2)上において線形方程式Az=cを制約条件として関数f(z)を最適化する推定装置を説明してきた。また、実施例1において、本発明を適用可能な最適化問題として、加法的雑音を伴う通信路符号を説明した。続いて、実施例3以降では、符号器及び復号器に本発明を適用した実施例を説明する。   So far, the estimation apparatus that optimizes the function f (z) using the linear equation Az = c as a constraint on the binary finite field GF (2) has been described as the first and second embodiments. In the first embodiment, a channel code with additive noise has been described as an optimization problem to which the present invention can be applied. Subsequently, in the third and subsequent embodiments, embodiments in which the present invention is applied to an encoder and a decoder will be described.

ここで、図8に示すように、本発明は、様々な最適化問題に適用することが可能である。図8は、符号化、復号化に現れる最適化問題を示す図である。制約式Az=c、Bz=mは、AとBを縦に連結した一つの行列を考えれば、一つの制約式で表現できる。探索問題では、探索の成功を1、失敗を0とした目的関数の最大化を考える。以下では、まず、実施例3として、固定長無歪み符号における符号器及び復号器に本発明を適用した実施例を説明する。   Here, as shown in FIG. 8, the present invention can be applied to various optimization problems. FIG. 8 is a diagram illustrating an optimization problem that appears in encoding and decoding. The constraint expressions Az = c and Bz = m can be expressed by one constraint expression when one matrix in which A and B are vertically connected is considered. In the search problem, maximization of the objective function is considered with the success of search being 1 and the failure being 0. In the following, an embodiment in which the present invention is applied to an encoder and a decoder in a fixed-length undistorted code will be described as a third embodiment.

以下、行列やベクトルの要素は、{0,1}に属しているものとする。また、| ・ |は、集合の個数を表すものとし、H(z)、H(z|y)を、数式(2−1)及び数式(2−2)のように定義する。

Figure 2010278782
Figure 2010278782
In the following, it is assumed that the matrix and vector elements belong to {0, 1}. Also, | · | represents the number of sets, and H (z) and H (z | y) are defined as Equations (2-1) and (2-2).
Figure 2010278782
Figure 2010278782

固定長無歪み符号における符号器及び復号器は、図9で与えられる。図9は、固定長無歪み符号における符号器及び復号器を説明するための図である。   The encoder and decoder in the fixed length distortionless code are given in FIG. FIG. 9 is a diagram for explaining an encoder and a decoder in a fixed-length distortionless code.

符号器及び復号器は、予め適切なl×n行列Aを共有しておく。符号器は、ベクトルzで表現されたn次元の情報に行列Aを作用させて、l次元のベクトルc=Azを求め、これを送信もしくはメモリ等に蓄える。一方、復号器は、受信もしくはメモリ等の情報から読みとったベクトルcから、確率分布μが既知の時には、数式(2−3)で定義される最適化問題を解くことによって、元の情報zの復元を試みる。

Figure 2010278782
ここで、gの右辺の実現に、本発明を適用することができる。 The encoder and the decoder share an appropriate l × n matrix A in advance. The encoder operates the matrix A on the n-dimensional information expressed by the vector z to obtain the l-dimensional vector c = Az and transmits it or stores it in a memory or the like. Meanwhile, the decoder, the vector c is read from the information such as the reception or memory, when the probability distribution mu Z is known, by solving the optimization problem defined by the equation (2-3), original information z Try to restore.
Figure 2010278782
Here, the realization of the right side of g A, it is possible to apply the present invention.

確率分布μが未知の時には、数式(2−4)、数式(2−5)、数式(2−6)で定義される最適化問題を解くことによって、元の情報zの復元を試みる。

Figure 2010278782
Figure 2010278782
Figure 2010278782
ここで、数式(2−4)、数式(2−5)で定義される目的関数は、実数の和を考える。この場合も、数式(2−4)、数式(2−5)で定義される目的関数に、本発明を適用することができる。 When the probability distribution mu Z is unknown, Equation (2-4), the formula (2-5), by solving the optimization problem defined by the equation (2-6) attempts to restore the original information z.
Figure 2010278782
Figure 2010278782
Figure 2010278782
Here, the objective function defined by Equations (2-4) and (2-5) considers the sum of real numbers. Also in this case, the present invention can be applied to the objective function defined by the mathematical formulas (2-4) and (2-5).

次に、実施例4は、加法的雑音を伴う通信路の符号に本発明を適用した実施例である。なお、加法的雑音を伴う通信路に対する誤り訂正符号は、上記したように、図3で与えられる。   Next, the fourth embodiment is an embodiment in which the present invention is applied to a code of a communication path with additive noise. Note that the error correction code for the communication path with additive noise is given in FIG. 3 as described above.

符号器及び復号器は、予め適切なl×n行列Aを共有しておく。符号器は、実施例1ですでに説明したように、生成行列と呼ばれる行列Gを用いて、メッセージのベクトルmから数式(1−13)によってベクトルxを求め、これを通信路入力とする。ここで、通信路入力の集合は、数式(1−10)で表される。復号器は、通信路出力となるベクトルyからベクトルc=Ayを求める。   The encoder and the decoder share an appropriate l × n matrix A in advance. As already described in the first embodiment, the encoder uses a matrix G called a generator matrix to obtain a vector x from the message vector m by Equation (1-13), and uses this as a channel input. Here, a set of communication path inputs is expressed by Expression (1-10). The decoder obtains a vector c = Ay from the vector y that is the channel output.

このとき、通信路の雑音zに対して、関係式Az=cが成り立つことから、実施例3と同様にして、雑音の確率分布μが既知の時には、数式(2−3)で定義される最適化問題を解くことによって、雑音zの復元を試みる。ここで、gの右辺の実現に、本発明を適用することができる。 For this case, the channel noise z, since the following relationship holds formula Az = c, in the same manner as in Example 3, when the noise of the probability distribution mu z is known, is defined by the equation (2-3) We try to recover the noise z by solving the optimization problem. Here, the realization of the right side of g A, it is possible to apply the present invention.

雑音の確率分布μが未知の時にも、実施例3と同様にして、数式(2−4)、数式(2−5)、数式(2−6)で定義される最適化問題を解くことによって、雑音zの復元を試みる。 Even when noise probability distribution mu z is unknown, in the same manner as in Example 3, equations (2-4), the formula (2-5), solving the optimization problem defined by the equation (2-6) Tries to restore the noise z.

復号器は、最後に、復元した雑音zから数式(3−1)(丸の中にマイナスの記号はGF(2)の減法)によって通信路入力xを推定し、これと数式(1−13)の関係式から元のメッセージmを推定する。

Figure 2010278782
Finally, the decoder estimates the channel input x from the restored noise z by the equation (3-1) (the minus sign in the circle is a subtraction of GF (2) n ), and the equation (1- The original message m is estimated from the relational expression 13).
Figure 2010278782

次に、実施例5は、補助情報を利用できる固定長無歪み符号における符号器及び復号器に本発明を適用した実施例である。   Next, the fifth embodiment is an embodiment in which the present invention is applied to an encoder and a decoder in a fixed-length undistorted code that can use auxiliary information.

補助情報を利用できる固定長無歪み符号における符号器及び復号器は、図10で与えられる。図10は、補助情報を利用できる固定長無歪み符号における符号器及び復号器を説明するための図である。   An encoder and decoder in a fixed-length distortionless code that can use auxiliary information are given in FIG. FIG. 10 is a diagram for explaining an encoder and a decoder in a fixed-length undistorted code that can use auxiliary information.

符号器及び復号器は、予め適切なl×n行列Aを共有しておく。符号器は、ベクトルzで表現されたn次元の情報に行列Aを作用させて、l次元のベクトルc=Azを求め、これを送信もしくはメモリ等に蓄える。復号器は、受信もしくはメモリ等の情報から読みとったベクトルc以外にも、zと相関のある補助情報yを受信できるものとする。通信路の遷移確率分布μZ|Yが既知であるときは、数式(4−1)で定義される最適化問題を解くことによって、通信路入力zの復元を試みる。

Figure 2010278782
The encoder and the decoder share an appropriate l × n matrix A in advance. The encoder operates the matrix A on the n-dimensional information expressed by the vector z to obtain the l-dimensional vector c = Az and transmits it or stores it in a memory or the like. It is assumed that the decoder can receive auxiliary information y correlated with z in addition to the vector c read from information received or from memory. When the transition probability distribution μ Z | Y of the communication path is known, the restoration of the communication path input z is attempted by solving the optimization problem defined by Equation (4-1).
Figure 2010278782

通信路の遷移確率分布μZ|Yが未知であるときは、数式(4−2)、数式(4−3)、数式(4−4)で定義される最適化問題を定める。

Figure 2010278782
Figure 2010278782
Figure 2010278782
ここで、数式(4−2)及び数式(4−3)の制約条件に現れるzのΣ(i=1〜n)、目的関数に現れるyのΣ(i=1〜n)は、実数の和を表している。数式(4−2)及び数式(4−3)で定義される最適化問題に対して本発明を適用することができる。 When the transition probability distribution μ Z | Y of the communication path is unknown, an optimization problem defined by Expression (4-2), Expression (4-3), and Expression (4-4) is determined.
Figure 2010278782
Figure 2010278782
Figure 2010278782
Here, equations (4-2) and Equation (4-3) sigma of z i appearing in constraints (i = 1 to n), the y i z i that appears in the objective function sigma (i = 1 to n) Represents the sum of real numbers. The present invention can be applied to the optimization problem defined by Equation (4-2) and Equation (4-3).

次に、実施例6は、一般の通信路符号における符号器及び復号器に本発明を適用した実施例である。   Next, a sixth embodiment is an embodiment in which the present invention is applied to an encoder and a decoder in a general channel code.

一般の通信路符号における符号器及び復号器は、図11及び図12で与えられる。図11及び図12は、一般の通信路符号における符号器及び復号器を説明するための図である。   An encoder and a decoder in a general channel code are given in FIG. 11 and FIG. 11 and 12 are diagrams for explaining an encoder and a decoder in a general channel code.

符号器及び復号器は、予め適切なl×n行列A、l×n行列B、l次元のベクトルc、w∈{0,1,・・・,n}を共有しておく。符号器は、ベクトルmで表現されたl次元の情報とベクトルcから、数式(5−1)で示される最適化問題を解くことにより、Az=c、Bz=mを満たすn次元の通信路入力zを求める。

Figure 2010278782
The encoder and the decoder share an appropriate l A × n matrix A, l B × n matrix B, l A dimensional vector c, wε {0, 1,..., N} in advance. The encoder solves the optimization problem expressed by Equation (5-1) from the 1 B- dimensional information represented by the vector m and the vector c, thereby performing n-dimensional communication satisfying Az = c and Bz = m. The road input z is obtained.
Figure 2010278782

ここで、行列A、Bに対して、これを縦に連結した[l+l]×n行列をA´(ダッシュ)、列ベクトルc、mを縦に連結したl+l次元ベクトルをc´(ダッシュ)とすれば、制約条件Az=c、Bz=mは、一つの制約条件A´z=c´に書き改めることができる。そして、この最適化問題は、2次計画問題となる。このgABの実現に、本発明を適用することができる。 Here, with respect to the matrices A and B, a [l A + l B ] × n matrix obtained by vertically connecting the matrices A ′ (dash), and a l A + l B- dimensional vector obtained by vertically connecting the column vectors c and m If c ′ (dash), the constraint conditions Az = c and Bz = m can be rewritten into one constraint condition A′z = c ′. This optimization problem becomes a quadratic programming problem. The present invention can be applied to the realization of gAB .

復号器は、受信したn次元のベクトルyから復号を試みる。ここで、復号器は、通信路の遷移確率分布μZ|Yが既知の場合は、数式(4−1)、未知の場合は、数式(4−2)、数式(4−3)、数式(4−4)で定義される数式を用いて、通信路入力zを推定する。そして、復号器は、推定したzからBzを求めることにより、もとのメッセージを推定する。 The decoder attempts to decode from the received n-dimensional vector y. Here, the decoder uses Equation (4-1) when the channel transition probability distribution μ Z | Y is known, and Equation (4-2), Equation (4-3), Equation when the channel transition probability distribution is unknown. The communication path input z is estimated using the mathematical expression defined in (4-4). The decoder then estimates the original message by determining Bz from the estimated z.

次に、実施例7は、有歪み符号における符号器及び復号器に本発明を適用した実施例である。   Next, a seventh embodiment is an embodiment in which the present invention is applied to an encoder and a decoder in a distorted code.

有歪み符号における符号器及び復号器は、図13及び図14で与えられる。図13及び図14は、有歪み符号における符号器及び復号器を説明するための図である。   The encoder and decoder in the distorted code are given in FIGS. 13 and 14 are diagrams for explaining an encoder and a decoder in a distorted code.

符号器及び復号器は、予め適切なl×n行列A、l×n行列B、l次元のベクトルcと適切な実数γを共有しておく。ここで、γの正負は情報源の分布μから定められる。また、文字y、z間の歪み尺度をd(y,z)とする。 The encoder and decoder share an appropriate l A × n matrix A, l B × n matrix B, l A dimensional vector c and an appropriate real number γ in advance. Here, positive and negative γ is determined from the distribution mu Y sources. Further, a distortion measure between the letters y and z is d (y, z).

符号器は、n次元の情報yから、数式(6−1)で定義される最適化問題を解くことにより、Az=cを満たすn次元のベクトルzを求め、l次元ベクトルm≡Bzを符号語と、送信やメモリ等への蓄積を行う。

Figure 2010278782
The encoder obtains an n-dimensional vector z satisfying Az = c by solving an optimization problem defined by Equation (6-1) from the n-dimensional information y, and sets the l B- dimensional vector m≡Bz. The code word is transmitted and stored in a memory or the like.
Figure 2010278782

なお、数式(6−1)は、数式(6−2)と置き換えても良い。これは、後の復号を容易にする効果がある。

Figure 2010278782
Note that Equation (6-1) may be replaced with Equation (6-2). This has the effect of facilitating later decoding.
Figure 2010278782

そして、数式(6−1)及び数式(6−2)のgの右辺の実現に本発明を適用することができる。 Then, it is possible to apply the present invention to the realization of the right side of g A formula (6-1) and Equation (6-2).

復号器は、受信もしくはメモリ等から取り出したベクトルmから、数式(6−3)で定義される最適化問題を解くことにより、ベクトルzを復元する。

Figure 2010278782
ここで、行列A、Bに対して、これを縦に連結した[l+l]×n行列をA´(ダッシュ)、列ベクトルc、mを縦に連結したl+l次元ベクトルをc´(ダッシュ)とすれば、制約条件Az=c、Bz=mは、一つの制約条件A´z=c´に書き改めることができる。そして、このgの右辺の実現に本発明を適用することができる。 The decoder restores the vector z by solving the optimization problem defined by Expression (6-3) from the vector m received or received from the memory or the like.
Figure 2010278782
Here, with respect to the matrices A and B, a [l A + l B ] × n matrix obtained by vertically connecting the matrices A ′ (dash), and a l A + l B- dimensional vector obtained by vertically connecting the column vectors c and m If c ′ (dash), the constraint conditions Az = c and Bz = m can be rewritten into one constraint condition A′z = c ′. Then, it is possible to apply the present invention to the realization of the right side of the g A.

次に、実施例8では、従来のアルゴリズムと本発明のアルゴリズムとの比較を与える。まず、l×n行列Aを用意する。n次元のベクトルzを独立にランダムに与える。このとき、各次元の要素が1となる確率をP(Z=1)とする。符号器では、情報ベクトルzに対して、l次元の符号語ベクトルc≡Azを計算する。   Next, Example 8 provides a comparison between the conventional algorithm and the algorithm of the present invention. First, an l × n matrix A is prepared. An n-dimensional vector z is given independently and randomly. At this time, the probability that the element of each dimension is 1 is P (Z = 1). The encoder calculates a one-dimensional codeword vector c≡Az for the information vector z.

復号器では、数式(7−1)でn次元のベクトルg(c)を計算する。

Figure 2010278782
In the decoder, the n-dimensional vector g A (c) is calculated by Expression (7-1).
Figure 2010278782

ここで、ベクトルz=(z,z,・・・,z)である。これを線形計画法を用いて求める場合は、制約条件は数式(7−2)となり、目的関数f(z)は、数式(7−3)となる。

Figure 2010278782
Figure 2010278782
Here, the vector z = (z 1 , z 2 ,..., Z n ). When this is obtained using linear programming, the constraint condition is expressed by equation (7-2), and the objective function f (z) is expressed by equation (7-3).
Figure 2010278782
Figure 2010278782

(c)に線形計画法を適用して求めたベクトルを、z(c)(zにハット)とする。ただし、線形計画法を用いて求めたベクトルが非整数成分を持つときは、その成分を四捨五入して0または1に丸めるものとする。z(c)(zにハット)がzと一致しないときに、復号誤りとなる。 A vector obtained by applying linear programming to g A (c) is defined as z (c) (hat to z). However, when a vector obtained by using linear programming has a non-integer component, the component is rounded off to 0 or 1. A decoding error occurs when z (c) (hat to z) does not match z.

ところで、この問題では、暫定的な最適解z´(ダッシュ)が求まった後は、数式(7−4)という不等式がz´を切除するので、線形計画法を実行するときにこの制約式を加える。

Figure 2010278782
By the way, in this problem, after the provisional optimal solution z ′ (dash) is obtained, the inequality of Expression (7-4) cuts out z ′. Add.
Figure 2010278782

この実験をk個の独立に発生させたベクトルzに対して行うとき、復号誤り確率を数式(7−5)によって推定することが出来る。

Figure 2010278782
When this experiment is performed on k independently generated vectors z, the decoding error probability can be estimated by Equation (7-5).
Figure 2010278782

ここで、zは、i回目の実験で発生させた情報ベクトルで、cは、i回目の実験で発生させた符号語ベクトルであり、数式(7−6)のように定義する。

Figure 2010278782
Here, z i is an information vector generated in the i-th experiment, c i is a codeword vector generated in the i-th experiment, and is defined as in Expression (7-6).
Figure 2010278782

図15は、シミュレーション結果を示す図である。グラフの横軸はP(Z=1)を表し、縦軸はErrorを表す。また、k=1000として実験を行った。各グラフは、下記の実験結果と対応する。なお、以下では、第一アルゴリズムを「アルゴリズムE」と称し、第二アルゴリズムを「アルゴリズムF」と称する。   FIG. 15 is a diagram illustrating a simulation result. The horizontal axis of the graph represents P (Z = 1), and the vertical axis represents Error. The experiment was conducted with k = 1000. Each graph corresponds to the following experimental results. Hereinafter, the first algorithm is referred to as “algorithm E”, and the second algorithm is referred to as “algorithm F”.

アルゴリズムDでは、事前に追加する冗長行の数の上限を100としたが、実際は使用メモリの問題で4行しか追加されなかった。   In algorithm D, the upper limit of the number of redundant rows to be added in advance is set to 100. However, only four rows are actually added due to a problem of used memory.

A+B´+C(1)は、アルゴリズムAを実行し、更に切除不等式を求める時にアルゴリズムCを実行するアルゴリズムである。また、下記のA+E+F(1)では、一つの切除不等式を求めるときに基本変形で80行の冗長行の候補を用意するため、冗長行の候補を求める回数を80×1000回とした。   A + B ′ + C (1) is an algorithm for executing the algorithm A when executing the algorithm A and further obtaining the excision inequality. Further, in the following A + E + F (1), when obtaining one excision inequality, 80 redundant row candidates are prepared by basic modification, so the number of times of obtaining redundant row candidates is 80 × 1000.

A+B´+C(2)は、アルゴリズムAを実行し、更に切除する冗長行を求める時に、アルゴリズムCを実行するアルゴリズムである。また、下記のA+E+F(2)では、一つの切除する冗長行を求めるときに基本変形で80行の冗長行の候補を用意するため、冗長行の候補を求める回数を80×100回とした。   A + B ′ + C (2) is an algorithm for executing the algorithm A when executing the algorithm A and obtaining a redundant row to be cut off. In the following A + E + F (2), since 80 redundant row candidates are prepared by basic modification when obtaining one redundant row to be cut, the number of times of obtaining redundant row candidates is 80 × 100 times.

A+E+F(1)は、実施例1で説明した形態である。ただし、行列Aに含まれる行から作られた切除不等式を全て加えた。また、不等式を追加する回数を1000回とした。A+E+F(2)は、実施例2で説明した形態である。ただし、Ak2に含まれる行から作られた切除不等式を全て加えた。また、冗長行を追加する回数を100回とした。 A + E + F (1) is the form described in the first embodiment. However, all excision inequalities made from the rows included in matrix A were added. In addition, the number of times that the inequality is added is 1000 times. A + E + F (2) is the form described in the second embodiment. However, all excision inequalities made from the rows included in A k2 were added. In addition, the number of redundant rows added was set to 100 times.

ただし、A+B´+C(1)、および、A+B´+C(1)において、アルゴリズムAのステップ2とアルゴリズムCのステップ7では、アルゴリズムBの代わりにアルゴリズムB´を用いた。ここで、アルゴリズムB´を用いたのは、アルゴリズムBでは、制約式にAz=0を仮定するためにこれを利用できないからである。また、A+B´+C(1)、A+B´+C(2)、A+E+F(1)、A+E+F(2)で、P(Z=1)=0.06の結果が記載されていないのは、復号誤りが0となったためである。   However, in A + B ′ + C (1) and A + B ′ + C (1), algorithm B ′ is used instead of algorithm B in step 2 of algorithm A and step 7 of algorithm C. Here, algorithm B ′ is used because algorithm B cannot be used because it assumes Az = 0 in the constraint equation. Also, the result of P (Z = 1) = 0.06 in A + B ′ + C (1), A + B ′ + C (2), A + E + F (1), and A + E + F (2) is not described. It is because it became 0.

図15のシミュレーション結果は、実施例1、実施例2の復号性能が、従来のアルゴリズムに比べて改善されていることを示している。   The simulation result of FIG. 15 shows that the decoding performance of the first and second embodiments is improved as compared with the conventional algorithm.

なお、本発明は、非特許文献1に記載されているSlepian-Wolf問題、Wyner-Ziv問題、Gel’fand-Pinsker問題、One-helps-one問題にも同様に適用することができる。   The present invention can be similarly applied to the Slepian-Wolf problem, Wyner-Ziv problem, Gel'fand-Pinsker problem, and One-helps-one problem described in Non-Patent Document 1.

10 推定装置
11 記憶部
12 入力部
13 暫定解算出部
14 切除不等式抽出部
15 出力部
DESCRIPTION OF SYMBOLS 10 Estimation apparatus 11 Memory | storage part 12 Input part 13 Provisional solution calculation part 14 Excision inequality extraction part 15 Output part

Claims (19)

0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化する推定装置であって、
0以上かつ1以下であることを示す制約不等式の集合を初期の制約条件として、また、暫定的な最適解zを切除する切除不等式が抽出された場合には当該切除不等式を追加した制約不等式の集合を新たな制約条件として、暫定解zを算出する暫定解算出手段と、
前記線形方程式の係数である行列の各行ごとに、行列の要素が0でない列を示すインデックスjの集合を作成し、当該インデックスjの集合を、当該インデックスjに対応する暫定解zと1との距離が0との距離を上回る場合には第一集合Sに、暫定解zと1との距離が0との距離を下回る場合には第二集合Sにそれぞれ分類する分類手段と、
前記線形方程式の切片が0である場合には前記第二集合Sに分類されたインデックスjの数が奇数となるように、また、前記線形方程式の切片が1である場合には前記第二集合Sに分類されたインデックスjの数が偶数となるように、前記分類手段によって分類された第一集合S及び第二集合Sを調整する調整手段と、
前記調整手段によって調整された結果、前記第二集合Sに属することとなったインデックスjに対応する暫定解z全てについて1との距離を加算した加算値と、前記第一集合Sに属することとなったインデックスjに対応する暫定解z全てについて0との距離を加算した加算値との総和が、1以上となるか否かを判定する判定手段と、
前記判定手段によって判定された結果、1以上とならないと判定した場合に、前記判定に用いた不等式に基づき前記切除不等式を抽出する抽出手段と、
前記抽出手段によって抽出された切除不等式を前記制約不等式の集合に追加する追加手段と
を備えたことを特徴とする推定装置。
An estimation device for optimizing an objective function on a binary finite field of 0 and 1 with a linear equation as a constraint,
A set of constraint inequalities indicating zero or more and less than or equal to 1 is used as an initial constraint, and when a cut-off inequality that cuts the temporary optimal solution z j is extracted, a cut-off inequality is added to the cut-off inequality A provisional solution calculating means for calculating a provisional solution z j using a set of
For each row of the matrix that is a coefficient of the linear equation, a set of indexes j indicating columns in which the elements of the matrix are not 0 is created, and the set of the indexes j is set as provisional solutions z j and 1 corresponding to the index j, Classifying means for classifying into the first set S 0 when the distance of 0 exceeds the distance with 0, and into the second set S 1 when the distance between the provisional solution z j and 1 is less than the distance with 0; ,
When the intercept of the linear equation is 0, the number of indices j classified into the second set S 1 is an odd number, and when the intercept of the linear equation is 1, the second Adjusting means for adjusting the first set S 0 and the second set S 1 classified by the classifying means so that the number of indexes j classified into the set S 1 is an even number;
As a result of adjustment by the adjusting means, an added value obtained by adding the distances to 1 for all the provisional solutions z j corresponding to the index j that belongs to the second set S 1 , and the first set S 0 Determination means for determining whether or not the sum of the provisional solution z j corresponding to the index j to which it belongs belongs to the sum of the addition values obtained by adding the distance to 0 is 1 or more;
An extraction means for extracting the ablation inequality based on the inequality used for the determination when it is determined that the determination means does not result in 1 or more;
An estimation device comprising: an adding unit that adds the excision inequality extracted by the extraction unit to the set of constraint inequalities.
前記抽出手段によって切除不等式が抽出されない場合に、前記行列を、0と1との間の中央値である1/2と前記暫定解zとの距離が小さいインデックスjに対応する行列の行の成分を0にするように変形する変形手段をさらに備え、
前記分類手段は、前記変形手段によって変形後の行列の各行ごとに、前記インデックスjの集合を第一集合S及び第二集合Sにそれぞれ分類することを特徴とする請求項1に記載の推定装置。
If the excision inequality is not extracted by the extraction means, the matrix is divided into the matrix row corresponding to the index j whose distance between the median value between 0 and 1 and the provisional solution z j is small. And further comprising a deformation means for deforming so that the component becomes zero,
2. The classification unit according to claim 1, wherein the classifying unit classifies the set of indexes j into a first set S 0 and a second set S 1 for each row of the matrix after the transformation by the transformation unit. Estimating device.
請求項1または2に記載の推定装置を、加法的雑音を伴う通信路の符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が備えたことを特徴とする復号器。   The estimation apparatus according to claim 1, wherein the information encoded by the code of the channel with additive noise is expressed as an objective function with a linear equation as a constraint on a binary finite field of 0 and 1 A decoder comprising a decoder for decoding by optimizing. 請求項1または2に記載の推定装置を、固定長無歪み符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が備えたことを特徴とする復号器。   The estimation apparatus according to claim 1 or 2, wherein the information encoded by the fixed-length undistorted code is used to optimize an objective function on a binary finite field of 0 and 1 with a linear equation as a constraint. A decoder comprising: a decoder that performs decoding in (1). 請求項1または2に記載の推定装置を、補助情報を利用できる固定長無歪み符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が備えたことを特徴とする復号器。   The estimation apparatus according to claim 1, wherein information encoded by a fixed-length undistorted code that can use auxiliary information is converted into an objective function using a linear equation as a constraint on a binary finite field of 0 and 1 A decoder provided with a decoder for decoding by optimizing the above. 請求項1または2に記載の推定装置を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで、通信路に送出する情報を符号化する符号器が備えたことを特徴とする符号器。   A code that encodes information to be sent to a communication path by optimizing an objective function on a binary finite field of 0 and 1 using a linear equation as a constraint on the estimation device according to claim 1 or 2. A coder provided with the device. 請求項1または2に記載の推定装置を、通信路に送出する情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が備えたことを特徴とする復号器。   The decoding apparatus according to claim 1 or 2, wherein the information to be transmitted to the communication path is decoded by optimizing an objective function with a linear equation as a constraint on a binary finite field of 0 and 1 A decoder comprising the device. 請求項1または2に記載の推定装置を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで、有歪み符号によって情報を符号化する符号器が備えたことを特徴とする符号器。   3. The encoder according to claim 1 or 2, wherein an information function is encoded by a distorted code by optimizing an objective function with a linear equation as a constraint on a binary finite field of 0 and 1. The encoder characterized by comprising. 請求項1または2に記載の推定装置を、有歪み符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が備えたことを特徴とする復号器。   The estimation apparatus according to claim 1, wherein information encoded by a distorted code is decoded by optimizing an objective function on a binary finite field of 0 and 1 using a linear equation as a constraint condition A decoder comprising a decoder for converting to a decoder. 0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化する推定方法であって、
コンピュータが、
0以上かつ1以下であることを示す制約不等式の集合を初期の制約条件として、また、暫定的な最適解zを切除する切除不等式が抽出された場合には当該切除不等式を追加した制約不等式の集合を新たな制約条件として、暫定解zを算出する暫定解算出工程と、
前記線形方程式の係数である行列の各行ごとに、行列の要素が0でない列を示すインデックスjの集合を作成し、当該インデックスjの集合を、当該インデックスjに対応する暫定解zと1との距離が0との距離を上回る場合には第一集合Sに、暫定解zと1との距離が0との距離を下回る場合には第二集合Sにそれぞれ分類する分類工程と、
前記線形方程式の切片が0である場合には前記第二集合Sに分類されたインデックスjの数が奇数となるように、また、前記線形方程式の切片が1である場合には前記第二集合Sに分類されたインデックスjの数が偶数となるように、前記分類工程によって分類された第一集合S及び第二集合Sを調整する調整工程と、
前記調整工程によって調整された結果、前記第二集合Sに属することとなったインデックスjに対応する暫定解z全てについて1との距離を加算した加算値と、前記第一集合Sに属することとなったインデックスjに対応する暫定解z全てについて0との距離を加算した加算値との総和が、1以上となるか否かを判定する判定工程と、
前記判定工程によって判定された結果、1以上とならないと判定した場合に、前記判定に用いた不等式に基づき前記切除不等式を抽出する抽出工程と、
前記抽出工程によって抽出された切除不等式を前記制約不等式の集合に追加する追加工程と
を含んだことを特徴とする推定方法。
An estimation method for optimizing an objective function with a linear equation as a constraint on a binary finite field of 0 and 1,
Computer
A set of constraint inequalities indicating zero or more and less than or equal to 1 is used as an initial constraint, and when a cut-off inequality that cuts the temporary optimal solution z j is extracted, a cut-off inequality is added to the cut-off inequality A provisional solution calculation step of calculating a provisional solution z j using a set of
For each row of the matrix that is a coefficient of the linear equation, a set of indexes j indicating columns in which the elements of the matrix are not 0 is created, and the set of the indexes j is set as provisional solutions z j and 1 corresponding to the index j, A classification step for classifying into a first set S 0 when the distance of 0 exceeds a distance with 0, and into a second set S 1 when the distance between the provisional solution z j and 1 is less than the distance with 0; ,
When the intercept of the linear equation is 0, the number of indices j classified into the second set S 1 is an odd number, and when the intercept of the linear equation is 1, the second An adjusting step of adjusting the first set S 0 and the second set S 1 classified by the classification step so that the number of indexes j classified into the set S 1 is an even number;
As a result of the adjustment in the adjustment step, an added value obtained by adding the distances to 1 for all the provisional solutions z j corresponding to the index j belonging to the second set S 1 , and the first set S 0 A determination step of determining whether or not the sum of the provisional solution z j corresponding to the index j to which it belongs belongs to the added value obtained by adding the distance to 0 is 1 or more;
As a result of the determination by the determination step, when it is determined that it is not 1 or more, an extraction step of extracting the excision inequality based on the inequality used for the determination;
And an additional step of adding the excision inequality extracted by the extraction step to the set of constraint inequalities.
前記抽出工程によって切除不等式が抽出されない場合に、前記行列を、0と1との間の中央値である1/2と前記暫定解zとの距離が小さいインデックスjに対応する行列の行の成分を0にするように変形する変形工程をさらに含み、
前記分類工程は、前記変形工程によって変形後の行列の各行ごとに、前記インデックスjの集合を第一集合S及び第二集合Sにそれぞれ分類することを特徴とする請求項10に記載の推定方法。
If the excision inequality is not extracted by the extraction step, the matrix is defined as a matrix row corresponding to an index j in which the distance between the median between 0 and 1 and the provisional solution z j is small. And further comprising a deformation step for deforming the component to zero,
11. The classification according to claim 10, wherein the classification step classifies the set of indexes j into a first set S 0 and a second set S 1 for each row of the matrix after the transformation in the transformation step. Estimation method.
請求項10または11に記載の推定方法を、加法的雑音を伴う通信路の符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が含むことを特徴とする復号方法。   The estimation method according to claim 10 or 11, wherein the information encoded by the code of the channel with additive noise is expressed as an objective function with a linear equation as a constraint on a binary finite field of 0 and 1 A decoding method comprising: a decoder for decoding by optimization. 請求項10または11に記載の推定方法を、固定長無歪み符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が含むことを特徴とする復号方法。   12. The estimation method according to claim 10 or 11, wherein information encoded by a fixed-length undistorted code is optimized on a binary finite field of 0 and 1 with a linear equation as a constraint condition. The decoding method characterized by including the decoder decoded by. 請求項10または11に記載の推定方法を、補助情報を利用できる固定長無歪み符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が含むことを特徴とする復号方法。   The estimation method according to claim 10 or 11, wherein information encoded by a fixed-length undistorted code for which auxiliary information can be used is an objective function with a linear equation as a constraint on a binary finite field of 0 and 1 The decoding method characterized by including the decoder which decodes by optimizing. 請求項10または11に記載の推定方法を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで、通信路に送出する情報を符号化する符号器が含むことを特徴とする符号方法。   12. An encoding method for encoding information to be sent to a communication path by optimizing an objective function using a linear equation as a constraint on a binary finite field of 0 and 1 according to the estimation method according to claim 10 or 11 A coding method characterized in that the device comprises. 請求項10または11に記載の推定方法を、通信路に送出する情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が含むことを特徴とする復号方法。   12. An estimation method according to claim 10 or 11, wherein information to be sent to a communication path is decoded by optimizing an objective function on a binary finite field of 0 and 1 with a linear equation as a constraint. A decoding method characterized in that the device includes. 請求項10または11に記載の推定方法を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで、有歪み符号によって情報を符号化する符号器が含むことを特徴とする符号方法。   The estimation method according to claim 10 or 11, wherein an encoder encodes information using a distorted code by optimizing an objective function on a binary finite field of 0 and 1 using a linear equation as a constraint. The encoding method characterized by including. 請求項10または11に記載の推定方法を、有歪み符号によって符号化された情報を、0と1との2元の有限体上において線形方程式を制約条件として目的関数を最適化することで復号化する復号器が含むことを特徴とする復号方法。   12. The estimation method according to claim 10 or 11, wherein information encoded by a distorted code is decoded by optimizing an objective function with a linear equation as a constraint on a binary finite field of 0 and 1 The decoding method characterized by including the decoder to convert. 請求項10〜18のいずれか一つに記載の方法をコンピュータに実行させるプログラム。   The program which makes a computer perform the method as described in any one of Claims 10-18.
JP2009129538A 2009-05-28 2009-05-28 Estimation apparatus, encoder, decoder, estimation method, encoding method, decoding method, and program Expired - Fee Related JP5064442B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009129538A JP5064442B2 (en) 2009-05-28 2009-05-28 Estimation apparatus, encoder, decoder, estimation method, encoding method, decoding method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009129538A JP5064442B2 (en) 2009-05-28 2009-05-28 Estimation apparatus, encoder, decoder, estimation method, encoding method, decoding method, and program

Publications (2)

Publication Number Publication Date
JP2010278782A true JP2010278782A (en) 2010-12-09
JP5064442B2 JP5064442B2 (en) 2012-10-31

Family

ID=43425322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009129538A Expired - Fee Related JP5064442B2 (en) 2009-05-28 2009-05-28 Estimation apparatus, encoder, decoder, estimation method, encoding method, decoding method, and program

Country Status (1)

Country Link
JP (1) JP5064442B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012257108A (en) * 2011-06-09 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> Lp decoder and integral solution calculation method and program for linear code

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009005343A (en) * 2007-06-19 2009-01-08 Mitsubishi Electric Research Laboratories Inc Method and system for decoding symbol sequence received via communication path into codeword of error correcting code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009005343A (en) * 2007-06-19 2009-01-08 Mitsubishi Electric Research Laboratories Inc Method and system for decoding symbol sequence received via communication path into codeword of error correcting code

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012257108A (en) * 2011-06-09 2012-12-27 Nippon Telegr & Teleph Corp <Ntt> Lp decoder and integral solution calculation method and program for linear code

Also Published As

Publication number Publication date
JP5064442B2 (en) 2012-10-31

Similar Documents

Publication Publication Date Title
Kingma et al. Bit-swap: Recursive bits-back coding for lossless compression with hierarchical latent variables
KR101049699B1 (en) Data Compression Method
CN101243611B (en) Efficient coding and decoding of transform blocks
JP4801160B2 (en) Sequential improvement of lattice vector quantization
Al-Okaily et al. Toward a better compression for DNA sequences using Huffman encoding
González et al. Statistical encoding of succinct data structures
Masmoudi et al. An improved lossless image compression based arithmetic coding using mixture of non-parametric distributions
CN103299307B (en) For estimating method of estimation and the estimator of the probability distribution of quantization index
CN106878757B (en) Method, medium, and system for encoding digital video content
JP5064442B2 (en) Estimation apparatus, encoder, decoder, estimation method, encoding method, decoding method, and program
JP5625808B2 (en) Data updating apparatus and program, moving picture decoding apparatus and program, and moving picture distribution system
TWI538416B (en) Methods for arithmetic coding and decoding, arithmetic coder and arithmetic decoder
CN103368586B (en) Towards the separate window unequal loss protection fountain coding method of survey of deep space multimedia service
Hanus et al. Compression of whole genome alignments
Chandrasekhar et al. Compressing feature sets with digital search trees
CN116783825A (en) Method and system for lossy compression of data log files
CN116629324A (en) Optimization generation method for generating text repeated degradation phenomenon facing model
Zhou et al. Distributed arithmetic coding with interval swapping
US7193542B2 (en) Digital data compression robust relative to transmission noise
Blanes et al. Redundancy and optimization of tANS entropy encoders
Ezhilarasan et al. A new entropy encoding technique for multimedia data compression
Azouaoui et al. An efficient soft decoder of block codes based on compact genetic algorithm
Kozhemiakina et al. Means and results of efficiency analysis for data compression methods applied to typical multimedia data
JP5345563B2 (en) Solution search device, solution search method, and solution search program
JP2002271206A (en) Data encoding/decoding method, data encoding/decoding system, and data-decoding device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120808

R150 Certificate of patent or registration of utility model

Ref document number: 5064442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees