下図はディジタル技術検定 2 級制御部門第 52 回の (4) である。

電気、情報関連に携わっている人で数学的取り扱いに不慣れな人は逃げ出したくなるような問題かも知れない。が、選択問題だし冷静に考えればそんなに難しいことを言っているわけではないので、これを機会にさわりだけでも身につけておくと良い。
文言が分かりづらいので加筆して全文を書いてみた。
「長さ n の 2 元符号(0 と 1 しかないということ)における 1 ビット誤りの数(1 ビット誤りとなる場合の数、あるいは組み合わせ)は(2)n 個であるから、単一誤り(1 ビット誤りが n 個中 1 カ所あるということ)を訂正するためには、誤りのないものも含めて 1 情報(ここでは長さ n の 2 元符号の塊)当たり(3)n + 1 個(通り)の符号が必要である(準備されていなくてはいけない)。一方、長さ n の 2 元符号の個数(場合の数、組み合わせの数)は(5)2 ^ n であるから、長さ n の単一誤り訂正 2 元符号(1 ビットの誤りが 1 個だけなら検出~訂正できる能力のある符号)を用いて送ることの出来る情報の数(情報の組み合わせの数)M は、(7)2 ^n / (n + 1) を越えることは出来ない。
どうもこういう文章を書く人は正確さあるいは汎用性を気にしすぎて、わかりにくい文言を選ぶ傾向がある。カッコ内は私が加筆したものだが、これで分かるだろうか。具体的な数字を挙げてみよう。
過去問題でよく出てくるのが、4 ビットの情報に 3 ビットの検査ビットを付け加えて (7, 4) 線型符号というものがある。
送信すべき必要な情報は 4 ビットだが、1 ビット誤りまではありうるということで 3 ビット冗長させて、受信側で誤りがあったら検出して訂正しようというものだ。
この場合問題文の n は 7 であり、その中で 1 ビット誤りが発生するとすると、その発生パターンは 7 通りであるということだ。
ぶっちゃけ、(1 0 0 0 0 0 0) か (0 1 0 0 0 0 0) か (0 0 1 0 0 0 0) か (0 0 0 1 0 0 0) か (0 0 0 0 1 0 0) か (0 0 0 0 0 1 0) か (0 0 0 0 0 0 1) のいずれかである。この '1' はそこのビットが反転するという意味で、送信データの 7 ビットとこれらのいずれかとがビット毎に XOR 演算したものが受信された、ということになる。誤りのパターンは 7 通りだが、誤りが発生していなかったことを忘れては困る、ということで受信された 7 ビットを検査した結果得られるパターンは 1 を加えて 8 パターンとなる。これが n + 1 の意味になる。
今の例では検査ビットととして 3 ビット冗長なビットを加えた。この 3 ビットで表現できる組み合わせは 2 ^ 3 = 8 パターンである。よって 7 種類の誤りパターンと誤りがないというパターンを加えた 8 通りのパターンを表現することが可能であることが分かる。
最後のMだが、2 ^ 7 / (7 + 1) = 16 ということになり、元々送りたかったのが 4 ビットであって 4 ビットで表現できるデータのパターンは 2 ^ 4 = 16 ということで整合性がとれている。
この問題はビット単位についての誤り訂正技術の基本となるような内容だが、バイト単位で誤り訂正を行う技術の代表的なものにリード/ソロモン符号というのがある。書庫「誤り訂正技術に挑戦!」でも触れているので参考になれば幸いである。
下図はディジタル技術検定 2 級制御部門第 52 回の (5) と (6) である。


論理関数の問題で、3 級の解説でさんざんやったので大丈夫ではないかと思うが、ゲート回路表現が全部 NAND になっているのが混乱を招くかも知れない。下図を見て欲しい。

選択肢のいずれも回路の右側は同じ構成になっている。つまり上図のように 2 入力の NAND ゲートが 3 つあってその出力を 3 入力の NAND ゲートで受けているわけだが、それは上図の右の回路のようにド・モルガンの法則によって視覚的に簡単化され、単なる積和論理関数になっていることが分かる。
なので最初のベイチの図から多少なりとも簡単化された論理積の形を抜き出して、それらを論理和すればよい。
ここでは A B' + A'B + A'C または A B' + A'B + B'C のいずれか(最初の 2 項は外せないが、取り残されている 1 カ所をどこと組み合わせるかということ。いずれも正解である)になり、ここでは前者を表現している(4)が正解となる。論理式も前者で(3)となる。
← にほんブログ村「科学」-「技術・工学」へ
↑ クリックをお願いします。

電気、情報関連に携わっている人で数学的取り扱いに不慣れな人は逃げ出したくなるような問題かも知れない。が、選択問題だし冷静に考えればそんなに難しいことを言っているわけではないので、これを機会にさわりだけでも身につけておくと良い。
文言が分かりづらいので加筆して全文を書いてみた。
「長さ n の 2 元符号(0 と 1 しかないということ)における 1 ビット誤りの数(1 ビット誤りとなる場合の数、あるいは組み合わせ)は(2)n 個であるから、単一誤り(1 ビット誤りが n 個中 1 カ所あるということ)を訂正するためには、誤りのないものも含めて 1 情報(ここでは長さ n の 2 元符号の塊)当たり(3)n + 1 個(通り)の符号が必要である(準備されていなくてはいけない)。一方、長さ n の 2 元符号の個数(場合の数、組み合わせの数)は(5)2 ^ n であるから、長さ n の単一誤り訂正 2 元符号(1 ビットの誤りが 1 個だけなら検出~訂正できる能力のある符号)を用いて送ることの出来る情報の数(情報の組み合わせの数)M は、(7)2 ^n / (n + 1) を越えることは出来ない。
どうもこういう文章を書く人は正確さあるいは汎用性を気にしすぎて、わかりにくい文言を選ぶ傾向がある。カッコ内は私が加筆したものだが、これで分かるだろうか。具体的な数字を挙げてみよう。
過去問題でよく出てくるのが、4 ビットの情報に 3 ビットの検査ビットを付け加えて (7, 4) 線型符号というものがある。
送信すべき必要な情報は 4 ビットだが、1 ビット誤りまではありうるということで 3 ビット冗長させて、受信側で誤りがあったら検出して訂正しようというものだ。
この場合問題文の n は 7 であり、その中で 1 ビット誤りが発生するとすると、その発生パターンは 7 通りであるということだ。
ぶっちゃけ、(1 0 0 0 0 0 0) か (0 1 0 0 0 0 0) か (0 0 1 0 0 0 0) か (0 0 0 1 0 0 0) か (0 0 0 0 1 0 0) か (0 0 0 0 0 1 0) か (0 0 0 0 0 0 1) のいずれかである。この '1' はそこのビットが反転するという意味で、送信データの 7 ビットとこれらのいずれかとがビット毎に XOR 演算したものが受信された、ということになる。誤りのパターンは 7 通りだが、誤りが発生していなかったことを忘れては困る、ということで受信された 7 ビットを検査した結果得られるパターンは 1 を加えて 8 パターンとなる。これが n + 1 の意味になる。
今の例では検査ビットととして 3 ビット冗長なビットを加えた。この 3 ビットで表現できる組み合わせは 2 ^ 3 = 8 パターンである。よって 7 種類の誤りパターンと誤りがないというパターンを加えた 8 通りのパターンを表現することが可能であることが分かる。
最後のMだが、2 ^ 7 / (7 + 1) = 16 ということになり、元々送りたかったのが 4 ビットであって 4 ビットで表現できるデータのパターンは 2 ^ 4 = 16 ということで整合性がとれている。
この問題はビット単位についての誤り訂正技術の基本となるような内容だが、バイト単位で誤り訂正を行う技術の代表的なものにリード/ソロモン符号というのがある。書庫「誤り訂正技術に挑戦!」でも触れているので参考になれば幸いである。
下図はディジタル技術検定 2 級制御部門第 52 回の (5) と (6) である。


論理関数の問題で、3 級の解説でさんざんやったので大丈夫ではないかと思うが、ゲート回路表現が全部 NAND になっているのが混乱を招くかも知れない。下図を見て欲しい。

選択肢のいずれも回路の右側は同じ構成になっている。つまり上図のように 2 入力の NAND ゲートが 3 つあってその出力を 3 入力の NAND ゲートで受けているわけだが、それは上図の右の回路のようにド・モルガンの法則によって視覚的に簡単化され、単なる積和論理関数になっていることが分かる。
なので最初のベイチの図から多少なりとも簡単化された論理積の形を抜き出して、それらを論理和すればよい。
ここでは A B' + A'B + A'C または A B' + A'B + B'C のいずれか(最初の 2 項は外せないが、取り残されている 1 カ所をどこと組み合わせるかということ。いずれも正解である)になり、ここでは前者を表現している(4)が正解となる。論理式も前者で(3)となる。

↑ クリックをお願いします。