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)