技術士 過去問
令和4年度(2022年)
問10 (基礎科目「情報・論理に関するもの」 問4)
問題文
同じ長さの2つのビット列に対して、対応する位置のビットが異なっている箇所の数をそれらのハミング距離と呼ぶ。ビット列「0101011」と「0110000」のハミング距離は、表1のように考えると4であり、ビット列「1110101」と「1001111」のハミング距離は( ア )である。4ビットの情報ビット列「X1 X2 X3 X4」に対して、「X5 X6 X7」をX5 = X2 + X3 + X4(mod 2),X6 = X1 + X3 + X4(mod 2),X7 = X1 + X2 + X4(mod 2)(mod 2は整数を2で割った余りを表す)とおき、これらを付加したビット列「X1 X2 X3 X4 X5 X6 X7」を考えると、任意の2つのビット列のハミング距離が3以上であることが知られている。このビット列「X1 X2 X3 X4 X5 X6 X7」を送信し通信を行ったときに、通信過程で高々1ビットしか通信の誤りが起こらないという仮定の下で、受信ビット列が「0100110」であったとき、表2のように考えると「1100110」が送信ビット列であることがわかる。同じ仮定の下で、受信ビット列が「1000010」であったとき、送信ビット列は( イ )であることがわかる。
このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。
問題
技術士試験 令和4年度(2022年) 問10(基礎科目「情報・論理に関するもの」 問4) (訂正依頼・報告はこちら)
同じ長さの2つのビット列に対して、対応する位置のビットが異なっている箇所の数をそれらのハミング距離と呼ぶ。ビット列「0101011」と「0110000」のハミング距離は、表1のように考えると4であり、ビット列「1110101」と「1001111」のハミング距離は( ア )である。4ビットの情報ビット列「X1 X2 X3 X4」に対して、「X5 X6 X7」をX5 = X2 + X3 + X4(mod 2),X6 = X1 + X3 + X4(mod 2),X7 = X1 + X2 + X4(mod 2)(mod 2は整数を2で割った余りを表す)とおき、これらを付加したビット列「X1 X2 X3 X4 X5 X6 X7」を考えると、任意の2つのビット列のハミング距離が3以上であることが知られている。このビット列「X1 X2 X3 X4 X5 X6 X7」を送信し通信を行ったときに、通信過程で高々1ビットしか通信の誤りが起こらないという仮定の下で、受信ビット列が「0100110」であったとき、表2のように考えると「1100110」が送信ビット列であることがわかる。同じ仮定の下で、受信ビット列が「1000010」であったとき、送信ビット列は( イ )であることがわかる。
- ア:4 イ:「0000010」
- ア:5 イ:「1100010」
- ア:4 イ:「1001010」
- ア:5 イ:「1000110」
- ア:4 イ:「1000011」
正解!素晴らしいです
残念...
この過去問の解説 (3件)
01
一見「ハミング距離」を理解していないと解けない問題のように思えますが、表1に計算方法が示されていますので、これを手掛かりに計算します。これから計算しますと、「ア」は容易に「4」となります。
同様に表2をもとにしますが、受信ビット列が「1000010」であるので、これから一部のあやまり(最小数)を考慮すると「1000011」が送信ビット列として適切なことがわかります。
上記のハミング距離と送信ビット列の値から、本選択肢が正解となります。
こちらも問題文の中に、計算のヒントが十分ありますので、これらを基に計算できます。
参考になった数26
この解説の修正を提案する
02
この問題では、受信ビット列「1000010」から、誤りが1ビット以内であることを前提に送信ビット列を求めます。
アは、ビット列『1110101』と『1001111』を左から1桁ずつ比べると、異なる位置が4か所あるため、4になります。
X1 X2 X3 X4 を 1 0 0 0 とすると、
X5=X2+X3+X4 mod 2 = 0
X6=X1+X3+X4 mod 2 = 1
X7=X1+X2+X4 mod 2 = 1
となります。
したがって、送信ビット列は「1000011」です。
受信ビット列「1000010」と比べると、最後の1ビットだけが異なっているので、この選択肢が正しいです。
余りを考えれば算出できます。
参考になった数12
この解説の修正を提案する
03
ハミング距離に関する問題です。
ア:
下表から 4 が答えです。
イ:
問題の表、受信ビット列が「1000010」の場合を使います。
表から、送信ビット「1000011」の場合、
負荷ビットX5X6X7=(X2X3X4)(X1X3X4)(X1X2X4)=011とが致しますので、
送信ビットは、1000011 です。
正
冒頭解説のようになります。
参考になった数0
この解説の修正を提案する
前の問題(問9)へ
令和4年度(2022年) 問題一覧
次の問題(問11)へ