情報数学 I

第六回 (2010年11月12日)

論理回路と記号論理

Martin J. Dürst

http://www.sw.it.aoyama.ac.jp/20/Math1/lecture6.html

AGU

© 2005-10 Martin J. Dürst 青山学院大学

今日の目次

今回の主な目的

前回の復習

前回の宿題

[都合により削除]

XOR, NAND, NOR

今までの論理演算子以外に、回路やプログラミングによく使う演算子がある:

論理回路

論理関数を実際に計算する回路を作ることが可能

論理演算と電気 (電子) 回路の関係は 1938 年に C. Shannon が修士論文で発表

論理回路の部品は「ゲート」

あるゲートの出力を次のゲートの入力につなぐことが可能

実際の回路では出力を元のゲートに戻すことなどもあるが、その場合には論理回路ではない

論理回路の場合に真と偽の代わりに 1 と 0 を使うのが普通

論理回路に使う (主な) ゲート

NOT ゲート AND ゲート OR ゲート
 

 

 

   
XOR ゲート NAND ゲート NOR ゲート
 

 

 

   

論理回路の例

この例は半加算器 (half adder) を実現する (足し算一ビットごとに二個必要)

入力 出力
A B S (sum) C (carry)
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0

論理回路の書き方

NAND、NOR の特徴

NAND だけ (又は NOR だけ) で全ての論理関数が実現可能

証明 (NOR の場合):

標準系で ∧、∨、と ¬ を使って全ての論理関数が実現可能

上記の三つの演算子を NOR で実現できれば証明ができる。

¬ A =

AB =

AB =

Q.E.D.

NAND の場合には双対原理を使って証明できる。

 

記号論理

(symbolic logic)

論理に大切な演算子

同値と含意の真理表

A B AB AB
F F T T
F T F T
T F F F
T T T T

「同値である」と「ならば」の性質

(「=」と「↔」などの使い分けに注意)

  1. 含意の除去: AB = ¬AB = ¬(A∧¬B)
  2. 同値の除去: AB = (AB)∧(BA) = (AB)∨(¬A∧¬B)
  3. 推移律: ((AB) ∧ (BC)) ⇒ (AC),
    ((AB) ∧ (BC)) ⇒ (AC)
  4. 背理法: A→¬A = ¬A
  5. 対偶: AB = ¬B→¬A
  6. 同値の性質: AB = ¬A↔¬B, ¬(AB) = (A↔¬B)
  7. 含意の性質: T→A = A, F→A = T, A→T = T, A→F = ¬A

恒真と恒偽

今週の宿題

二つの変数 (例: A, B) で可能な論理関数を全て表に列挙し、それぞれの関数を NAND (又は NOR) だけの式で書きなさい。

NAND と NOR の他に一つの論理関数からすべての論理関数を作れるものはあるか調べなさい。例えば → ではどうでしょうか。