九州テクノカレッジ

ブール代数

~双対関数の解説~

Yu Tomita
九州テクノカレッジ

ブール代数の基礎

Yu Tomita
九州テクノカレッジ

(2元)ブール代数とは

  • 01からなる演算系
    • 変数は0か1の値をとる
  • 論理積論理和が定義
  • 補元の演算子もある
    • 0の補元は1(0=1\overline{0}=1)
    • 1の補元は0(1=0\overline{1}=0)
Yu Tomita
九州テクノカレッジ

(論理)積

AA BB ABA\cdot B
00 00 00
00 11 00
11 00 00
11 11 11
  • AABBの積: ABA\cdot B
  • AB=min(A,B)A\cdot B=\min (A,B)
Yu Tomita
九州テクノカレッジ

(論理)和

AA BB A+BA+B
00 00 00
00 11 11
11 00 11
11 11 11
  • AABBの和: A+BA+B
  • A+B=max(A,B)A+B=\max (A,B)
Yu Tomita
九州テクノカレッジ

補元

AA A\overline{A}
00 11
11 00
  • AAの補元: A\overline{A}
  • A=1A\overline{A} = 1 - A
  • 一つの変数AAとその補元A\overline{A}をあわせてリテラルと呼ぶ
Yu Tomita
九州テクノカレッジ

論理関数

  • ブール代数の式FFのこと
    • F=A+BCF = \overline{A+B} C などと表記
      • A+BC\overline{A+B C}A+BC\overline{A}+B Cとは違うことに注意
    • F(A,B,,N)F(A,B,\ldots , N)とも表記
      • 関数の中身を指定しない場合も,変数は括弧の中に列挙
    • ABA\cdot BABABと書いても良い
      • 積の優先順位は和よりも高いため
Yu Tomita
九州テクノカレッジ

積和形と主加法標準形

  • ,+,X\cdot, +, \overline{\phantom{X}}の組み合わせで任意の論理関数が作成可能
  • 定義をいくつか導入
Yu Tomita
九州テクノカレッジ

基本積

リテラル(一つの変数またはその補元)のみからなる積を基本積と呼ぶ.

例:

  • XYZX\,Y\,\overline{Z}AB\overline{A}\,B は基本積
  • AAX\overline{X} も基本積の特別な形
  • XY\overline{X\,Y}A+BA+B は基本積ではない
Yu Tomita
九州テクノカレッジ

最小項

基本積が各リテラルを一つずつ含んでいるとき, それを最小項と呼ぶ.

例: X,Y,ZX,Y,Zのみが与えられた場合;

  • XYZX\,Y\,\overline{Z}XYZ\overline{X}\,Y\,\overline{Z}は最小項
  • XY\overline{X\,Y}YZY\,Z は最小項でない
  • XYXX\,Y\,\overline{X} も最小項でない
Yu Tomita
九州テクノカレッジ

積和形

論理関数が基本積の和で表される時, 積和形をなしているという

例:

  • XY+XZX\,\overline{Y} + \overline{X}\,Zは積和形
  • X+Y\overline{X}+YABA\,\overline{B}は積和形
  • X+Z\overline{X+\overline{Z}}(X+Y)(Y+Z)(X+Y)(Y+\overline{Z})は積和形でない
Yu Tomita
九州テクノカレッジ

主加法標準形

積和形の全ての基本積が最小項である場合, その積和形を主加法標準形 という.

例: X,YX,Yのみが与えられた場合;

  • XY\overline{X}YXY+XY\overline{X}\,Y + X\,\overline{Y} は主加法標準形
  • X+Y\overline{X} + Y は主加法標準形でない
Yu Tomita
九州テクノカレッジ
AA BB CC FF 最小項
00 00 00 00
00 00 11 00
00 11 00 11 ABC\overline{A}B\overline{C}
00 11 11 00
11 00 00 00
11 00 11 11 ABCA\overline{B}C
11 11 00 00
11 11 11 11 ABCABC

主加法標準形の求め方

  1. 論理関数の真理値表を描く
  2. 全体が1となる各行から最小項を求める
  • 変数が1の時にはそのまま
  • 変数が0の時には補元
  1. 最小項をすべて和で結ぶ

F=ABC+ABC+ABC F = \overline{A}B\overline{C} + A\overline{B}C+ A\,B\,C

Yu Tomita
九州テクノカレッジ

双対性

Yu Tomita
九州テクノカレッジ

双対性とは

これらの記号を入れ替えた関係のこと

