情報数学 I

第五回 (2011年11月 11日)

論理関数とその変換と単純化

Martin J. Dürst

http://www.sw.it.aoyama.ac.jp/2011/Math1/lecture5.html

AGU

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

今回の目標

論理関数と論理式を自由に操る

今回の内容

宿題の採点について

4. ある集合の大きさとそのベキ集合の大きさの関係を式で表し、その式の根拠について簡単に説明する。

「問 3 により」は根拠になってない。

前回のまとめ

前回の宿題

削除

追加: 組合わせの式の理由と順列

nCm = n!/ (m!·(n-m)!) を直感的に分かろう!

順列 (permutation): n 個の違うものから m 個を順番を考慮して選択するのはなん通り?

nPm = n·(n-1)·(n-2)·...·(n-m+2)·(n-m+1) = ∏ni=n-m+1 i = n! / (n-m)!

nCmnPm から計算可能: 要素が同じで順番が違う数で割る

nCm = nPm / mPm = n! / (n-m)! / (m!/(m-m)!) = n! / (m!(n-m)!)

論理演算の復習

論理和 論理積 論理否定
又は かつ でない
conjunction disjunction disjunction conjunction negation
or and not
優先度
A B AB AB ¬B
F F F F T
F T T F F
T F T F
T T T T

前回の宿題: 命題論理の性質

[都合により削除] 

性質を使った式の変更 (簡略化など)

(A ∨ ¬B) ∧ B = (AB) ∧ (¬BB) = (AB) ∧ T = AB

¬(A ∨ ¬B) = ¬A ∧ ¬¬B = ¬AB

応用例: 吸収率の証明:

A ∧ (AB) = (AF) ∧ (AB) = A ∨ F∧B = A ∨ F = A

論理演算の双対原理

(duality principle)

論理演算の性質を調べてみると、ある性質で「∧」と「∨」、それに「T」と「F」を入れ代えると結果も性質として成り立つ。

これは一般に成り立つ。∧ と ∨ の真理表で確かめて証明が可能。

これは双対原理という

性質を覚えるのに便利

真理表から論理式へ

次の真理表 (論理関数) が与えられている

A B C ?
F F F F
F F T T
F T F F
F T T T
T F F T
T F T F
T T F T
T T T F

この真理表に相当する論理関数を論理式で表しなさい。

 

標準形

加法標準形 (選言標準形、disjunctive normal form): 変数の (否定の) 積の和

乗法標準形 (連言標準形、conjunctive normal form): 変数の (否定の) 和の積

標準形の性質:

標準形の作成

加法標準形の場合 [乗法標準形の場合は [] 内 (双対原理使用)]

  1. 真理表に結果が T [F] の行だけに注目
  2. 注目の行で A, B, C,... 全ての変数の論理積 [和] を作成
  3. その行で変数が F [T] のときだけ、変数を否定
  4. 標準形が注目した行の式 (項) の論理和 [積]

式が正しい理由:

 

標準形作成の例

A B C ? 加法標準形の項 乗法標準形の項
F F F T ¬A ∧ ¬B ∧ ¬C
F F T T ¬A ∧ ¬BC
F T F F - A ∨ ¬BC
F T T F - A ∨ ¬B ∨ ¬C
T F F F - ¬ABC
T F T T A ∧ ¬BC
T T F F - ¬A ∨ ¬BC
T T T T ABC

加法標準形: ¬A∧¬B∧¬C ∨ ¬A∧¬BCA∧¬BCABC

乗法標準形: (A∨¬BC) ∧ (A∨¬B∨¬C) ∧ (¬ABC) ∧ (¬A∨¬BC)

 

論理関数の単純化の方法

二つは基本的に同じが、使う「道具」(式、図) が違う。

カルノー図表は標準形の構造 ((否定) の積の和等) を保持

違う構造でもっと単純化できる例も存在

論理関数の単純化: 式の操作

例: ABCA∧¬BCAC∧ (B ∨ ¬B) ⇒ AC

以前のスライドの式全体: ABCA∧¬BC ∨ ¬A∧¬BC ∨ ¬A∧¬B∧¬CAC ∨ ¬A∧¬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

今週の宿題

提出: 来週の木曜日 (11月17日)、22:00 (厳守)、Moodle にて。形式はプレーンテキスト。ファイル名は solution5_xxxxxxxx.txt (, メモ帳など; xxxxxxxx は八桁の学籍番号)

第一問:
第二問:
四つの変数 (例: A, B, C, D) の論理関数を一つ、硬貨等を使って作りなさい。その論理関数の二つの標準形と一つ以上の単純化を計算しなさい。