令和元年度 基礎科目の一覧へ

令和元年度・基礎科目 I-2-5

ハミング距離と誤り訂正

問題文をPDFで見る

解説

ポイント

ハミング距離の数え方と,7ビットのハミング符号で1ビットの誤りを直して送信ビット列を求める問題です。

考え方と解き方

ハミング距離は,同じ長さの2つのビット列でちがっている位置の数です。

誤りを直すには,受信した X1〜X4 から検査ビット X5〜X7 を計算し直し,受信した X5〜X7 と比べます。合わない検査ビットの組合せで,誤った位置が1つに決まります。

ア:「1110001」と「0001110」を1けたずつ比べると,1と0,1と0,1と0,0と1,0と1,0と1,1と0 で,7けたともちがいます。ア=7

イ:受信「1001010」なので X1=1,X2=0,X3=0,X4=1,受信した X5=0,X6=1,X7=0

  • 計算し直すと X5 = 0+0+1 = 1,X6 = 1+0+1 = 2 → 0,X7 = 1+0+1 = 2 → 0
  • 計算した (1,0,0) と受信した (0,1,0) を比べると,X5 と X6 が合わず,X7 は合っています
  • X5 と X6 の両方の式に入り,X7 の式に入らないのは X3 です。X3 が誤っています
  • X3 を 0 → 1 に直すと「1011010」。確かめ:X1〜X4 = 1,0,1,1 から X5 = 0,X6 = 1,X7 = 0 で,受信した検査ビットと一致します。答えは ア 7,イ 「1011010」

ほかの選択肢

①・④(イが「1001010」):受信したままの列です。検査ビットを計算し直すと合わないので,誤りが残っています。

覚えておくこと

  • ハミング距離:同じ長さのビット列で,ちがっている位置の数
  • mod 2 は2で割った余り。1の個数が偶数なら 0,奇数なら 1
  • ハミング符号の誤り訂正:検査ビットを計算し直し,合わない検査ビットの組合せから誤った1ビットの位置を決める
  • X1 は X6・X7,X2 は X5・X7,X3 は X5・X6,X4 は X5・X6・X7 の式に入る

出典:令和元年度 技術士第一次試験 基礎科目 I-2-5(公益社団法人日本技術士会) ジャンル:情報・アルゴリズム