ネットワーク時代の符号理論 和田山正 名古屋工業大学 符号理論:おすすめの理由 ▶ デジタル通信・記録システムにおいて誤り訂正技術は不可欠 な基幹技術。基本アイデアを知っておいて損はない。 ▶ 理論計算機科学との関係 (代数的手法、確率的手法) ▶ 数理パズル的な面白さ、を味わえる ! 講義の内容 パート1 ▶ 有限体 ▶ 線形符号 ▶ リード・ソロモン符号の性質 ▶ リード・ソロモン符号の消失訂正 ▶ 局所復号可能符号 (locally decodable/correctable code) パート2 ▶ ネットワーク符号 ▶ インデックス符号 有限体 有限体は、実数体や複素数体と同様に加減乗除の定義された代数 的構造である。 ある集合 K とその上で定義されている和と呼ばれる 2 項演算 + と積と呼ばれる 2 項演算 · が体の公理を満足する場合、組 (K , +, ·) は体 (field) であるという。 ここでは、実数体と同様に加減乗除が矛盾なく定義されていて、 交換則、結合則、分配則が成り立つ代数ルールが導入されている 集合として話を進める。 素体 △ p 元の集合 K = {0, 1, 2, . . . , p − 1} を考える。ここで、加算 + と 乗算 · を △ a + b = a + b mod p △ a · b = a · b mod p と定義する (a, b ∈ K )。 p 元の要素を持つ素体を以降では Fp と表記する。Fp の加法単位 元は 0、乗法単位元は 1 である。 拡大体 符号理論において特に重要なのが素体を拡大して得られる拡大体 (extension field) である。拡大体を定義するために Fp 上の既約多 項式がその基礎となる。 多項式の除算 素体 Fp 上の m 次多項式 (fi ∈ Fp (i ∈ [0, m])) f (z) = f0 + f1 z + f2 z 2 + · · · + fm z m を Fp 上で定義された k 次 (k ≤ m) 多項式 g (z) で割ったときの商 を q(z) とするとき、 f (z) = q(z)g (z) + r (z) となる。 1. q(z)(商) は次数 m − k の多項式 2. r (z)(剰余) は次数 k 未満の多項式 余り r (x) が 0 となる場合、g (x) は f (x) を割り切るといい、f (x) は g (x) により割り切られるという。 多項式の除算の例 F2 上で定義された f (z) = z 3 + z 2 + z を g (z) = z + 1 で割る。通 常の除算の筆算と同様にして次のようにして計算する。 z2 +1 3 2 z + 1 z +z +z z 3 +z 2 z z +1 1 この計算の結果、z 3 + z 2 + z = (z 2 + 1)(z + 1) + 1 が成り立つこ とが分かる。 Fp 上の既約多項式 既約多項式 素体 Fp 上の m 次多項式 f (x) が定数ではない m − 1 次以下の多項 式 g (x) により割り切られることがない場合、f (x) は既約である といい、f (x) を既約多項式と呼ぶ。 既約多項式の例 F2 上の多項式 f (z) = z 3 + z + 1 は既約である。 既約多項式は、素体の構成における素数と似た働きをする。 拡大体の構成 素体 Fp 上の m 次既約多項式 f (z) のひとつの根を α とする。 1. このとき、f (α) = 0 が成り立つ。 2. f (z) は Fp 上で既約多項式であるから、α は Fp には含まれな い。もし含まれるとすれば f (z) = (z − α)g (z) (α ∈ Fp , g (z) は m − 1 次多項式) と因子分解できることから f (z) が既約多項式であるという仮定に矛盾する。 拡大体の構成の方針 既約多項式の根 α を Fp に付け加え、加法と乗法を適切に定義す ると新しい体を構成する。 拡大体 拡大体の要素 素体 Fp 上の m 次既約多項式の根 α を Fp に付加することにより 得られる体を Fp の拡大体と呼ぶ。拡大体の元は am−1 αm−1 + am−2 αm−2 + · · · + a1 α1 + a0 という形を持つ。ここで、ai ∈ Fp (i ∈ [0, m − 1]) である (拡大体 の加法と乗法については後述する)。 拡大体のサイズ (要素数) は p m となるため、拡大体は Fp m と表記 される。 拡大体の考え方は、実数体に (実数体上の) 既約多項式 z 2 + 1 の根 i(虚数単位) を付加して複素数を構成する場合と同様である。 拡大体の例 F2 上の既約多項式 f (z) = z 3 + z + 1 を考える。この場合、m = 3 であり、f (z) の根 α は f (α) = α3 + α + 1 = 0 を満たす。根 α の付加により得られる有限体 F32 の元は {0, 1, α, α + 1, α2 , α2 + 1, α2 + α, α2 + α + 1} となる。α3 + α + 1 = 0 より、α3 = α + 1 が成り立つ (F2 におい ては、−1 = 1 となることに注意) ため、α の 3 次以上の多項式は この関係式により F32 の元に簡単化される。 拡大体上の計算 乗算 拡大体 Fp m の元 A(α) = am−1 αm−1 + am−2 αm−2 + · · · + a1 α1 + a0 B(α) = bm−1 αm−1 + bm−2 αm−2 + · · · + b1 α1 + b0 の積を A(α) · B(α) = R(α) と定義する。ここで、R(α) は A(α) · B(α) = Q(α)f (α) + R(α) を満たす m − 1 次以下の α の多項式である。 すなわち、多項式の積 A(α)B(α) を既約多項式 f (α) で割った余り が Fp m 上での積となる。 拡大体上の計算 加算 和は A(α), B(α) のそれぞれの多項式の係数同士の和で定義され る。すなわち、 △ A(α) + B(α) = m−1 ∑ (ai + bi )αi i=0 である。 計算例 F2 上既約多項式 f (z) = z 2 + z + 1 により定義される有限体 F22 に おいて、A(α) = α + 1, B(α) = α とするとき、その積は (α + 1) · α = α2 + α mod α2 + α + 1 = α + 1 + α mod α2 + α + 1 = 1 となる。一方、その和 A(α) + B(α) は (α + 1) + α = 1 となる。 F22 における加算 (既約多項式 z 2 + z + 1 の根を α とする) + 0 1 α α+1 0 0 1 α α+1 1 1 0 α+1 α α α α+1 0 1 α+1 α+1 α 1 0 F22 における乗算 (既約多項式 z 2 + z + 1 の根を α とする) · 0 1 α α+1 0 0 0 0 0 1 0 1 α α+1 α 0 α α+1 1 α+1 0 α+1 1 α 非ゼロ元の位数 有限体 Fp m (p は素数) の非ゼロ元 γ について、γe = 1 を満たす最 小の正整数 e を γ の位数と呼び、ord(γ) と表記する。すなわち、 ord(γ) = min{e ∈ N+ : γe = 1} である。 例えば、F2 上の既約多項式 f (z) = z 2 + z + 1 の根を α とする場 合、α1 = α, α2 = α + 1, α3 = 1 となるため、ord(α) = 3 である。 原始元と原始多項式 原始元 素体 Fp 上で定義される m 次既約多項式 f (z) の一つの根を α とす る。α の位数が p m − 1 に等しい、すなわち、 ord(α) = p m − 1 が成り立つとき、根 α を原始元と呼ぶ。 また、原始元 α を根として持つ既約多項式を原始多項式と呼ぶ。 8 次以下の F2 上の原始多項式 m 3 4 5 6 7 8 原始多項式 1 + z + z3 1 + z + z4 1 + z2 + z5 1 + z + z6 1 + z3 + z7 1 + z2 + z3 + z4 + z8 拡大体のべき表現 f (z) を原始多項式とし、その根を α とするとき、 α0 (= 1), α1 , α2 , α3 , . . . , αp n −2 は全て相異なる。この理由は次のとおりである。もし、 αi = αj (1 ≤ i < j ≤ p n − 2) が成り立つならば、αj−i = 1 が成り 立つが、j − i < p n − 1 となるため、仮定 ord(α) = p n − 1 と矛盾 する。 拡大体 Fp m は 0 を含めて p m 個の元を持つことと αk (k ∈ [0, p m − 2]) がすべて相異なることを考え合わせると次の拡大体の表現が自然 に導かれる。 拡大体のベキ表現 αi (i ∈ [0, p m − 2]) は拡大体 Fpm のすべての非ゼロ元と 1 対 1 対応 する。この Fp m の元の表現法をベキ表現と呼ぶ。 原始多項式 f (z) = z 3 + z + 1 により定義される F23 の元 の多項式表現、ベクトル表現、ベキ表現の対応表 F2 上の原始多項式 f (z) = z 3 + z + 1 の根を α とする。 多項式表現 ベクトル表現 ベキ表現 0 (0, 0, 0) 1 (0, 0, 1) α0 α (0, 1, 0) α1 α+1 (0, 1, 1) α3 α2 (1, 0, 0) α2 2 α +1 (1, 0, 1) α6 2 α +α (1, 1, 0) α4 α2 + α + 1 (1, 1, 1) α5 3 (注)α + α + 1 = 0 が成立する。 多項式表現とべき表現 多項式表現された元については加算が容易であり、一方、ベキ表 現された元同士については乗算が容易である。 例えば、f (z) = z 3 + z + 1 で定義される F23 において α2 α3 + α を簡単化してみよう。前ページの表を利用することにより α2 α3 + α = α5 + α = (α2 + α + 1) + α = α2 + 1 = α6 と計算することができる。 線形符号 以下では、q は素数のベキであるとする。 線形符号 集合 C ⊂ Fnq が Fnq の線形部分空間 (linear subspace) となっているとき、C を Fq 上の線形符号と呼ぶ。 すなわち、任意の 2 つの符号 c1 , c2 ∈ C とスカラー a1 , a2 ∈ Fq に 対して a1 c1 + a2 c2 ∈ C が成り立つ。 例: C = {000, 011, 110, 101} は F2 上の線形符号 (2 元線形符号) である。 次元 線形符号 C ⊂ Fnq の次元を k と表記する。このとき、C を [n, k] 符 号と表記する場合がある。 問題 ベクトル中の非ゼロ元の個数をそのベクトルの重みと呼ぶ。Fn2 に 含まれる偶数重みベクトル全体は、Fn2 の線形部分空間を成す (= 線形符号となる)。 1. なぜ部分空間を成すのか。 2. 奇数重みベクトル全体は、線形部分空間にならない。なぜか。 3. n = 3 とする。次元 k はいくらになるか。 4. 基底の例を挙げよ。 1. なぜ部分空間を成すのか。 偶重みの語と偶重みの語を足すと偶重みの語が得られるため。 2. 奇数重みベクトル全体は、線形部分空間にならない。なぜか。 ゼロベクトルが入っていない。 3. n = 3 とする。次元 k はいくらになるか。 k = 2 となる。 4. 基底の例を挙げよ。 例えば、g1 = (101), g2 = (011) の 2 つのベクトルの組は基底 を成す。 生成行列 Fq 上の [n, k] 線形符号 C (符号長 n, 次元 k) のひとつの基底を {g1 , g2 , . . . , gk } とする。ここで、gi ∈ Fnq (i ∈ [1, k]) である。 これらの基底ベクトルを行とする行列 G ∈ Fk×n : q G = g1 g2 .. . gk を生成行列と呼ぶ。 例: F2 上 n = 3 の偶重み符号の生成行列 ( ) 1 0 1 G= 1 1 0 線形符号の符号化 [n, k] 線形符号 C の任意の符号語 c は、基底が定まると一意に c = a1 g1 + a2 g2 + · · · + ak gk と表現できる。ここで、ai ∈ Fq (i ∈ [1, k]) である。 符号化写像 メッセージを符号語に変換する符号化写像 E : Fkq → C を E : u 7→ uG と定義する。 ▶ Fq -[n, k] 線形符号の符号語数は、q k 個 ▶ 符号化写像の時間計算量 O(n2 ) ▶ 空間計算量 O(n2 ) 検査行列 符号 C を Fq -[n, k] 線形符号とする。 Fq 上の r × n 行列 H が与えられている。任意の符号語 c ∈ C に対 して Hc T = 0 が成り立つならば、H を C の検査行列と呼ぶ。 ▶ rank(H) = n − k が成り立つ。 ▶ もし、H の行が一次独立であれば、r = n − k となる。 ▶ H を Fnq → Frq の線形写像と見るとき、その核空間 (kernel) と して、線形符号を表現する流儀。 ▶ HG T = 0 が成り立つ。 検査行列による線形符号の表現 C = {x = (x1 , x2 , . . . , xn ) ∈ Fnq | Hx T = 0} 例: ( H= ( ( 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 0 ( 0 = 0 0 ) 0 ( 1 = 0 1 ) 1 0 1 0 1 1 1 1 ) ) ( ) 1 ( 0 1 0 1 0 0 , = 0 1 1 1 1 1 0 ) ( ) 1 ( 0 1 0 1 0 1 , = 0 1 1 1 1 1 1 0 0 0 0 ) ) リード・ソロモン符号 リード・ソロモン符号は拡大体上で定義される線形符号の一種で ある。リード・ソロモン符号の代数的な特徴を生かした効率の良 い代数的復号法がいくつも知られている。CD、DVD における誤 り訂正符号に利用されるなど非常に広い分野で活用されている。 リード・ソロモン符号の例 最小距離 3 のリード・ソロモン符号 有限体 Fq (q は素数のベキ) 上で定義される次の検査行列 △ (n = q − 1 とする) ( H = 1 α α2 · · · 1 α2 α4 · · · αn−1 α2(n−1) で定まる Fq 上の線形符号 △ C = {x ∈ Fqn : Hx T = 0} を考える。ここで α は Fq の原始元である。 符号 C は、 ▶ 符号長 n = q − 1 ▶ 次元 k = n − 2 というパラメータを持つ。 ) このリード・ソロモン符号に対する代数的復号法 符号 C は任意の 1 シンボルの誤りが訂正可能である。 ここでは、次のような状況を考える。送信側は C の符号語 X ∈ Fnq を送信したものとする。受信側は受信語 Y =X +E を受け取る。ここで、E は長さ n の Fq 上のベクトルであり、その 第 i 成分 (i ∈ [1, n]) だけが誤り値 e ∈ Fq を持ち、他の成分はゼロ であるものと仮定する。 復号手順 (1) シンドロームの計算 受信語に対してシンドロームを S = HY T と計算する。 符号語 X について HX T = 0 が成り立つことから、 S = HY T = H(X + E )t = HE T となる。シンドローム HE T を計算すると ( ) ( ) eαi−1 s1 S= = s2 eα2(i−1) となる。 検査行列再掲 ( H = 1 α α2 · · · 1 α2 α4 · · · αn−1 α2(n−1) ) 復号手順 (2) 誤り箇所・誤り値の計算 1. シンドロームから、s2 /s1 を計算すると s2 eα2(i−1) = = αi−1 s1 eαi−1 が得られる。この結果から第 i シンボルに誤りが生起したこ とが明らかになる。 2. s12 /s2 を計算すると s12 e 2 α2(i−1) = =e s2 eα2(i−1) となるため、誤り位置に加えて誤り値も計算することがで きる。 復号手順 (3) 推定値の算出 これらの情報を総合すると第 i シンボルに誤り e が生じたことが 分かり、E が正しく推定できたことが分かる。 得られた推定誤り E^ を受信語から引くことにより X^ = Y − E^ 推定語 X^ を得る。 行列式に関する基礎事項 行列式 有限体 Fq を要素として持つ n × n 行列 A = {aij } について、その 行列式は、 △ |A| = ∑ sgn(σ)aσ(1),1 aσ(2),1 · · · aσ(n),1 σ∈Π と定義される。ここで、Π は集合 [1, n] 上での置換全体、sgn(σ) は、置換の符号を表す。 例: 2 × 2 行列 △ A= ( a b c d ) について行列式 |A| は |A| = ad − bc となる。 行列式の性質 (1) 性質 1 n × n 行列 (a1 a2 · · · an ) に対して |a1 a2 · · · aai · · · an | = a|a1 a2 · · · ai · · · an | が成り立つ。 性質 2 n × n 行列 (a1 a2 · · · an ) について |a1 a2 · · · ai + aj · · · an | = |a1 a2 · · · ai · · · an | + |a1 a2 · · · aj · · · an | が成り立つ。 性質 3 n × n 行列の転置行列の行列式は元の行列式の行列 式と等しい。すなわち、|AT | = |A| が成り立つ。 行列式の性質 (2) 性質 4 2 つの n × n 行列の積の行列式はそれぞれの行列の 行列式の積に等しい。すなわち、 |AB| = |A||B| が成り立つ。 性質 5 n × n 行列 A = (a1 a2 · · · an ) について |a1 a2 · · · an | ̸= 0 は a1 a2 · · · an が一次独立であるための必要十分条件 である。 ヴァンデルモンドの行列式 リード・ソロモン符号に関する議論には次の形をした行列が頻繁 に登場する。 1 1 1 ··· 1 x1 x2 x3 · · · xn △ 2 2 2 x2 x3 ··· xn2 X = x1 .. .. .. .. . . . ··· . x1n−1 x2n−1 x3n−1 · · · xnn−1 この形の行列をヴァンデルモンド行列と呼ぶ。 ヴァンデルモンドの行列式 行列 X の行列式について、下記の等式が成り立つ。 1 1 1 · · · 1 x1 x2 x3 · · · xn ∏ x2 x22 x32 · · · xn2 = (xi − xj ) 1 .. .. .. .. i>j . . . ··· . n−1 x x n−1 x n−1 · · · x n−1 1 2 3 n 1. もし、相異なる任意の i, j について xi ̸= xj ならば、上式の右 辺はゼロではない 2. 有限体では、非ゼロの元同士の積がゼロになることはない。 3. その場合、行列式の性質 5 より行列 X の列ベクトルは一次独 立となり、X は正則行列となる。 リード・ソロモン符号の定義 リード・ソロモン符号 Fq 上の検査行列 H= △ α α2 α3 .. . α2 α4 α6 .. . ··· ··· ··· .. . αn−1 α2(n−1) α3(n−1) .. . 1 α2t α4t ··· α2t(n−1) 1 1 1 .. . で定められる Fq 上の線形符号 △ C = {c ∈ Fnq : Hc T = 0} をリード・ソロモン符号と呼ぶ。リード・ソロモン符号は [n, k] = [q − 1, q − 1 − 2t] というパラメータを持つ。 リード・ソロモン符号の次元 いま、検査行列 H の任意の 2t 列を取り出して得られる行列を Hsub とする。 j α1 αj2 · · · αj2t 2j1 α2j2 · · · α2j2t △ α Hsub = . .. .. .. .. . . . 2tj 2tj 2tj 1 2 α α · · · α 2t ここで、ji ∈ [0, n − 1](i ∈ [1, 2t]) であり、 jk ̸= jl (k, l ∈ [1, 2t], k ̸= l) である。 リード・ソロモン符号の次元 この Hsub の行列式を考えると j j2 j2t α1 α · · · α α2j1 α2j2 · · · α2j2t |Hsub | = . .. .. .. .. . . . 2tj α 1 α2tj2 · · · α2tj2t 1 1 j 1 α αj2 = αj1 αj2 · · · αj2t .. .. . . α(2t−1)j1 α(2t−1)j2 ··· ··· .. . 1 αj2t .. . ··· α(2t−1)j2t を得る。この変形では、行列式の性質 1 を利用した。ヴァンデル モンドの行列式の性質を利用すると |Hsub | ̸= 0 が結論される。こ の結果は H のランクが 2t であることを示している。したがって、 C の次元 k は k = n − 2t となる。 リード・ソロモン符号に使える誤り訂正アルゴリズム ▶ ピーターソン法 ▶ バーレカンプ・マッシィ法 ▶ ユークリッド法 ▶ スーダン法 リード・ソロモン符号を利用した消失訂正 リード・ソロモン符号は消失訂正符号としても広く利用されてい る。例えば、インターネットなどのパケット交換型ネットワーク のルーターにおいて生じるパケットロスの補償においては消失訂 正が必要となる場合がある。 消失誤りの例: リード・ソロモン符号の符号語 (α2 , α, α0 ) を送ったのに (?, α, α0 ) を受信した (? は消失シンボルを表す)。一シンボル目が見えない 状況に対応する。 今後の議論における前提 1. Fq 上で定義される符号長 n = q − 1, k = n − 2t のリード・ソ ロモン符号の符号語 (c0 , c1 , . . . , cn−1 ) を送信。 2. 受信語を (y0 , y1 , . . . , yn−1 ) とする。 3. 消失位置集合を E ⊂ [0, n − 1] とする。ただし、|E | ≤ 2t と仮 定する。このとき、 { ci , i ∈ /E yi = ?, i ∈ E となる。 部分行列 また、h̃i を αi α2i .. . h̃i = , i ∈ [0, n − 1] α|E |i ˜ } はリード・ソロモン符号を定 で定義すると H̃ = {h˜0 , h˜1 , . . . , hn−1 義する 2t × n 行列 H の部分行列となる (上から |E | 行取り出した もの)。 このとき、パリティ検査条件 H̃(c0 , c1 , . . . , cn−1 )T = 0 から、 ∑ i∈[0,n−1]\E ci h̃i + ∑ ei h̃i = 0 i∈E が成り立つ (消失位置の値を未知変数 ei で表現した)。 連立方程式 消失位置のシンボルを復元するためには、下記の連立方程式を解 けばよい。 αj1 αj2 · · · αj|E | ej1 α2j1 α2j2 · · · α2j|E | ∑ ej2 . . . . . = − ci h̃i .. .. .. .. .. i∈[0,n−1]\E .. ej|E | α|E |j1 α|E |j2 . α|E |j|E | ここで、E = {j1 , j2 , . . . , j|E | } としている。 係数行列の正則性は? リード・ソロモン符号の消失訂正能力 さきほどの連立方程式の係数行列等式の左辺に表れる行列を A と する。行列 A の行列式はヴァンデルモンド行列式に帰着でき、 |A| ̸= 0 であることを示すことができる。したがって、この連立方 程式は唯一の解を持つ。 ▶ 求解には、ガウス消去法などが利用できる。 ▶ |E | ≤ 2t の場合に正しく動く (解の唯一性が保証される)。し たがって、符号長 n = q − 1、次元 k = n − 2t のリード・ソ ロモン符号は 2t 個までの消失を正しく訂正できる。 ▶ 計算量は O(n3 ) である。 局所復号可能符号 局所復号可能符号 (locally decodable/correctable codes) ▶ 受信語の一部のシンボル (sublinear 個) を読 み取ることで、メッセージ (あるいは符号 語) のあるシンボルが推定できる。 ▶ 復号計算量が定数時間 (符号長に依らない) または符号長に対して sublinear ▶ 雑音耐性を持つランダムアクセスデータ構 造を可能とする 応用分野: c(i) Decoding function ▶ ▶ ĉ(i) ▶ ▶ ▶ Private information retrieval セキュアマルチパーティ計算 Average-case complexity PCP 定理との関わり 定義など ▶ ∆(x, y ): 正規化ハミング距離 (通常のハミング距離を長さで 割る) ▶ ベクトル w ∈ Fnq に対して、w (l) で w の l 番目の要素を示す。 局所復号可能符号 以下の条件が満たす、乱択復号アルゴリズム A が存在するとき、 符号 C は (r , δ, ϵ)-局所復号可能符号 (locally correctable code) で ある。 (1) 任意の c ∈ C , i ∈ [1, n] に対して、また、 ∆(c, y ) ≤ δ を満たす任意の y ∈ Fnq に対して、 Prob[A(y , i) = c(i)] ≥ 1 − ϵ (2) A は高々r 個の受信語 y のシンボルを読む。 多変数多項式の全次数 判定多項式の次数について議論する多変数多項式において、各項 の次数はその項に現れる変数のすべての指数を足したものであ り、全次数 (total degree) は、各項の次数の最大値である。 x12 x2 x34 + x12 x22 x32 の場合は、全次数は 7 である。 リード・マラー符号 ▶ n: 変数の数 ▶ 全次数の上限: d ▶ Pn,d : 多項式環 Fq [z1 , z2 , . . . , zn ] に含まれる全次数が高々d の 多項式の集合 ▶ Fnq = {p1 , p2 , . . . , pq n } とする。 リード・マラー符号 RMq (n, d) = {(f (p1 ), f (p2 ), . . . , f (pq n )) | f ∈ Pn,d } (注) 1 変数多項式環の場合、リード・ソロモン符号と一致する。 リード・マラー符号を利用した局所復号アルゴリズム ▶ 符号語の第 i シンボルについて復号を行いたい。 1. v ∈ Fnq を一様ランダムに選択。 2. 直線 L = {pi + λv | λ ∈ Fq } 上の pi 以外の任意の d + 1 個の点 を ℓ(λ1 ), ℓ(λ2 ), . . . , ℓ(λd+1 ) とする。 3. 多項式 g (λ) = f (pi + λv ) を考える。g は次数 d 以下の λ の一変数多項式となってい る。前のステップにより、 g (λi ) = y (ℓ(λi )), i ∈ [1, d + 1] が成立する。多項式補間により g (λ) を求める。 4. g (0) = f (pi ) を求める。 *シャミアの秘密情報分散法にちょっと似ている。 多項式補間について 補間の対象となる多項式 g の次数を仮に d とする: g (x) = ad x d + ad−1 x d−1 + · · · + a2 x 2 + a1 x + a0 ここで、組 g (xi ) = yi (i ∈ [0, d]) を知っているものとする。 1 x0 · · · 1 x1 · · · .. .. . . 1 xd · · · x0d x1d .. . xdd a0 a1 .. . ad = y0 y1 .. . yd 左辺に現れる行列は、ヴァンデルモンド行列であるので正則であ る。したがって、この状況で多項式 g は唯一定まる。具体的に多 項式補間を行うには、この連立方程式を解けばよい。 復号成功確率について ▶ 受信語の中で nδ 個の受信シンボルは誤っている。 ▶ 任意のひとつのサンプルは一様ランダムに選択されている。 ▶ すべてのサンプル値 {e1 , e2 , . . . , ed+1 } が誤っていない確率は? Psuccess 1−δ δ (A) no errors (B) = Prob[All d + 1 samples come from A] = 1 − Prob [(e1 ∈ B) ∪ (e2 ∈ B) ∪ · · · ∪ (ed+1 ∈ B)] ≥ 1− d+1 ∑ Prob [(ei ∈ B)] i=1 = 1 − (d + 1)δ したがって、RMq (n, d) は、(r , δ, ϵ) = (d + 1, δ, (d + 1)δ)-局所復 号可能符号である。 前半のサマリー 次の項目について説明を行った。 ▶ 有限体 ▶ 線形符号 ▶ リード・ソロモン符号の性質 ▶ リード・ソロモン符号の消失訂正 ▶ 局所復号可能符号 (locally decodable/correctable code)
© Copyright 2024 Paperzz