情報数学 I
第六回: (2006年11月17日)
関係
Martin J. Dürst
duerst@it.aoyama.ac.jp
O 棟 529号室
http://www.sw.it.aoyama.ac.jp/2006/Math1/lecture6.html
© 2006 Martin J.
Dürst 青山学院大学
今日の予定
- 先週の宿題と復習
- 論理関数
- 命題論理の基礎
- 関係の基本
先週の宿題
提出: 再来週の木曜日 (11月16日)、22:00 (厳守)、Moodle
にて。形式はプレーンテキスト。ファイル名は
solution5.txt
(メモ帳など、solution4.txt
の第一問と同様な形式)
二つの変数 (例: A, B)
で可能な論理関数を全て表に列挙し、それぞれの関数をNOR
だけの式又は NAND だけの式で書きなさい。
現在,諸事情により閲覧不可
宿題の解き方
- 先週までの宿題 (二変数の全ての論理関数を ∨, ∧, ¬
で表す) で ∨, ∧, ¬ を NOR や NAND
で表した式に置き換える
- ある論理関数の否定を取って、これを今までできたものから
∨ (又は ∧) で作れるのか見てみる
例: TFFT → FTTF → FFTF ∨ FTFF → NOR(NOR(NOR(A),
B), NOR(NOR(B), A))
- プログラムで解いてみる
- 以上の方法に沿ったプログラム
- あらゆる式を作り、評価する
宿題を解くプログラム
- プログラム言語は Ruby
- 式を集合 (内部は配列) で表現
例: NOR(NOR(A), B) → {{A},
B}
- 単純な式から複雑な式を作成
- 一番単純な式は定数や変数だけ: T, F, A,
B
- これを集合にし、E0 = {T, F,
A, B} とする
- NOR (や NAND) が一段階だけの式の集合は
E0
のベキ集合から空集合を引いて、E0
を足すことでできる
- 一般には Ei+1 =
(P(Ei)-{})∪
Ei
- 式の数が急に爆発するため、各段階で同一の結果の式の内に一つだけ残す
宿題の採点
- 先週までの宿題の採点もまだ時間がかかる
- 自分でどのぐらいできたのは大体判断できる
- 減点: 問題の一部だけなど
- 追加点:
- 全部 NAND 又は NOR だけ
- NAND と NOR 両方
- T と F も A や B の式
先週の復習
- 論理関数の単純化
- NAND, NOR, XOR
- 論理回路の役割と書き方
記号論理
(symbolic logic)
- 論理のモデルを作って、記号演算だけで論理ができるようにする。
- 論理にはいくつかの種類がある。例えば:
- 二値論理 (真と偽だけ)
- 多値論理 (真と偽以外の値がある)
- ファジィ論理 (曖昧さの計算を含む)
- 命題論理 (propositional logic, 命題だけを使う)
- 述語論理 (predicate logic, 一階 (first order) 等)
- 時間など他の要素を取り入れた論理
「同値である」と
「ならば」の真理表
A |
B |
A ↔ B |
A → B |
T |
T |
T |
T |
T |
F |
F |
F |
F |
T |
F |
T |
F |
F |
T |
T |
「同値である」と「ならば」の性質
- 含意の除去: A→B =
¬A∨B = ¬(A∧¬B)
- 同値の除去: A↔B =
(A→B)∧(B→A) =
(A∧B)∨(¬A∧¬B)
- 推移律: ((A→B) ∧
(B→C)) → (A→C),
((A↔B) ∧ (B↔C)) →
(A↔C)
- 背理法: A→¬A = ¬A
- 対偶: A→B = ¬B→¬A
- 同値の性質: A↔B =
¬A↔¬B, ¬(A↔B) =
(A↔¬B)
- 含意の性質: T→A = A, F→A = T,
A→T = T, A→F = ¬A
恒真と恒偽
- 常に真の式を「恒真式」と呼ぶ。トートロジー
(tautology) ともいう。
関係
- 関係の情報テクノロジーでの役割
- 関係の定義
- 関係の表現
- 関数と関係
関係の情報テクノロジーでの役割
- 関係データベース (relational database)
- 関係とグラフ
- 関係と論理演算
順序対、n 項組
- 順序対 (ordered pair) は二つのもの a と b
を順序付けたもので、(a, b) で表す
- 二つの集合 A と B の直積集合 (Cartesian
product set) A × B
は次のように定義されている:
A × B = {(x, y) | x
∈ A, y ∈ B}
|A × B| = |A|·|B|
- A × A の代わりに A2
と書くこともある
- n 項組は順序対の拡張。n
字組とも言う。
- 英語で一般的に n-tupple
と言うが、数が固定されていると triple (三字組),
quadruple, quintuple, sextuple, septuple, octuple, nonuple
と言います
関係の定義
- 二つの集合 A と B の関係 R
(A から B への関係とも言う) は
A × B の部分集合
- 例: A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, B = {3,
4},「割り切れる」対を R の元とすると
R = {(3, 3), (6, 3), (9, 3), (4, 4), (8, 4)}
- (a, b) ∈ R を aRb
とも書く
- A = B の場合には 「A
の中の関係」、「A の上の関係」や「A
における関係」という
- 二つの集合の関係は 2 項関係 (binary relation) と言う。3
項関係 (ternary relation) などもある
関係と関数
- n 項関係は n
項組から真理値への関数
- n 項関係は n 項から真理値への関数
- 関数はある入に対し一つだけの出力
- n 項関係は n-1
変数の「複数の出力が許されている」関数 (多値関数)
に相当
関係の表現
- 行列表現:
A を縦、B を横
にして、関係のある場合に 1、そうでない場合に 0
を書く
- 表としての表現:
一列目を A、二列目を B
にして、行ごとに関係の元を列挙する
- 有向グラフ表現:
A 等の元を節として、(a, b)
が関係に属する場合に a から b
への矢印を書く
逆関係
(inverse relation)
- (二項) 関係の逆関係は順序対を逆にした関係
- R の逆関係を R-1 と書く
- xRy ⇔ yR-1x
関係の合成
- A から B への関係 P、B
からC への関係 Q に対して P と
Q の合成 (composition) が定義されている
- P と Q の合成 R の場合
R = P∘Q と書く
- R = {(x, y) | (x,
z) ∈ P, (z, y) ∈
Q}
- 行列表現では合成は通常の行列の積と相当。但し、掛け算と足し算の代わりに論理積と論理和を使う
来週の予定
- 来週は30分間のミニテストを行う
- 今までの授業の内容の範囲
- 問題の例:
- 用語の説明と使い方 (英語を含む)
- 論理式の計算や単純化
- 集合と関係