JP5574340B2 - LP decoder in linear code, integer solution calculation method and program - Google Patents
LP decoder in linear code, integer solution calculation method and program Download PDFInfo
- Publication number
- JP5574340B2 JP5574340B2 JP2011129334A JP2011129334A JP5574340B2 JP 5574340 B2 JP5574340 B2 JP 5574340B2 JP 2011129334 A JP2011129334 A JP 2011129334A JP 2011129334 A JP2011129334 A JP 2011129334A JP 5574340 B2 JP5574340 B2 JP 5574340B2
- Authority
- JP
- Japan
- Prior art keywords
- coordinates
- solution
- value
- linear programming
- integer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Description
本発明は、線形符号におけるLP(線形計画)復号器及び整数解計算方法及びプログラムに係り、特に、線形計画法を用いた符号において整数出力を効率的に実現するためのLP復号器及び整数解計算方法及びプログラムに関する。 The present invention relates to an LP (Linear Programming) decoder and an integer solution calculation method and program in a linear code, and more particularly to an LP decoder and an integer solution for efficiently realizing an integer output in a code using linear programming. The present invention relates to a calculation method and a program.
従来、線形符号における最尤復号を実現する技術として以下のような手法がある。 Conventionally, there are the following techniques as techniques for realizing maximum likelihood decoding in a linear code.
対象となるアルファベットは2値{0,1}とし、2元体としての算法(加法および乗法)が適用されるものとする。 The target alphabet is binary {0, 1}, and binary arithmetic (addition and multiplication) is applied.
まず線形符号における最尤復号を定義する.最尤復号とは、{0,1}上の確率分布P、n×k行列A,及びシンドロームu∈{0,1}kが与えられたとき長さnの2値系列x∈{0,1]nを First, we define maximum likelihood decoding for linear codes. Maximum likelihood decoding refers to a binary sequence x∈ {0, n of length n given a probability distribution P on {0,1}, an n × k matrix A, and a syndrome u∈ {0,1} k . 1] n
ここで、記号argは右辺のmaxを達成する Where the symbol arg achieves max on the right
注目すべきことは式(1)をそのまま実行するのならばnに関して指数オーダーの実行時間が必要となるが、非特許文献1にて提案された緩和法を適用することによって近似的に線形計画法で記述できることが示されているということである。従って、もしAが疎行列、すなわち要素が1である個数が0である個数に比べて圧倒的に少ないならば、シンプレックス法や内点法を適用して式(1)の緩和問題を解けば符号長nに関して多項式オーダーの実行時間となる。式(1)を緩和法によって線形計画問題に書き換えて得られる近似解法をLP復号と呼ぶ(非特許文献1参照)。
What should be noted is that if the expression (1) is executed as it is, an execution time of exponential order is required for n. However, by applying the relaxation method proposed in
しかし一方で式(1)の条件部分を緩和したことによって、線形計画問題を解いて得られる解は必ずしも整数解とはならないという不都合が生じる。このとき、どのようにして整数解を得るのかが新たな問題である。例えば特許文献1では得られた非整数解において疎行列Aの冗長行と対応する成分を四捨五入によって固定し、残りの成分を連立一次方程式を解くことで求めている。しかしながら、このような方法はヒューリスティックな性質が強く、得られる整数解は確かに式(1)の拘束条件は満たすが、最適値を与えるという保証を与えるものではなかった。
However, on the other hand, by relaxing the condition part of Equation (1), there arises a disadvantage that the solution obtained by solving the linear programming problem is not necessarily an integer solution. At this time, how to obtain an integer solution is a new problem. For example, in
また、非特許文献2では適応的切除平面法という緩和条件に新たな条件を追加する方式で整数解を得る可能性を高めた。しかしながら追加する条件は必ずしも拘束条件の疎行列性を保持しなくなるので実行時間が符号長nに関して多項式オーダーである保証がなくなるという欠点を持つ。
Further, in
上記のように、従来の手法では、LP復号器の実現において線形計画法を用いた際に、出力が非整数解となる、アルゴリズムの実行時間が符号長に関して多項式オーダーである保証がなくなるという欠点があった。 As described above, in the conventional method, when linear programming is used in the realization of the LP decoder, the output is a non-integer solution, and the execution time of the algorithm is not guaranteed to be in polynomial order with respect to the code length. was there.
本発明は、上記の点に鑑みなされたもので、前述の式(1)を緩和した線形計画問題をシンプレックス法などの適切な方法を用いて解いた際に最適な整数解を得やすくするために全体のアルゴリズムを見直し、また、見直した後のアルゴリズムの実行時間は符号を構成する行列が疎行列である場合、符号長nに関して多項式オーダーとなるようなLP復号器及び整数解計算方法及びプログラムを提供することを目的とする。 The present invention has been made in view of the above points, and makes it easy to obtain an optimal integer solution when solving a linear programming problem in which the above equation (1) is relaxed using an appropriate method such as the simplex method. The LP decoder and integer solution calculation method and program so that the execution time of the algorithm after the review is a polynomial order with respect to the code length n when the matrix constituting the code is a sparse matrix The purpose is to provide.
上記の課題を解決するため、対象となるアルファベットを2値{0,1}とし、該{0,1}上の確率分布P、n×k行列A,及びシンドロームu∈{0,1}kが与えられたとき長さnの2値系列x∈{0,1}nを In order to solve the above problem, the target alphabet is a binary {0, 1}, the probability distribution P on the {0, 1}, the n × k matrix A, and the syndrome u∈ {0, 1} k. Given a binary sequence x∈ {0,1} n of length n
として与える線形符号の最適な整数解を求める最尤復号器であって、
前記式(1)の緩和問題を線形計画法によって解く線形計画問題処理手段と、
拘束条件とする座標数をλとして、前記2値系列のn個の座標xのうち、λ個をランダムに選択し、
実行可能領域を前記線形計画問題処理手段により得られた目的関数fの最適値から所定の値までを一定間隔εで等分した各領域をスライス領域として、一の前記スライス領域について、
前記選択したλ個の座標xをそれぞれ0もしくは1に設定した一の場合について、
前記選択したλ個の座標x以外の(n−λ)個の座標のうちの一の座標xを対象として、当該座標xに0もしくは1を代入し、前記式(1)の緩和問題における実行可能解が存在するか否かを線形計画法によって判定し、
実行可能解が存在する場合には、当該座標xを前記代入した値に設定した上で、前記(n−λ)個の座標のうちの他の座標xを対象として同様の判定を実行し、
実行可能解が存在しない場合には、前記選択したλ個の座標xをそれぞれ0もしくは1に設定した他の場合について同様の判定を実行し、
前記選択したλ個の座標xをそれぞれ0もしくは1に設定したいずれかの場合について、全ての前記(n−λ)個の座標に対して実行可能解が存在すると判定された場合に、各座標xを前記代入した値に設定して、前記式(1)の緩和問題を線形計画法によって解き、前記目的関数fの最適値を与える各座標xが全て整数値ならば、当該各座標xを整数解として出力し、それ以外の場合はその時点で得られた非整数解を記憶手段に格納し、
他の前記スライス領域について同様の処理を実行し、すべての前記スライス領域について該処理を実行した時点でも整数解が得られない場合には、それまでに該記憶手段に格納されている解を出力する判別アルゴリズム実行手段と、を有する。
A maximum likelihood decoder for finding an optimal integer solution of a linear code given as
Linear programming problem processing means for solving the relaxation problem of the equation (1) by linear programming;
The number of coordinates as a constraint condition is λ, and among the n coordinates x of the binary series, λ are randomly selected,
With respect to one slice area , each area obtained by equally dividing an executable area from the optimal value of the objective function f obtained by the linear programming problem processing means to a predetermined value at a constant interval ε is defined as a slice area .
For the one case where the selected λ coordinates x are set to 0 or 1, respectively.
Execution in the relaxation problem of the equation (1) by substituting 0 or 1 for the coordinate x of one of (n−λ) coordinates other than the selected λ coordinates x. Determine whether a possible solution exists by linear programming ,
If feasible solution is you present, after setting the coordinates x to a value obtained by the assignment, perform the same determination as the object other coordinate x of the (n-lambda) pieces of coordinates ,
If no feasible solution exists, the same determination is performed for other cases where the selected λ coordinates x are set to 0 or 1, respectively.
For each case where the selected λ coordinates x are set to 0 or 1, respectively, when it is determined that there is an executable solution for all the (n−λ) coordinates, If x is set to the substituted value, the relaxation problem of the equation (1) is solved by linear programming, and each coordinate x giving the optimum value of the objective function f is an integer value, the coordinate x is Output as an integer solution, otherwise store the non-integer solution obtained at that time in the storage means,
It performs the same processing for the other of the slice areas, when no integer solution can be obtained even when all of executing the slice areas the processing for the output of the solution stored in the storage means so far Discriminating algorithm executing means.
上記のように、本発明によれば、LP復号問題における実行可能領域を適切に分割し、順番に各領域内に超立方体の頂点が含まれるかどうかを判別する、という方式を採用したことで、頂点を含む/含まない、の判別のための実行時間が符号長nに関して多項式オーダーであるならば符号化アルゴリズム全体も多項式オーダーとなることが示せる。 As described above, according to the present invention, the feasible region in the LP decoding problem is appropriately divided, and in order to determine whether or not a hypercube vertex is included in each region, If the execution time for determining whether or not the vertex is included is in the polynomial order with respect to the code length n, it can be shown that the entire encoding algorithm is also in the polynomial order.
これにより、LP復号器を用いるデータ圧縮符号化や誤り訂正符号化の実行時間を短縮することができ、効率のよい符号化の実現が可能となる。 As a result, it is possible to reduce the execution time of data compression coding and error correction coding using an LP decoder, and it is possible to realize efficient coding.
以下図面と共に、本発明の実施の形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明の一実施の形態におけるLP復号器の構成を示す。 FIG. 1 shows a configuration of an LP decoder according to an embodiment of the present invention.
本発明のLP復号器は、入力部1、記憶部2、出力部3、処理部10から構成される。記憶部2は、メモリやハードディスク等の記憶媒体である。
The LP decoder of the present invention includes an
処理部10は、判別アルゴリズム実行部11と線形計画問題処理部12から構成される。
The
入力部1は、シンドロームu(長さkの2値系列)、領域分割のパラメータε、判別アルゴリズムで拘束条件とする座標数λを入力する。
The
記憶部2は、n×k行列A、{0,1}上の確率分布Pを格納する。
The
判別アルゴリズム実行部11は、実行可能領域を目的関数f平行にfの最適値から適切な値(例えばfの初期値)を一定間隔(ε)で分割した領域について、順に走査して単位正方形(単位超立方体)の頂点が含まれる場合に当該含まれる頂点の座標xを最適解として出力部3に出力する。判別アルゴリズム実行部11は、走査途中の暫定解を格納するためのメモリ(図示せず)を具備しているものとする。
The discrimination algorithm execution unit 11 sequentially scans an executable area in an object function f parallel to an appropriate value (for example, an initial value of f) from an optimal value of f at a constant interval (ε) to scan a unit square ( When the vertex of the unit hypercube is included, the coordinate x of the included vertex is output to the
線形計画問題処理部12は、前述の式(1)の緩和問題を線形計画法によって解く。
The linear programming
図2は、式(1)を緩和した線形計画問題を模式化したものである。 FIG. 2 schematically shows a linear programming problem in which Equation (1) is relaxed.
同図の塗りつぶされた凸領域が実行可能領域で、この領域と図中の線a(目的関数fに相当する)とが接する点が線形計画問題の解である。 The filled convex area in the figure is the executable area, and the point where this area and the line a (corresponding to the objective function f) in the figure contact is the solution of the linear programming problem.
図2にて示される最適解は非整数解である。この場合、最適解を与えるxの値は(1,0)であるので、元の線形計画問題に新たな工夫を施して(1,0)を出力するようにしたい。 The optimal solution shown in FIG. 2 is a non-integer solution. In this case, since the value of x that gives the optimal solution is (1,0), it is desired to give a new idea to the original linear programming problem and output (1,0).
まず図3で示すように図2の線a(目的関数fの最適値Slice(0))と平行な直線(Slice(r))を一定間隔(ε)で描くことで実行可能領域を分割する。分割された各領域(以下、「スライス領域」と記す)は線形計画法の最適解を含む領域から順に番号付けが可能であることに注意する。 First, as shown in FIG. 3, the executable region is divided by drawing a straight line (Slice (r)) parallel to the line a in FIG. 2 (the optimum value Slice (0) of the objective function f) at a constant interval (ε). . Note that each divided region (hereinafter referred to as “slice region”) can be numbered sequentially from the region including the optimal solution of linear programming.
本実施の形態で行うことは、判別アルゴリズム実行部11において、判別アルゴリズムにより分割された各スライス領域を順に走査して、単位正方形の頂点を含むか否かをチェックすることである。単位正方形が含まれた最初の領域が見つかれば、判別アルゴリズム実行部11は領域に含まれる単位正方形の頂点座標(x0,x1)を出力して終了する。ここで注意すべきことは間隔εを十分小さくとれば各領域の幅が小さくなるので、単位正方形の頂点を複数個含む場合の出現頻度は無視できることである。 What is performed in the present embodiment is that the discrimination algorithm execution unit 11 sequentially scans each slice area divided by the discrimination algorithm to check whether or not the vertex of the unit square is included. If the first area including the unit square is found, the discrimination algorithm execution unit 11 outputs the vertex coordinates (x 0 , x 1 ) of the unit square included in the area and ends. What should be noted here is that if the interval ε is sufficiently small, the width of each region is reduced, so that the appearance frequency when a plurality of unit square vertices are included can be ignored.
以下に、判別アルゴリズム実行部11において実行される判別アルゴリズムについて説明する。 Hereinafter, the discrimination algorithm executed by the discrimination algorithm execution unit 11 will be described.
図4は、本発明の一実施の形態における判別アルゴリズム(n=2)の例である。 FIG. 4 is an example of a discrimination algorithm (n = 2) in an embodiment of the present invention.
同図は、図3に示す各領域において単位正方形の頂点が含まれるか否かをチェックする判別アルゴリズム(n=2の場合)である。 This figure is a discrimination algorithm (in the case of n = 2) for checking whether or not the vertex of the unit square is included in each area shown in FIG.
まず、判別アルゴリズム実行部11は、拘束条件とする座標のインデックスjを0とし、領域のインデックスrを0とし、初期化を行う。 First, the discrimination algorithm execution unit 11 performs initialization by setting the coordinate index j as a constraint condition to 0 and the region index r to 0.
次に、xjに0及び1を代入して前述の緩和問題の式(1)の拘束条件として追加した緩和問題について領域r内に実行可能解があるかどうかをチェックする(Step1)。実行可能解が存在すれば「OK」、存在しなければ「NG」とする。チェックはCase1〜Case4に示すとおりである。
Next, it is checked whether or not there is an executable solution in the region r for the relaxation problem added as a constraint condition of the above-described relaxation problem equation (1) by substituting 0 and 1 for x j (Step 1). If there is an executable solution, it is “OK”, and if not, “NG”. The check is as shown in
Case1の場合(xj=0もxj=1もNG)は、r=r+1、j=0として当該Step1を繰り返す。
In Case 1 (x j = 0 and x j = 1 are both NG),
Case2の場合(xj=0はOK、xj=1はNG)は、xj=0を式(1)の拘束条件に追加して、線形計画問題を解くソルバ(シンプレックス法や内点法等)を呼び出して緩和問題を解く。緩和問題を解いた結果、最適値を与えるx*が整数値をとるならば、xout=x*を整数解として出力部3に出力する。そうでない場合は、j=0のきはj=1とインクリメントして当該Step1を行う。j=1のときはr=r+1、j=0として当該Step1を行う。
In Case 2 (x j = 0 is OK, x j = 1 is NG), x j = 0 is added to the constraint in equation (1) to solve the linear programming problem (simplex method or interior point method) Etc.) to solve the relaxation problem. As a result of solving the relaxation problem, if x * giving the optimum value takes an integer value, x out = x * is output to the
Case3の場合(xj=0はNG、xj=1はOK)は、xj=1を式(1)の拘束条件に追加して、上記と同様に、シンプレックス法や内点法等の線形計画問題を解くソルバを呼び出して緩和問題を解く。緩和問題を解いた結果、最適値を与えるx*が整数値をとるならば、xout=x*を整数解として出力部3に出力する。そうでない場合は、j=0のきはj=1とインクリメントして当該Step1を行う。j=1のときはr=r+1、j=0として当該Step1を行う。
In Case 3 (x j = 0 is NG, x j = 1 is OK), x j = 1 is added to the constraint condition of the formula (1), and the simplex method, interior point method, etc. Call a solver to solve the linear programming problem to solve the relaxation problem. As a result of solving the relaxation problem, if x * giving the optimum value takes an integer value, x out = x * is output to the
Case4の場合(xj=0もxj=1もOK)は、最適値を与えるx*を整数値をとるように近似したものを暫定解としてメモリに保持する。j=0のきはj=1とインクリメントして当該Step1を行う。j=1のときはr=r+1、j=0として当該Step1を行う。
In the case of Case 4 (both x j = 0 and x j = 1), an approximation of x * giving the optimum value so as to take an integer value is held in the memory as a provisional solution. When j = 0, the
上記のStep1では、xjに0及び1を代入して、式(1)の拘束条件として追加した緩和問題についてスライス領域r内に実行可能解があるかどうかをCase1〜Case4についてチェックしている。例えば、図3の領域bではx0=1の条件下で実行可能解が存在する(図4:Step 1のCase 3)が、x*は整数解とならない。整数解は図3の領域cに存在する。このとき、判別アルゴリズム(図4)のStep 1において、実行可能解の有無の判別は線形計画問題に帰着することに注意しておく。なお、図4のStep 1のCase 2およびCase 3でx*が整数値からなるかどうかを判別しているが、この際には厳密に整数かどうかの判別ではなくε/2程度の誤差を許容している。
In the above Step1, by substituting 0 and 1 to x j, are checked for whether there is a feasible solution for alleviating problems added as a constraint condition of formula (1) in the slice area r Case1~Case4 . For example, in the region b in FIG. 3, there is an executable solution under the condition of x 0 = 1 (FIG. 4:
図4のCase 4は、条件xj=0もxj=1も注目しているスライス領域と交叉するか接する場合である。この場合、xj=0もxj=1も有効な拘束条件とならないため現時点で得られている最適値x*(非整数解)を適切に処理したもの(処理の仕方は特許文献1などを参照)を暫定解としてメモリに記憶することになる。この暫定解は全てのスライス領域まで走査された後でも整数解が得られない場合にその時点でメモリに保持されているものが出力される役割を持つ。 Case 4 in FIG. 4 is a case where both the condition x j = 0 and x j = 1 intersect or touch the slice area of interest. In this case, neither x j = 0 nor x j = 1 is an effective constraint condition, and the optimum value x * (non-integer solution) obtained at the present time is appropriately processed (the processing method is, for example, Patent Document 1) Is stored in the memory as a provisional solution. This provisional solution has a role of outputting what is stored in the memory at that time when an integer solution cannot be obtained even after all slice regions have been scanned.
以上は、簡単のためにn=2の場合のアルゴリズムを説明した。一般の場合のアルゴリズムは図5および図6に示すように、全体アルゴリズムと判別アルゴリズムからなる。 The above describes the algorithm when n = 2 for simplicity. As shown in FIGS. 5 and 6, the general algorithm is composed of an overall algorithm and a discrimination algorithm.
まず、図5の全体アルゴリズムについて説明する。 First, the overall algorithm of FIG. 5 will be described.
最初に処理部10は、入力部1より長さkの2値系列uを取得し、記憶部2よりn×k行列Aと{0,1}上の確率分布Pを取得する。さらに、領域のインデックスrを0とする。
First, the
Step1において、線形計画問題処理部12は、入力されたu,A,Pを用いて、式(1)の緩和問題を線形計画法により解く。判別アルゴリズム実行部11は、線形計画問題処理部12で得られた値について、目的関数fの最適値(=f*)を与えるベクトルx*の各座標が全て整数値ならば、xout=xとして出力部3に出力して終了する。それ以外の場合は、
Slice(r)=目的関数の最適値,Slice(r+1)=Slice(r)+ε
として、Step2に移行する。
In
Slice (r) = optimal value of objective function, Slice (r + 1) = Slice (r) + ε
Then, go to Step2.
Step2では、判別アルゴリズム実行部11において、
In
図6の判別アルゴリズムについて説明する。 The discrimination algorithm of FIG. 6 will be described.
判別アルゴリズム処理部11は、入力部1より領域のインデックスr、領域の下限のSlice(r)、記憶部2より拘束条件とする座標数λ、領域分割のパラメータεを取得する。更に、初期化処理として、拘束条件のインデックスjを0とし、
The discrimination algorithm processing unit 11 acquires the region index r, the lower limit Slice (r) of the region from the
Step1において、座標集合I1,I2について、 In Step1, for coordinate sets I 1 and I 2 ,
Step2において、I2 =I1ならばStep4に移行し、そうでないならばI2:=I1, i:=0とし、Step3に移行する。
In
Step3において、i ∈ I1ならば、i:= i + 1とし、Step3へ進む。この処理は既定の拘束条件I1に加え、新たな拘束条件に対応するインデックスを探すためのものである。i ∈ I1でないならば、線形計画問題処理部12において、xiに0もしくは1を代入して、xiの値及びIndexにおいて2以外の値をとる座標の値及びSlice(r)≦f<Slice(r+1)を拘束条件に追加した式(1)の緩和問題における実行可能解の有無を線形計画法で解き、実行可能解が存在する場合はOK、そうでない場合はNGとする。
In
Case1の場合(xi=0もxi=1もNG)は、j:=j+1としてI1を別の拘束条件の組にインクリメントし、Step1に戻る。もし、 In Case 1 (x i = 0 and x i = 1 are both NG), j: = j + 1 and I 1 is incremented to another set of constraint conditions, and the process returns to Step 1. if,
Case2の場合(xi=0はOK、xi=1はNG)は、Indexの第i座標を0にセットし、 In Case 2 (x i = 0 is OK, x i = 1 is NG), the i-th coordinate of Index is set to 0,
Case3の場合(xi=0はNG、xi=1はOK)は、Indexの第i座標を1にセットする。 In Case 3 (x i = 0 is NG, x i = 1 is OK), the i-th coordinate of Index is set to 1.
Case4の場合(xi=0もxi=1もOK)は、i:=i+1とし、i<nならばStep3へ移行し、i=nならばStep2へ戻る。各rに対して拘束条件の集合I1が大きくなれば次のStep4において整数解を得やすくなるというのが本アルゴリズムの眼目である.
Step4において、線形計画問題処部12は、Indexにおいて2以外の値をとる座標の値及びSlice(r)≦f<Slice(r+1)を拘束条件に追加した式(1)の緩和問題を線形計画法で解く。その結果、目的関数fの最適値(=f*)を与えるベクトルx*の各座標が全て整数値ならばxout=x*として終了する。それ以外の場合は、適切な方法(例えば、非特許文献1)による出力をxoutの暫定解としてメモリに保持し、r:=r+1として図5の全体アルゴリズムのStep2へ戻る。
In Case 4 (both x i = 0 and x i = 1 are OK), i: = i + 1 is set, and if i <n, the process proceeds to
In Step 4, the linear programming
上記の図5・図6と図4との大きな違いは、座標に関する拘束条件(xj=0またはxj=1)を式(1)に追加に追加する前に、新たに前提 The major difference between FIG. 5 and FIG. 6 and FIG. 4 is that a new assumption is made before adding a constraint condition related to coordinates (x j = 0 or x j = 1) to equation (1).
また、図6のStep 1で定義する座標集合Indexはその要素の値が2以外の座標についてはIndexにある値が注目しているスライス領域での拘束条件となる。
In addition, the coordinate set Index defined in
なお、図6のStep 2においてI2=I1となる場合は、その前処理のStep 3においてI1に入っていない全ての座標xjに関してxj=0もxj=1も新たな拘束条件として追加されなかったことを示すことに注意する。このときは、最終的な拘束条件I1(もしくはIndex)を用いてStep 4にて最適化を実行する。
If I 2 = I 1 in
また、図6のStep 4で保持される暫定解は、全てのスライス領域まで走査された後でも整数解が得られない場合にその時点で保持されているものが出力される役割を持つ。 Further, the provisional solution held in Step 4 of FIG. 6 has a role of outputting the one held at that time when an integer solution cannot be obtained even after all slice regions have been scanned.
上記のように、本実施の形態では、式(1)の近似解法を念頭に置いた。情報理論では式(1)は情報源符号化問題において出現する最適化問題である。一方、通信路符号化問題や有歪み情報源符号化問題においても式(1)と等価な問題に帰着できることが知られている(文献:S. Miyake and J. Muramatsu, "Construction of a lossy source code using LDPC matrices," IEICE Trans. Fundam., vol. E-91A, no. 6, pp. 1488-1501, 2008.)。従って、データ圧縮、誤り訂正に関する問題における符号を疎行列を用いて構成する場合、本アルゴリズムを線形計画法と併用することによって効率良い符号化実現が可能となる。 As described above, in the present embodiment, the approximate solution method of Equation (1) is considered. In information theory, equation (1) is an optimization problem that appears in the information source coding problem. On the other hand, it is known that the channel coding problem and the distortion information source coding problem can be reduced to a problem equivalent to the equation (1) (reference: S. Miyake and J. Muramatsu, “Construction of a lossy source”). code using LDPC matrices, "IEICE Trans. Fundam., vol. E-91A, no. 6, pp. 1488-1501, 2008.). Therefore, when a code related to data compression and error correction is configured using a sparse matrix, efficient encoding can be realized by using this algorithm in combination with linear programming.
なお図7は、式(1)を緩和して線形計画法で解く際に非整数解出力を回避するための既存のアルゴリズム(非特許文献2)と比較したものである。同図中、"Standard","Cutting Plane","Slice"はそれぞれ式(1)を緩和したものを線形計画問題で解いただけのもの、Standardの条件に加え切除平面法を用いたもの、Standardの条件に加え本アルゴリズムを用いたものである。切除平面法を用いたアルゴリズムの結果が復号誤りの観点からは最も良く、本発明によるものがそれに次ぐ。ただし、非特許文献2の切除平面法は、符号を構成する行列から新たな拘束条件を見出し追加するという方式であるため、必ずしも行列の疎行列性は有効に利用されない。従って本方式とは異なり符号長nに関する多項式オーダーの実行時間は保証されていない。
FIG. 7 is a comparison with an existing algorithm (Non-Patent Document 2) for avoiding non-integer solution output when the equation (1) is relaxed and solved by linear programming. In the figure, "Standard", "Cutting Plane", and "Slice" are obtained by solving the equation (1) with a linear programming problem, using the cutting plane method in addition to the Standard conditions, and Standard In addition to the above conditions, this algorithm is used. The result of the algorithm using the cut-off plane method is the best from the viewpoint of decoding error, followed by the one according to the present invention. However, since the cutting plane method of
なお、上記の実施の形態では、図1の線形符号器の構成に基づいて説明したが、当該装置は、コンピュータとプログラムによっても実現でき、プログラムを記憶媒体に記録することも、ネットワークを通して提供することも可能である。 Although the above embodiment has been described based on the configuration of the linear encoder in FIG. 1, the apparatus can be realized by a computer and a program, and the program can be recorded on a storage medium or provided through a network. It is also possible.
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。 The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.
1 入力部
2 記憶部
3 出力部
10 処理部
11 判別アルゴリズム実行部
12 線形計画問題処理部
1
Claims (3)
として与える線形符号の最適な整数解を求める最尤復号器であって、
前記式(1)の緩和問題を線形計画法によって解く線形計画問題処理手段と、
拘束条件とする座標数をλとして、前記2値系列のn個の座標xのうち、λ個をランダムに選択し、
実行可能領域を前記線形計画問題処理手段により得られた目的関数fの最適値から所定の値までを一定間隔εで等分した各領域をスライス領域として、一の前記スライス領域について、
前記選択したλ個の座標xをそれぞれ0もしくは1に設定した一の場合について、
前記選択したλ個の座標x以外の(n−λ)個の座標のうちの一の座標xを対象として、当該座標xに0もしくは1を代入し、前記式(1)の緩和問題における実行可能解が存在するか否かを線形計画法によって判定し、
実行可能解が存在する場合には、当該座標xを前記代入した値に設定した上で、前記(n−λ)個の座標のうちの他の座標xを対象として同様の判定を実行し、
実行可能解が存在しない場合には、前記選択したλ個の座標xをそれぞれ0もしくは1に設定した他の場合について同様の判定を実行し、
前記選択したλ個の座標xをそれぞれ0もしくは1に設定したいずれかの場合について、全ての前記(n−λ)個の座標に対して実行可能解が存在すると判定された場合に、各座標xを前記代入した値に設定して、前記式(1)の緩和問題を線形計画法によって解き、前記目的関数fの最適値を与える各座標xが全て整数値ならば、当該各座標xを整数解として出力し、それ以外の場合はその時点で得られた非整数解を記憶手段に格納し、
他の前記スライス領域について同様の処理を実行し、すべての前記スライス領域について該処理を実行した時点でも整数解が得られない場合には、それまでに該記憶手段に格納されている解を出力する判別アルゴリズム実行手段と、
を有することを特徴とするLP復号器。 The target alphabet is a binary value {0, 1}, and a probability distribution P on the {0, 1}, an n × k matrix A, and a syndrome u∈ {0, 1} k are given length n. The binary series x∈ {0,1} n
A maximum likelihood decoder for finding an optimal integer solution of a linear code given as
Linear programming problem processing means for solving the relaxation problem of the equation (1) by linear programming;
The number of coordinates as a constraint condition is λ, and among the n coordinates x of the binary series, λ are randomly selected,
With respect to one slice area , each area obtained by equally dividing an executable area from the optimal value of the objective function f obtained by the linear programming problem processing means to a predetermined value at a constant interval ε is defined as a slice area .
For the one case where the selected λ coordinates x are set to 0 or 1, respectively.
Execution in the relaxation problem of the equation (1) by substituting 0 or 1 for the coordinate x of one of (n−λ) coordinates other than the selected λ coordinates x. Determine whether a possible solution exists by linear programming ,
If feasible solution is you present, after setting the coordinates x to a value obtained by the assignment, perform the same determination as the object other coordinate x of the (n-lambda) pieces of coordinates ,
If no feasible solution exists, the same determination is performed for other cases where the selected λ coordinates x are set to 0 or 1, respectively.
For each case where the selected λ coordinates x are set to 0 or 1, respectively, when it is determined that there is an executable solution for all the (n−λ) coordinates, If x is set to the substituted value, the relaxation problem of the equation (1) is solved by linear programming, and each coordinate x giving the optimum value of the objective function f is an integer value, the coordinate x is Output as an integer solution, otherwise store the non-integer solution obtained at that time in the storage means,
It performs the same processing for the other of the slice areas, when no integer solution can be obtained even when all of executing the slice areas the processing for the output of the solution stored in the storage means so far A discrimination algorithm executing means for
An LP decoder comprising:
として与える線形符号の最適な整数解を求める整数解計算方法であって、
線形計画問題処理手段が、前記式(1)の緩和問題を線形計画法によって解く線形計画問題処理ステップと、
判別アルゴリズム実行手段が、
拘束条件とする座標数をλとして、前記2値系列のn個の座標xのうち、λ個をランダムに選択し、
実行可能領域を前記線形計画問題処理ステップで得られた目的関数fの最適値から所定の値までを一定間隔εで等分した各領域をスライス領域として、一の前記スライス領域について、
前記選択したλ個の座標xをそれぞれ0もしくは1に設定した一の場合について、
前記選択したλ個の座標x以外の(n−λ)個の座標のうちの一の座標xを対象として、当該座標xに0もしくは1を代入し、前記式(1)の緩和問題における実行可能解が存在するか否かを線形計画法によって判定し、
実行可能解が存在する場合には、当該座標xを前記代入した値に設定した上で、前記(n−λ)個の座標のうちの他の座標xを対象として同様の判定を実行し、
実行可能解が存在しない場合には、前記選択したλ個の座標xをそれぞれ0もしくは1に設定した他の場合について同様の判定を実行し、
前記選択したλ個の座標xをそれぞれ0もしくは1に設定したいずれかの場合について、全ての前記(n−λ)個の座標に対して実行可能解が存在すると判定された場合に、各座標xを前記代入した値に設定して、前記式(1)の緩和問題を線形計画法によって解き、前記目的関数fの最適値を与える各座標xが全て整数値ならば、当該各座標xを整数解として出力し、それ以外の場合はその時点で得られた非整数解を記憶手段に格納し、
他の前記スライス領域について同様の処理を実行し、すべての前記スライス領域について該処理を実行した時点でも整数解が得られない場合には、それまでに該記憶手段に格納されている解を出力する判別アルゴリズム実行ステップと、
を行うことを特徴とする整数解計算方法。 The target alphabet is a binary value {0, 1}, and a probability distribution P on the {0, 1}, an n × k matrix A, and a syndrome u∈ {0, 1} k are given length n. The binary series x∈ {0,1} n
An integer solution calculation method for obtaining an optimal integer solution of a linear code given as
A linear programming problem processing means for solving the relaxation problem of the equation (1) by linear programming;
The discrimination algorithm execution means is
The number of coordinates as a constraint condition is λ, and among the n coordinates x of the binary series, λ are randomly selected,
With respect to one slice area , each area obtained by equally dividing an executable area from the optimal value of the objective function f obtained in the linear programming problem processing step to a predetermined value at a constant interval ε is defined as a slice area .
For the one case where the selected λ coordinates x are set to 0 or 1, respectively.
Execution in the relaxation problem of the equation (1) by substituting 0 or 1 for the coordinate x of one of (n−λ) coordinates other than the selected λ coordinates x. Determine whether a possible solution exists by linear programming ,
If feasible solution is you present, after setting the coordinates x to a value obtained by the assignment, perform the same determination as the object other coordinate x of the (n-lambda) pieces of coordinates ,
If no feasible solution exists, the same determination is performed for other cases where the selected λ coordinates x are set to 0 or 1, respectively.
For each case where the selected λ coordinates x are set to 0 or 1, respectively, when it is determined that there is an executable solution for all the (n−λ) coordinates, If x is set to the substituted value, the relaxation problem of the equation (1) is solved by linear programming, and each coordinate x giving the optimum value of the objective function f is an integer value, the coordinate x is Output as an integer solution, otherwise store the non-integer solution obtained at that time in the storage means,
It performs the same processing for the other of the slice areas, when no integer solution can be obtained even when all of executing the slice areas the processing for the output of the solution stored in the storage means so far A discrimination algorithm execution step to perform,
An integer solution calculation method characterized by:
請求項1記載のLP復号器の各手段として機能させるための整数解計算プログラム。 Computer
An integer solution calculation program for functioning as each means of the LP decoder according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011129334A JP5574340B2 (en) | 2011-06-09 | 2011-06-09 | LP decoder in linear code, integer solution calculation method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011129334A JP5574340B2 (en) | 2011-06-09 | 2011-06-09 | LP decoder in linear code, integer solution calculation method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012257108A JP2012257108A (en) | 2012-12-27 |
JP5574340B2 true JP5574340B2 (en) | 2014-08-20 |
Family
ID=47528236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011129334A Expired - Fee Related JP5574340B2 (en) | 2011-06-09 | 2011-06-09 | LP decoder in linear code, integer solution calculation method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5574340B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104660270B (en) * | 2014-12-25 | 2018-03-13 | 西安电子科技大学 | The linear programming interpretation method of multi-system linear block codes |
JP6647591B2 (en) * | 2016-06-29 | 2020-02-14 | 本田技研工業株式会社 | Apparatus and method for estimating possible area of specific state quantity of mobile robot |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261170B2 (en) * | 2007-06-19 | 2012-09-04 | Mitsubishi Electric Research Laboratories, Inc. | Multi-stage decoder for error-correcting codes |
US20090034661A1 (en) * | 2007-07-31 | 2009-02-05 | Pascal Olivier Vontobel | Coordinate-ascent method for linear programming decoding |
JP4883455B2 (en) * | 2008-07-04 | 2012-02-22 | 日本電信電話株式会社 | Encoding apparatus, encoding method, and encoding program |
JP5064442B2 (en) * | 2009-05-28 | 2012-10-31 | 日本電信電話株式会社 | Estimation apparatus, encoder, decoder, estimation method, encoding method, decoding method, and program |
JP5005743B2 (en) * | 2009-08-13 | 2012-08-22 | 日本電信電話株式会社 | Encoding device, decoding device, encoding method, decoding method, encoding program, and decoding program |
-
2011
- 2011-06-09 JP JP2011129334A patent/JP5574340B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012257108A (en) | 2012-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007228582A (en) | Method and apparatus for cabac-based encoding having high compression ratio using improved context model selection and method and apparatus for cabac-based decoding | |
KR20100087645A (en) | Network re-encoding method and device for re-encoding encoded symbols to be transmitted to communication equipments | |
CN105933009A (en) | Data compression method, data compression system, data decompression method and data decompression system | |
GB2561824A (en) | Encoding and decoding of geometry data in a 3D model based on evaluated regularity of the model | |
JP5574340B2 (en) | LP decoder in linear code, integer solution calculation method and program | |
JP2015230702A (en) | Processing flow generation apparatus, processing flow generation method, processing flow generation program, manufacturing method of information processor and manufacturing method of information processing program | |
Huang et al. | An A*-based algorithm for constructing reversible variable length codes with minimum average codeword length | |
KR102009216B1 (en) | Method and system for graph summarization and compression | |
Tang et al. | Error-correcting codes for short tandem duplication and edit errors | |
Justesen et al. | Analysis of iterated hard decision decoding of product codes with Reed-Solomon component codes | |
JP2009077176A (en) | Image coder, image decoder, and their control methods | |
WO2018028474A1 (en) | Encoding method and device, decoding method and device, and storage medium | |
JP5225420B2 (en) | Method and system for compression and decompression of dot matrix font data by computer | |
JP6188344B2 (en) | Scanning order generation apparatus, moving picture encoding apparatus, moving picture decoding apparatus, scanning order generation method, and program | |
Blanes et al. | Redundancy and optimization of tANS entropy encoders | |
JP7251615B2 (en) | ALIGNMENT PROCESSING DEVICE, ALIGNMENT PROCESSING METHOD, AND PROGRAM | |
JPWO2018109809A1 (en) | Decoding device, decoding method and program | |
JP2010535459A (en) | Coordinate ascent method for linear programming decoding. | |
JP5005743B2 (en) | Encoding device, decoding device, encoding method, decoding method, encoding program, and decoding program | |
JP4883455B2 (en) | Encoding apparatus, encoding method, and encoding program | |
JP2007336056A (en) | Encoding device, encoding method and program | |
Marx et al. | Subexponential parameterized algorithms for graphs of polynomial growth | |
JP5817645B2 (en) | Encoding / decoding system and method, encoding program, and decoding program | |
WO2023175680A1 (en) | Encoding device, encoding method, and program | |
KR101391859B1 (en) | Method and device of encoding/decoding using sparse inverse code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20121029 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121029 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130814 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140512 |
|
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: 20140617 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140624 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5574340 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |