問 題
論理関数について、次の(a)及び(b)の問に答えよ。
(a) 論理式 \(X \cdot Y \cdot Z + X \cdot \overline{Y} \cdot \overline{Z} + \overline{X} \cdot Y \cdot Z + X \cdot \overline{Y} \cdot Z\) を積和形式で簡単化したものとして、正しいものを次の(1)~(5)のうちから一つ選べ。
- \(X \cdot Y + X \cdot Z\)
- \(X \cdot \overline{Y} + Y \cdot Z\)
- \(\overline{X} \cdot Y + X \cdot Z\)
- \(X \cdot Y + \overline{Y} \cdot Z\)
- \(X \cdot Y + \overline{X} \cdot Z\)
(b) 論理式 \((X + Y + Z) \cdot (X + Y + \overline{Z}) \cdot (X + \overline{Y} + Z)\) を和積形式で、簡単化したものとして、正しいものを次の(1)~(5)のうちから一つ選べ。
- \((X + Y) \cdot (X + Z)\)
- \((X + \overline{Y}) \cdot (X + Z)\)
- \((X + Y) \cdot (Y + \overline{Z})\)
- \((X + \overline{Y}) \cdot (Y + Z)\)
- \((X + Z) \cdot (Y + \overline{Z})\)
解 説
(a)
問題の論理式は、 XYZ で構成された項が 4 セット並んでいます。このうち、 1 項目と 3 項目、2 項目と 4 項目は、それぞれ 2 つの変数が共通しているため、以下のように共通因数でくくることができます。
\begin{aligned} &X \cdot Y \cdot Z + X \cdot \overline{Y} \cdot \overline{Z} + \overline{X} \cdot Y \cdot Z + X \cdot \overline{Y} \cdot Z \\[12pt] &= (X + \overline{X}) \cdot Y \cdot Z + X \cdot \overline{Y} \cdot (\overline{Z} + Z) \quad \cdots(1) \end{aligned}
ここで、ブール代数の基本公式より、ある変数とその否定の和は常に 1 となるため(\(X + \overline{X} = 1\)、\(\overline{Z} + Z = 1\))、(1)式は次のように表されます。
\begin{aligned} &X \cdot Y \cdot Z + X \cdot \overline{Y} \cdot \overline{Z} + \overline{X} \cdot Y \cdot Z + X \cdot \overline{Y} \cdot Z \\[12pt] &= (X + \overline{X}) \cdot Y \cdot Z + X \cdot \overline{Y} \cdot (\overline{Z} + Z) \\[12pt] &= 1 \cdot Y \cdot Z + X \cdot \overline{Y} \cdot 1 \\[12pt] &= X \cdot \overline{Y} + Y \cdot Z \quad \cdots(2) \end{aligned}
以上から、(a)の正解は(2)となります。
(b)
ここでは、正攻法による計算を行う前に、論理式の対称性に着目して短時間で正解を絞り込む手法を紹介します。
問題で与えられた論理式 \((X + Y + Z) \cdot (X + Y + \overline{Z}) \cdot (X + \overline{Y} + Z)\) を見ると、変数 Y と Z はまったく同等(等価)な扱いで含まれていることが分かります。 Y と Z を入れ替えても式全体の意味は変わりません。そのため、論理式を簡単化した結果の式においても、 Y と Z は対称な形で現れるはずです。
ここで各選択肢を確認すると、(2)は Y に否定がつき Z には否定がないため非対称です。また、(3)や(5)は Z にのみ否定がついており、(4)も Y にのみ否定がついているため非対称です。 Y と Z が完全に対称な形となっている選択肢は(1)のみであるため、計算せずとも(1)が正解であると判断できます。
このような判断で答えを出せると、計算時間を大きく減らすことができるのでお勧めです。
ただし、今回はたまたま都合の良い選択肢だっただけなので、この方法で必ず答えが出せるわけではありません。なので、以下に示すきちんとした解法もぜひ身につけてください。
正攻法による論理式の簡単化の手順を解説します。
まず、問題で与えられた論理式は( )の中が和になっていて( )同士を積でつなぐ和積形式となっています。
しかし、設問(a)のように( )内を積にして( )同士を和でつなぐ積和形式にすれば、(a)と同様に共通部分をくくって整理できるので、式を簡単化するためにはこちらのほうが便利です。
よって、この論理式全体に二重の否定を付けて(二重否定は逆の逆なので元の論理式とイコールになります)、その上で「+」の否定を「・」に、「・」の否定を「+」に変換すると、次のような式になります。
\begin{aligned} &(X + Y + Z) \cdot (X + Y + \overline{Z}) \cdot (X + \overline{Y} + Z) \\[12pt] &= \overline{ \overline{ (X + Y + Z) \cdot (X + Y + \overline{Z}) \cdot (X + \overline{Y} + Z) } } \\[12pt] &= \overline{ \overline{X + Y + Z} + \overline{X + Y + \overline{Z}} + \overline{X + \overline{Y} + Z} } \\[12pt] &= \overline{ \overline{X} \cdot \overline{Y} \cdot \overline{Z} + \overline{X} \cdot \overline{Y} \cdot Z + \overline{X} \cdot Y \cdot \overline{Z} } \\[12pt] &= \overline{ \overline{X} \cdot (\overline{Y} \cdot \overline{Z} + \overline{Y} \cdot Z + Y \cdot \overline{Z}) } \quad \cdots(3) \end{aligned}
ここで、( )内の項のうち左の 2 つの項は \(\overline{Y} \cdot \overline{Z} + \overline{Y} \cdot Z = \overline{Y} \cdot (\overline{Z} + Z) = \overline{Y}\) とまとめられるため、( )内全体では \(\overline{Y} + Y \cdot \overline{Z} = \overline{Y} + \overline{Z} = \overline{Y \cdot Z}\) と変形できます。
これを(3)式へ代入し、再びド・モルガンの定理を適用して外側の否定を外すと、次のように表すことができます。
\begin{aligned} &\overline{ \overline{X} \cdot (\overline{Y} \cdot \overline{Z} + \overline{Y} \cdot Z + Y \cdot \overline{Z}) } \\[12pt] &= \overline{ \overline{X} \cdot \overline{Y \cdot Z} } \\[12pt] &= \overline{\overline{X}} + \overline{\overline{Y \cdot Z}} \\[12pt] &= X + Y \cdot Z \quad \cdots(4) \end{aligned}
最後に、この(4)式を選択肢のような和積形式に変換するため、ブール代数の分配則 \(A + B \cdot C = (A + B) \cdot (A + C)\) を使います。
\begin{aligned} X + Y \cdot Z &= (X + Y) \cdot (X + Z) \quad \cdots(5) \end{aligned}
以上から、(b)の正解は(1)となります。
ちなみに、もし(5)式の変換がわかりにくいと感じる場合は、むしろ選択肢の式を展開したほうがわかりやすいかもしれません。
(4)式で \(X + Y \cdot Z\) までは確定しているので、選択肢の中で否定が付いていない選択肢(1)が正しそうだと目星を付けて、これを展開して \(X + Y \cdot Z\) になることを確かめて正解、という考え方でもよいと思います。

コメント