数理論理学(mathematical logic)記号論理学(symbolic logic)の話
言葉ではなく,言葉が表す「概念」や「観念」を抽象化し,それを代数学におけると同様に文字や記号の列で表して,その変換について研究する.
命題論理学(propositional logic)
「風が吹いた」という観念を文字$A$で表し,「桶屋が儲かる」という観念を 文字$B$で表したとき,「風が吹いたならば桶屋が儲かる(風が吹けば桶屋が儲かる)」という観念を$A\Rightarrow B$で表したりする.
この場合,記号$\Rightarrow$は「ならば」という観念を表している.
-
論理式$A,\ B,\dots$から論理記号$\land,\ \lor,\ \lnot,\ \Rightarrow$によって,$A\land B,\ A\lor B,\ \lnot A,\ A\Rightarrow B$なる論理式が作られる.
- $A\land B$(「$A$かつ$B$」と読む)を論理積(logical product, conjunction, AND)といい,
- $A\lor B$(「$A$または$B$」と読む)を論理和(logical sum, disjunction, OR)といい,
- $\lnot A$(「$A$でない」と読む)を$A$の否定(negation, NOT)という.
- $A\Rightarrow B$は,$\lnot(A\land\lnot B)=\lnot A\lor B$と同値である.
論理代数
命題 | → | 論理変数 |
真(true), T | → | $1$ | |
偽(false), F | → | $0$ | |
論理積(AND), $\land$ | → | $\cdot$ | (省略可) |
論理和(OR), $\lor$ | → | $+$ | |
否定(NOT), $\lnot$ | → | $\overline{ }$ | |
デジタル回路(digital circuit)の話
電圧の H(High), L(Low) のみで情報を演算するため,基本的に組み合わせ回路は
ブール代数における論理式で書き表わすことができる.
- H(High)を$1$(true),L(Low)を$0$(false)に対応させる論理を正論理(positive logic,high active),
- H(High)を$0$(false),L(Low)を$1$(true)に対応させる論理を負論理(negative logic, low active)とよぶ.
論理関数(logical function)
論理関数は真理値表(truth table)で定義される.
$n$変数論理関数の真理値表の行数(入力組合せの数)は$2^n$である.
従って,$n$変数論理関数の総数は$\displaystyle 2^{2^n}$個存在する.
また,論理関数は論理式(logical expression)で表すことができる.
論理式(logical expression)
リテラル(論理変数,またはそれに‘$\overline{ }$’(否定)を付けたもの)を‘$\cdot$’でつないで出来た項を論理積項という.
積項を‘$+$’でつないで出来た式を積和形(sum-of-products form),加法標準形とよぶ.
変数の集合が与えられたとき,全ての変数のリテラルを含む積項を最小項(minterm)という.
最小項は$2^n$個ある.
最小項は変数に対するある一つの入力組合せに対してのみ$1$となる
最小項の和で表された積和形を積和標準形(canonical sum-of-products form),主加法標準形とよぶ.
真理値表で関数値が$1$になっている最小項を全て加えれば論理関数を実現できる.
論理関数の簡単化
簡単化の基準
最小積和形表現(minimum sum-of-products form):積項数が最も少なく,かつ積項数が同じであれば,現れるリテラル数がもっとも少なくなるもの.
他に,ゲート数最小,面積最小,etc.
簡単化に使う方法
論理回路
- 組み合わせ回路(combinational circuit)
出力がその時点での入力のみにより決まる.
→論理ゲート
- 順序回路(sequential circuit)
出力が過去の入力にも依存する.
組み合わせ回路と記憶回路で構成される.
→順序機械
戻る