技術士 過去問
令和6年度(2024年)
問10 (基礎科目「情報・論理に関するもの」 問4)

このページは閲覧用ページです。
履歴を残すには、 「新しく出題する(ここをクリック)」 をご利用ください。

問題

技術士試験 令和6年度(2024年) 問10(基礎科目「情報・論理に関するもの」 問4) (訂正依頼・報告はこちら)

データをネットワークで伝送する場合には、ノイズ等の原因で一部のビットが反転する伝送誤りが発生する可能性がある。 伝送誤りを検出するために、データの末尾に1ビットの符号を付加して伝送する方法を考える。 付加するビットの値は、元のデータの中の値が「1」のビットの数が偶数であれば 「0」、奇数であれば 「1」とする。
例えば、元のデータが 「1010100」 という7ビットであるとき 値が 「1」のビットは3個で奇数である。 よって付加するビットは 「1」 であり、「10101001」 という8ビットを伝送する。
この伝送誤りの検出に関する次の記述のうち、最も適切なものはどれか。
  • データの中の1ビットが反転したことを検出するためには、元のデータは8ビット以下でなければならない。
  • データの中の1ビットが反転したことを検出するためには、元のデータは2ビット以上でなければならない。
  • 8ビットのデータの中の1ビットが反転した場合には、どのビットが反転したかを特定できる。
  • データによっては付加するビットの値を決められないことがある。
  • データの中の2ビットが反転した場合には、伝送誤りを検出できない。

次の問題へ

正解!素晴らしいです

残念...

この過去問の解説 (3件)

01

伝送誤りの検出に関する問題です。伝送誤りの検出にはいくつかの方法がありますが、本設問のような方法をパリティチェックといいます。

選択肢1. データの中の1ビットが反転したことを検出するためには、元のデータは8ビット以下でなければならない。

本選択肢は不適切です。元のデータが何ビットであっても、1ビットが反転したことは検出できます。

選択肢2. データの中の1ビットが反転したことを検出するためには、元のデータは2ビット以上でなければならない。

本選択肢は不適切です。1ビットのデータであっても、反転を検出することができます。

選択肢3. 8ビットのデータの中の1ビットが反転した場合には、どのビットが反転したかを特定できる。

本選択肢は不適切です。反転の検出は可能ですが、その位置を特定することはできません。どのビットが反転したかを特定するには、別の手法が必要です。

選択肢4. データによっては付加するビットの値を決められないことがある。

本選択肢は不適切です。データ内の「1」のビットの数が偶数か奇数かによって決まります。どのようなデータであっても、付加するビットの値を決めることは可能です。

選択肢5. データの中の2ビットが反転した場合には、伝送誤りを検出できない。

本設問は適切です。

まとめ

パリティチェックは、伝送誤りを検出するシンプルな方法です。1ビットの誤りは検出可能ですが、2ビット以上の誤りが発生すると検出が困難になるという欠点があります。

参考になった数48

02

データ通信の分野では、伝送経路上でノイズなどの影響を受け、ビットが反転(0が1、1が0になる)してしまうことがあります。このような誤りを検出するために、最も基本的な方法としてパリティ検査が利用されます。

パリティ検査について正誤を確認していきましょう。

選択肢1. データの中の1ビットが反転したことを検出するためには、元のデータは8ビット以下でなければならない。

不適切。

「1ビットの誤りを検出するには元データが8ビット以下でなければならない」とありますが、パリティ方式はデータ長に依存しません。どのようなビット数であっても、1ビットだけが反転した場合には必ず誤りを検出できます。

 

選択肢2. データの中の1ビットが反転したことを検出するためには、元のデータは2ビット以上でなければならない。

不適切。

「データは2ビット以上でなければならない」という条件は存在しません。

たとえ1ビットだけのデータであっても、パリティビットを付けることは可能です。

 

 

選択肢3. 8ビットのデータの中の1ビットが反転した場合には、どのビットが反転したかを特定できる。

不適切。

パリティ検査は、あくまで誤りの発生を検知するための仕組みです。

誤りがどのビットで発生したかを特定することはできません。

ビット位置まで識別するには、ハミング符号(Hamming Code)などの誤り訂正符号を用いる必要があります。

 

 

選択肢4. データによっては付加するビットの値を決められないことがある。

不適切。

「付加ビットの値を決められないデータがある」とする記述は不適切です。

どのデータに対しても「1」の個数は必ず数えられるため、偶奇の判断は常に可能であり、パリティビットが決定できないケースは存在しません。

 

 

選択肢5. データの中の2ビットが反転した場合には、伝送誤りを検出できない。

適切。

2ビットが同時に反転した場合、全体の「1」の数の偶奇は変化しません。

たとえば2箇所が反転すれば、「1」が2つ増えるか2つ減るため、偶数・奇数の状態は元のままになります。したがって2ビット誤りでは検出に失敗することがあり、この方式の限界を示しています。

 

 

まとめ

パリティ検査の基本を確認するもので難易度は高くないと思われます。

この設問で扱われている偶数パリティ方式は、1ビット誤りを確実に検出できるシンプルで軽量な手法です。偶数個の誤り(2ビット・4ビットなど)が発生した場合には検出できない等、重要なポイントですのでしっかり押さえておきましょう。

参考になった数7

03

これは パリティビット(偶奇検査符号) を使った誤り検出の問題ですね。
ポイントを整理します。

選択肢1. データの中の1ビットが反転したことを検出するためには、元のデータは8ビット以下でなければならない。

この選択肢は誤りです。

パリティチェックは「全体の1の数の偶奇」を見るだけです。

データが 1ビットでも 100ビットでも、1ビット誤りは必ず偶奇が変わるので検出できます。

したがって データ長には制限がありません

選択肢2. データの中の1ビットが反転したことを検出するためには、元のデータは2ビット以上でなければならない。

この選択肢は誤りです。

1ビットのデータでも問題なく検出できます。
例)データ=「1」ならパリティ=「1」を付けて送れます。送信「11」→もしデータビットが反転して「01」になれば、1の数は奇数になり誤りを検出できます。

よって 1ビットデータでも検出可能です

選択肢3. 8ビットのデータの中の1ビットが反転した場合には、どのビットが反転したかを特定できる。

この選択肢は誤りです。

パリティチェックは「誤りがあったかどうか」だけ分かります。

「どの位置のビットが壊れたか」を知ることはできません。

特定したいならハミング符号などの別の方式が必要です。

選択肢4. データによっては付加するビットの値を決められないことがある。

この選択肢は誤りです。

付加するビットの値は「データの1の数が偶数か奇数か」で一意に決まります。

どんなデータでも必ず 0 か 1 のどちらかになるので、決められないことはないです

選択肢5. データの中の2ビットが反転した場合には、伝送誤りを検出できない。

本選択肢は正しいです。

まとめ

今回の方法は パリティチェック(偶数パリティ)です

送信するビット列全体の「1 の個数」を 偶数 にするように末尾に1ビット付けます。

受信側は受け取ったビット列の1の個数が偶数かをチェックします。

 

検出できる・できない

検出できる:反転したビットの数が 奇数 の場合(例:1ビット反転)。

検出できない:反転したビットの数が 偶数 の場合(例:2ビット、4ビット反転)。

選択肢への回答(結論)

正しいのは 選択肢5「データの中の2ビットが反転した場合には、伝送誤りを検出できない。」

 

よって選択肢5が正解になります。

参考になった数1