0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【基礎理論】応用情報 令和6年春問4【解説】

0
Posted at

問題

符号長7ビット,情報ビット数4ビットのハミング符号による誤り訂正の方法を,次のとおりとする。
受信した7ビットの符号語 $x_1 x_2 x_3 x_4 x_5 x_6 x_7$($x_k=0$ 又は $1$)に対して
$c_0 = x_1 + x_3 + x_5 + x_7$
$c_1 = x_2 + x_3 + x_6 + x_7$
$c_2 = x_4 + x_5 + x_6 + x_7$
(いずれも mod 2 での計算)
を計算し,$c_0, c_1, c_2$ の中に少なくとも一つは0でないものがある場合には,
$i = c_0 + c_1 \times 2 + c_2 \times 4$
を求めて,左から $i$ ビット目を反転することによって誤りを訂正する。
受信した符号語が 1000101 であった場合,誤り訂正後の符号語はどれか。

ア:1000001  イ:1000101  ウ:1001101  エ:1010101

何を聞かれているのか

受信した符号語1000101の誤りを訂正した後の値が何かを聞かれている。

答え

正解は 「エ:1010101」 です。

一見すると複雑な数式に見えますが、これは単なる 「荷物の検品マニュアル」 です。
手順通りに計算(検品)していけば、誰でも確実に「間違っているビット」を見つけ出し、
修復することができます。

解説

まず、問題文にある「mod 2 での計算」とは、
足し算した結果、 「1の数が奇数なら1、偶数なら0」 にするというだけのシンプルなルールです。

届いた荷物(符号語)は 1000101 です。
これを左から順に $x_1$ から $x_7$ の箱に入れます。

  • $x_1=1, x_2=0, x_3=0, x_4=0, x_5=1, x_6=0, x_7=1$

$x_n$に各ビットの値を当てはめているだけですね。

手順1:3つのチェック(検品)を実行する

問題文の数式通りに、指定された箱の中身(1か0)を足し合わせます。

(いずれも mod 2 での計算)
を計算し,$c_0, c_1, c_2$ の中に少なくとも一つは0でないものがある場合には,

つまり、mod 2の計算結果が「1(合計が奇数)」になったら「異常あり」と判断します。

  • チェック $c_0$ (1, 3, 5, 7番の箱)
    • $1 + 0 + 1 + 1 = 3$
    • 奇数なので、$c_0 = 1$ (異常あり!)
  • チェック $c_1$ (2, 3, 6, 7番の箱)
    • $0 + 0 + 0 + 1 = 1$
    • 奇数なので、$c_1 = 1$ (異常あり!)
  • チェック $c_2$ (4, 5, 6, 7番の箱)
    • $0 + 1 + 0 + 1 = 2$
    • 偶数なので、$c_2 = 0$ (異常なし)

手順2:犯人(誤り位置)を特定する

問題文の数式通りに、先ほど出した $c_0, c_1, c_2$ の結果を当てはめます。

$$ i = c_0 + c_1 \times 2 + c_2 \times 4 $$
$$ i = 1 + 1 \times 2 + 0 \times 4 $$
$$ i = 1 + 2 + 0 = 3 $$

誤りは 「左から3番目の箱」 だと特定できました!

手順3:誤りを訂正する

元の荷物は 1000101 でした。
左から3番目の箱には「0」が入っていましたが、これが間違い(エラー)になります。
なので、これを「1」に反転(訂正)させます。

  • 訂正前: $10\mathbf{0}0101$
  • 訂正後: $10\mathbf{1}0101$

したがって、正解は エ:1010101 となります!

まとめ:

通信の世界では、ノイズなどでデータの一部が壊れる(0と1が反転する)ことがよくあります。
ハミング符号は、送りたい純粋なデータ(情報ビット)に、エラーチェック用のオマケ(パリティビット)をくっつけて送ることで、 「受け取った側が自力でエラーを見つけて直せる」 という仕組みです。

ハミング.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?