O 棟 529号室
http://www.sw.it.aoyama.ac.jp/2007/Math1/lecture5.html
© 2005-7 Martin J. Dürst 青山学院大学
[都合により削除]
三つは基本的に同じことをやるが、使う「道具」(式、図、表) が違う。
下の二つの方法は標準形の構造 ((否定) の積の和等) を保つ。違う構造でもっと単純にできる例もある。
例: A∧B∧C ∨ A∧¬B∧C ⇒ A∧C∧ (B ∨ ¬B) ⇒ A∧C
先週の例全体: A∧B∧C ∨ A∧¬B∧C ∨ ¬A∧¬B∧C ∨ ¬A∧¬B∧¬C ⇒ A∧C ∨ ¬A∧¬B
注意: 複数の単純化の道で、複数の結果がありうる。複数をやってみるが、混乱しないように注意 (元の式のそれぞれの項をなくさないように)。
一般の式の操作の例: (A ∨ ¬B) ∧ B
A=F B=F |
A=T B=F |
A=T B=T |
A=F B=T |
|
---|---|---|---|---|
C=F D=F |
T | T | F | T |
C=T D=F |
F | T | T | F |
C=T D=T |
F | T | T | F |
C=F D=T |
F | F | F | T |
今までの論理演算子以外に、回路やプログラミングによく使う演算子がある:
論理関数を実際に計算する回路を作ることができる。
論理演算と電気 (電子) 回路の関係は 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 | 1 |
NAND だけ (又は NOR だけ) で全ての論理関数が実現できる。
∧、∨、と ¬ で標準形を使って全ての論理関数が実現できるので、この三つを NAND で実現できれば証明ができる。
¬ A =
A ∧ B =
A ∨ B =
NOR の場合には双対原理を使って証明できる。
(symbolic logic)
例: 情報数学 I に合格するならば三月に沖縄に旅行に行く。
A | B | A ↔ B | A → B |
T | T | T | T |
T | F | F | F |
F | T | F | T |
F | F | T | T |
(「=」と「↔」の使い分けに注意)
提出: 再来週の木曜日 (11月22日)、22:00 (厳守)、Moodle
にて。形式はプレーンテキスト。ファイル名は
solution5_xxxxxxxx.txt
(例,
メモ帳など; xxxxxxxx
は八桁の学籍番号)
二つの変数 (例: A, B) で可能な論理関数を全て表に列挙し、それぞれの関数を NAND だけの式で書きなさい。
A = F B = F |
A = F B = T |
A = T B = F |
A = T B = T |
簡単な式 |
F | F | F | F | ? |
F | F | F | T | NAND(NAND(A, B)) |
F | F | T | F | ? |
? | ? | ? | ? | ? |