基本情報技術者試験「ハミング距離」の問題
2つのビット列 1011010 と 1001110 のハミング距離はいくらか。
ア2である
イ3と数えられる
ウ1だけ
エ4になる
正解
ア.2である
1011010と1001110を上位から比較すると、1=1,0=0,1≠0,1=1,0≠1,1=1,0=0。異なるのは2か所なのでハミング距離は2で正しい。
?選択肢ごとの解説
ア ○1011010と1001110を上位から比較すると、1=1,0=0,1≠0,1=1,0≠1,1=1,0=0。異なるのは2か所なのでハミング距離は2で正しい。
イ ×3と数えられるは異なる桁の数え間違いで、一致している桁を誤って不一致と数えた誤りである。
ウ ×1だけは相違箇所を1か所しか数えず、もう1か所の不一致を見落とした誤りである。
エ ×4になるは一致桁まで含めて過大に数えた誤りで、実際の相違は2か所である。
✎くわしく
ハミング距離は2つの符号語で値が異なるビット数であり、桁ごとの排他的論理和の1の個数に等しい。符号全体の最小ハミング距離が大きいほど誤り検出・訂正能力が高まるため、符号設計の基礎指標となる。
✓本番での押さえどころ
試験のコツ
2つの列を縦にそろえ、桁ごとに『同じか違うか』を数える。排他的論理和をとって1の個数を数えても同じ結果になる。
覚え方
ハミング距離=『何文字書き換えれば一致するか』。違う桁を指で数える、と覚える。
よくある誤り
一致桁と不一致桁を逆に数える、長さの違うビット列で位置をずらして比較する誤りが多い。同じ桁位置で1対1に比較する。
基礎理論の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0116