メインコンテンツへ
基礎理論

2変数 A, B に対する論理式 (A ⊕ B) ⊕ (A ∧ B) の真理値表を作成したとき、この論理式と等価な論理演算はどれか。ただし、⊕ は排他的論理和(XOR)、∧ は論理積(AND)を表す。

ア.A ∧ B
イ.A ∨ B正解
ウ.A ⊕ B
エ.¬(A ∧ B)

解説

XOR(どちらか片方だけ 1)と AND(両方 1 のとき 1)を、さらに XOR で合成すると OR(少なくとも一方が 1)が生まれます。「A か B のどちらか一方だけ点灯するスイッチ」と「両方同時のとき点灯するスイッチ」を OR で束ねると「どちらか押せば点灯」になる、というイメージです。

なぜ イ が正解か

4通りを順番に計算します。A=0,B=0 → (0⊕0)⊕(0∧0) = 0⊕0 = 0 / A=0,B=1 → (1)⊕(0) = 1 / A=1,B=0 → (1)⊕(0) = 1 / A=1,B=1 → (0)⊕(1) = 1。出力パターンは {0,1,1,1} となり、A∨B(OR)と完全に一致します。XOR が「一方だけ 1 の場合」を、AND が「両方 1 の場合」を受け持ち、その 2 パターンを XOR で合成することで「どちらか少なくとも一方が 1」を表す OR が完成する仕組みです。

なぜ ア は間違いか

A∧B(AND)の出力は {0,0,0,1} で、両方 1 のときだけ 1 になります。式に A∧B の項が含まれているので「AND だろう」と思いがちですが、その項を XOR で組み合わせた結果は全く別の演算になります。

なぜ ウ は間違いか

A⊕B(XOR)の出力は {0,1,1,0} で、A=1,B=1 のとき 0 です。しかし (A⊕B)⊕(A∧B) は A=1,B=1 のとき (0)⊕(1)=1 になるため一致しません。「式に XOR が含まれているから答えも XOR」という思い込みが招く誤りです。

なぜ エ は間違いか

¬(A∧B)(NAND)の出力は {1,1,1,0} で、A=0,B=0 のとき 1 になります。一方 (A⊕B)⊕(A∧B) は A=0,B=0 のとき 0 なので真逆です。NAND は AND の全否定ですから出力の向きが反転しており、混同しやすい演算の代表格です。

出典: AI生成問題(学習用)