4. 論理関数の標準形
論理関数の標準形とは、論理関数を論理積と論理和の組み合わせで表現する方法のことで、主に、論理回路の設計や論理式の簡略化に用いられる。論理関数の標準形には、主加法標準形と主乗法標準形の2種類がある。
主加法標準形とは、論理関数を最小項の和の形で表現する方法である。ここで、最小項とは、N個のリテラルの論理積(ただし、リテラルはすべ て異なる)からなる積項を最小項と呼ぶ。
主乗法標準形とは、論理関数を最大項の積の形で表現する方法である。ここで、最大項とは、N個のリテラルの論理和(ただし、リテラ ルはすべて異なる)からなる和項を最大項 と呼ぶ。
論理関数の標準形は、論理回路の設計に役立つ。例えば、主加法標準形の論理関数は、NANDゲートとORゲートで構成された論理回路で実現できる。また、主乗法標準形の論理関数は、ANDゲートとNOTゲートで構成された論理回路で実現できる。また、論理関数の標準形は、論理式の簡略化にも役立つ。
リテラル、リテラル数
論理変数及びその否定のことをリテラル(literal)と呼ぶ。また、論理変数の個数をリテラル数と言う。
【例】\(bc+bd+ad\)のリテラル数 は、\(b,c,b,d,a,d\) の6個となる。(論理変数の種類は、\(a,b,c,d\)の4種類)
主加法標準形
論理変数が\(A,B,C\)の3種類の場合を考える。論理関数を\(f\)として、出力結果を\(Z\)とすると、$$Z=f(A,B,C)$$と表せる。このとき、各変数を1つずつ含む式を標準項という。N個のリテラルの論理積(ただし、リテラルはすべ て異なる)からなる積項を最小項と呼ぶ。主加法標準形は、最小項の論理和で論理式を表す方法である。
表1の真理値表となる論理関数\(f(A,B,C)\)を主加法標準形を使って求める。最小項の和から$$Z = f(A,B,C)= \overline{A}\cdot B \cdot C + A \cdot \overline{B} \cdot \overline{C} + A \cdot \overline{B} \cdot C + A \cdot B \cdot \overline{C} + A \cdot B \cdot C$$と表せる。この式を整理すると、$$f(A,B,C) = \overline{A} \cdot B \cdot C + A \cdot(\overline{B} \cdot \overline{C} + \overline{B} \cdot C + B \cdot \overline{C} + B \cdot C) \\= \overline{A} \cdot B \cdot C + A \cdot \left \{ \overline{B} \cdot (\overline{C} + C) + B \cdot (\overline{C} + C) \right\} \\= \overline{A} \cdot B \cdot C + A \cdot (\overline{B} + B) = \overline{A} \cdot B \cdot C + A \\= A + \overline{A} \cdot B \cdot C = A + A \cdot B \cdot C + \overline{A} \cdot B \cdot C \\= A + B \cdot C \cdot (A + \overline{A}) = A + B \cdot C$$となる。よって、表1で示される\(Z\)を得るための論理関数として、\(f(A,B,C) = A + B \cdot C\)が求まる。
\(A\) | \(B\) | \(C\) | \(Z\) | 最小項 |
0 | 0 | 0 | 0 | |
0 | 0 | 1 | 0 | |
0 | 1 | 0 | 0 | |
0 | 1 | 1 | 1 | \(\overline{A}\cdot B \cdot C\) |
1 | 0 | 0 | 1 | \(A \cdot \overline{B} \cdot \overline{C}\) |
1 | 0 | 1 | 1 | \(A \cdot \overline{B} \cdot C\) |
1 | 1 | 0 | 1 | \(A \cdot B \cdot \overline{C}\) |
1 | 1 | 1 | 1 | \(A \cdot B \cdot C\) |
主乗法標準形
論理変数が\(A,B,C\)の3種類の場合を考える。論理関数を\(f\)として、出力結果を\(Z\)とすると、$$Z=f(A,B,C)$$と表せる。このとき、各変数を1つずつ含む式を標準項という。N個のリテラルの論理和(ただし、リテラルはすべ て異なる)からなる和項を最大項と呼ぶ。主乗法標準形は、最大項の論理積で論理式を表す方法である。
表2の真理値表となる論理関数\(f(A,B,C)\)を主乗法標準形を使って求める。最大項の積から$$Z = f(A,B,C) = (A + B + C)\cdot (A + B + \overline{C}) \cdot (A + \overline{B} +C)$$と表せる。この式を整理すると、\(f(A,B,C) = A + B \cdot C\)となる。よって、表2で示される\(Z\)を得るための論理関数として、\(f(A,B,C) = A + B \cdot C\)が求まる。
\(A\) | \(B\) | \(C\) | \(Z\) | 最大項 |
0 | 0 | 0 | 0 | \(A + B + C\) |
0 | 0 | 1 | 0 | \(A + B + \overline{C}\) |
0 | 1 | 0 | 0 | \(A + \overline{B} +C\) |
0 | 1 | 1 | 1 | |
1 | 0 | 0 | 1 | |
1 | 0 | 1 | 1 | |
1 | 1 | 0 | 1 | |
1 | 1 | 1 | 1 |
主加法標準形と主乗法標準形
論理変数が\(A,B\)の2種類の場合における、論理関数(EXOR)の主加法標準形と主乗法標準形を比較する。真理値表を表3に示す。
\(A\) | \(B\) | \(Z\) | 最小項 | 最大項 |
0 | 0 | 0 | \(A + B\) | |
0 | 1 | 1 | \(\overline{A} \cdot B\) | |
1 | 0 | 1 | \(A \cdot \overline{B}\) | |
1 | 1 | 0 | \(\overline{A} + \overline{B}\) |
表3より、主加法標準形は、$$Z = \overline{A} \cdot B + A \cdot \overline{B}$$となる。また、主乗法標準形は、$$Z = (A +B) \cdot (\overline{A} + \overline{B}) $$である。\(Z = (A +B) \cdot (\overline{A} + \overline{B}) \)を整理すると、$$(A +B) \cdot (\overline{A} + \overline{B}) = A \cdot \overline{A} + A \cdot \overline{B} + B \cdot \overline{A} + B \cdot \overline{B} = \overline{A} \cdot B + A \cdot \overline{B}$$となる。(\(A \cdot \overline{A} = 0 ,\;\; B \cdot \overline{B} = 0\))