基礎科目・情報・アルゴリズム
誤り検出と検査数字
6問H26・H28・R1・R4・R5・R6
パリティビットで分かること、ハミング距離とハミング符号による1ビット訂正、ISBNの検査数字の計算が出ます。
よく出る形
- パリティビットを1ビット付ける方式で,正しい記述を選ぶ
- 2つのビット列のハミング距離を数え,7ビットのハミング符号で受信した列から,正しい送信列を求める
- ISBN(本の番号)の読めない1桁を,検査の式から求める
- パリティ・ハミング符号・ISBN の3つが交代で出る。同じ型どうしは数字や記述の入れ替えが多い
覚えること
- 偶数パリティ:1の個数が偶数になるように最後に1ビット付ける
- パリティは,奇数個のビットの反転は見つけられるが,2ビットなど偶数個の反転は見つけられない。どのビットが反転したかも分からない
- ハミング距離:同じ長さの2つのビット列で,ちがっている桁の数
- mod 2 は「2で割った余り」。1の個数が偶数なら 0,奇数なら 1
- ハミング符号(7ビット)は,情報4ビット X1〜X4 に検査3ビット X5〜X7 を付け,1ビットの誤りなら場所まで分かって直せる
- ISBN-13:左から1倍・3倍・1倍…と交互に重みを掛けて足すと,合計が10の倍数になる。ISBN-10 は重みが10,9,…,2 で,11 で割る方式(モジュラス11)
- 符号語どうしのハミング距離の最小値が d の符号は,d − 1 ビットまでの誤りを検出でき,(d − 1) ÷ 2 ビット(小数は切り捨て)までの誤りを訂正できる
- パリティ1ビット(d = 2)は検出だけ。7ビットのハミング符号(d = 3)は1ビット訂正ができる
- 水平垂直パリティ:各行と各列にパリティを付ける。1ビットの誤りは,合わない行と列の交わる位置で特定して直せる
- CRC(巡回冗長検査):データを決まった式で割った余りを付けて送る。連続した誤り(バースト誤り)の検出に強い。ふつうは見つけたら送り直しを求め,すべての誤りを訂正する方式ではない
解き方
- ハミング符号では,受け取った X1〜X4 から X5〜X7 を計算し直し,受け取った X5〜X7 と比べる
- ずれた検査ビットが1つだけなら,その検査ビット自身の誤り
- 2つ以上ずれていたら,そのすべてに入っている情報ビットが誤り(問題の式で,どの X がどの検査ビットに入っているかを見る)
- 例:X5=X2+X3+X4,X6=X1+X3+X4,X7=X1+X2+X4 のとき,X5 と X6 だけがずれたら,両方に入り X7 に入らない X3 が誤り
- ISBN-13 の例:X 以外の重み付き合計が 91 なら,91 + X が10の倍数になる X = 9
- 読めない桁が3倍の位置なら,X 以外の合計 + 3X が10の倍数になる X を,一の位で考えて探す
ひっかけ
- 「パリティでどのビットが反転したか特定できる」は誤り
- ハミング符号の問題では,受信した列をそのまま答えた選択肢や,2ビット以上直した選択肢がまぎれている
- 読めない桁が3倍の位置なのに,1倍として計算しない
- CRC は誤りを見つける方式で,どんな誤りでも訂正できるわけではない
このテーマの過去問(このサイトに解説がある 4問)
- 令和6年度パリティビットによる誤り検出基礎科目 I-2-4解説を読む
- 令和5年度ISBN-13のチェックディジット基礎科目 I-2-3解説を読む
- 令和4年度ハミング距離と誤り訂正基礎科目 I-2-4解説を読む
- 令和元年度ハミング距離と誤り訂正基礎科目 I-2-5解説を読む
平成に出た同じテーマ(2問)
このサイトにはまだ解説がありません。年度と題だけです。
- 平成28年度パリティビット
- 平成26年度ISBN-10の検査数字