++ (論理和) \leftrightarrow \cdot (論理積)
00 \leftrightarrow 11
\downarrow (シェファーの棒) \leftrightarrow \uparrow(パースの矢)
X\overline{\phantom{X}} (補元) \leftrightarrow X\overline{\phantom{X}}

ここでは論理積論理和だけを考えればよい.

Yu Tomita
九州テクノカレッジ

De Morgan の双対性

論理積と論理和には次のような関係が成り立つ.

  • A+B++N=ABN\overline{A+B+\ldots+N} = \overline{A}\cdot\overline{B}\cdot\ldots\cdot\overline{N}
  • ABN=A+B++N\overline{A\cdot B\cdot\ldots\cdot N} = \overline{A}+\overline{B}+\ldots+\overline{N}

このことをDe Morganの双対性(De Morganの定理)と呼ぶ

Yu Tomita
九州テクノカレッジ

双対関数

論理関数F(A,B,,N)F(A, B, \ldots , N) があるとき, 式中のリテラル(変数とその補元)以外の各記号を双対となる記号に置き換えた関数を双対関数と呼び, F(A,B,,N)F^*(A, B, \ldots , N) と書くことにする.

Yu Tomita
九州テクノカレッジ

双対関数の例1

  • F1(A,B)=A+BF_1(A,B) = A + \overline{B} の時, 双対関数は F1(A,B)=ABF_1^{*}(A,B) = A \cdot\overline{B}

  • F2(A,B,C)=AB+CF_2(A,B,C) = A\cdot\overline{B+C} の時, 双対関数は F2(A,B,C)=A+BCF_2^{*}(A,B,C) = A +\overline{B\cdot C}

注意: 一般に, 双対関数は元の関数と一致しない.

Yu Tomita
九州テクノカレッジ

双対関数の例2: 主乗法標準形

最大項のみからなる和積形をした論理関数(主加法標準形の双対)

  • 最大項: 各リテラルを一つずつ含む基本和(最小項の双対)
    • 基本和: リテラルのみからなる和(基本積の双対)
  • 和積形: 基本和の積で表される論理関数(積和形の双対)

注意: ある主加法標準形の双対関数となる主乗法標準形を作っても, 同値な論理式になるとは限らない.

Yu Tomita
九州テクノカレッジ

自己双対関数

論理関数FFが自己双対であるとは,

  • F(A,B,C,,N)=F(A,B,C,,N) \overline{F(A,B,C,\ldots,N)} = F(\overline{A}, \overline{B}, \overline{C},\ldots,\overline{N})

が成り立つことである.

あるいは次のように言い換えても良い.

  • F(A,B,C,,N)=F(A,B,C,,N)F(A,B,C,\ldots,N) = F^*(A,B,C,\ldots,N)
Yu Tomita
九州テクノカレッジ

自己双対関数の例

F(X,Y,Z)=XY+YZ+XZF(X,Y,Z) = X\,Y + Y\,\overline{Z}+X\,\overline{Z}の双対関数は

F(X,Y,Z)=(X+Y)(Y+Z)(X+Z)F^*(X,Y,Z) = (X+Y)(Y+\overline{Z}) (X+\overline{Z})

これは変形させると

(XY+Y+XZ+YZ)(X+Z)=XY+XZ+XYZ+YZ=XY+YZ+XZ\begin{aligned} (XY+ Y + X\overline{Z} + Y\overline{Z} )(X + \overline{Z}) &= XY + X\overline{Z} + XY\overline{Z} + Y\overline{Z}\\ &= X\,Y + Y\,\overline{Z}+X\,\overline{Z} \end{aligned}

よって, F(X,Y,Z)F(X,Y,Z)は自己双対関数である.

Yu Tomita
九州テクノカレッジ

De Morganの双対性の一般化

F(A,B,C,,N)F(A,B,C,\ldots,N)の双対関数をF(A,B,C,,N)F^*(A,B,C,\ldots,N)と書くことにする. この時, 以下が常に成り立つ.

F(A,B,C,,N)=F(A,B,C,,N)\overline{F(A,B,C,\ldots,N)} = F^*(\overline{A}, \overline{B}, \overline{C},\ldots,\overline{N})

この一般化は双対定理とも呼ぶ.

Yu Tomita
九州テクノカレッジ

まとめ

  • 双対性++\cdotの間にあるもの
  • 双対関数は一般に元の関数と違うもの
    • 自己双対関数に限り一致
  • De Morganの双対性は双対定理 に一般化
Yu Tomita