第5章 離散関係

離散数学への入門
第5章
離散関係
離散数学への入門
関係とは
• 「知人」という関係
– x が y を知っている → 述語、「知人(x,y)」と書こう
• 知人(阿部,松井)=T → 阿部さんは松井さんを知っている
– この述語のドメインは、xの変域Aとyの変域Bの直積集合A×B
– 2つの引数で表される関係 → 2項関係
• 関係とは集合である
– 集合F={(x,y)|知人(x,y), x∈A, y∈B}
– Fは、知人関係にある順序対の集合
– 2項関係は順序対の集合として表現できる
A
F
B
阿部
山本
岸田
(阿部,松井)
松井
野茂
鈴木
関係を表す集合(順序対の集合)
(阿部,野茂)
(岸田,鈴木)
(山本,鈴木)
(山本,松井)
(岸田,野茂)
離散数学への入門
関係の例
• ○○さんが飼っているペットは△△である
– P = { A, B, C, D }
– Q = { 犬, 猫 , 鳩 }
– R = { (A,犬),(B,猫),(B,犬),(D,鳩) } = P×Q の部分集合
犬
R
(A,犬)
(B,犬)
(B,猫) (D,鳩)
• 中置記法
猫
鳩
A
B
– aがbと関係Rにある → aRb と書く
• aがbと等しい → a = b
• aがbと等しくない → a≠b
• aがbより大きい → a > b
• AからAへの関係は A2=A×Aの部分集合(A上の関係)
直積集合
C
D
離散数学への入門
関係と写像
• AからBへの関係において、
– AからBへの対応を考えれば、
• 一般の関係は多対多の対応
• AからBのただ1つの要素に関係がある場合は、AからBへの写像
– 写像は関係の特別なものである(写像⊂関係)
– Aから、Bのベキ集合p(B)への対応を考えれば、
• Aからは、常にp(B)のどれか1つに対応付けられる
– 関係は写像の特別なものである(写像⊃関係)
A
A
B
C
B
A
犬
猫
鳩
D
関係はAからBへの写像ではない
A
p(B)
{}
B
{犬}
C
{犬, 猫}
D
{鳩}
{猫}
{犬, 鳩}
{猫, 鳩}
{犬, 猫, 鳩}
関係はAからp(B)への写像である
離散数学への入門
逆関係
• 逆関係
– AからBへの関係 R⊂A×Bの、順序対の第1成分
と第2成分とを入れ替えて得られる関係
– R-1と書く
R 1  ( x, y) | ( y, x)  R
離散数学への入門
関係の和
集合A:学生
有田
加山
近藤
合
佐藤
向井
鈴木
水島
関係P:
離散数学に合格した
集合B: 結果
井川
否
山田
P
保留
関係Q:
解析学に合格した
Q
(井川, 合)
(向井, 合)
(有田, 合)
(近藤, 合)
(山田, 合)
(佐藤, 合)
(鈴木, 合)
やはりAからBへの関係
P∪Q ;離散数学か解析学のどちらかに合格した
関係の和
離散数学への入門
関係の合成(積)(1)
集合B:開講科目
集合C:教員
佐藤
情報数学
渕田
有田
プログラミング
集合A:学生
P
向井
Q
水野
大橋
解析学
関係R:学生と教員
山田
R=P・Q
井川
(佐藤, 大橋)
関係P:受講登録科目
(有田, 解析学)
(向井, プログラミング)
(井川, 解析学)
(向井, 情報数学)
(向井, 水野)
(プログラミング, 水野)
(山田, 情報数学)
(山田, 解析学)
(有田, 水野)
(有田, 大橋)
(向井, 渕田)
(プログラミング, 渕田)
(山田, プログラミング)
(有田, プログラミング)
(有田, 渕田)
関係Q:担当教員
(佐藤, 情報数学)
(佐藤, 解析学)
(佐藤, 渕田)
・
(情報数学, 渕田)
(解析学, 大橋)
=
(山田, 渕田)
(山田, 水野)
(山田, 大橋)
(井川, 大橋)
離散数学への入門
関係の合成(積)(2)
• 集合Aにおける関係RのR自身との合成 R2
– R2 = R・R = { (x,z) | x,y,z∈A, xRy, yRz }
• R のベキ
– Rn = Rn-1・R, n = 1,2,3,・・・, ただし、R0 = IA, R1 = R
– IA = { (x,x) | x ∈A } : Aにおける恒等関係
[例5.4]
P
Q
R
S
a
b
c
d
e
料理
食材
A
B
C
D
E
F
G
H
I
栄養素
離散数学への入門
関係グラフ
• 関係グラフ
– 集合の要素を並べて、関係があるときに矢印でつないだもの
– 要素を節点(ノード)、矢印を有向辺という
– 矢印を逆にすると、逆関係を表す
• 有限集合A上の関係グラフ
– (a,a)∈A の場合は、ループが含まれる
P
Q
A
犬
B
猫
C
鳩
D
A
[例5.5]
矢印の向きを変えると逆関係
b
a
c
d
離散数学への入門
関係行列(1)
• 関係行列
– 集合AからBへの関係
– Aの要素を行にBの要素を列にとって、関係があれば1、なければ0
– 関係をコンピュータプログラムで処理する場合に楽
1 (ai , b j )  R
rij  
0 (ai , b j )  R
[例5.6]
A
B
C
D
犬
1

1
0

0

猫 鳩
0 0

1 0
0 0

0 1 
関係行列
A
犬 1

猫 0
鳩  0
B C D
1 0 0

1 0 0
0 0 1 
逆関係行列
1

1
R
1

0

1 0 1

1 1 0
1 0 0

0 1 0 
離散数学への入門
関係行列(2)
• ブール和とブール積
– 演算結果が0以外なら1、そうでないなら0とする演算
• 関係行列のブール和
– 関係の和となる
• 関係行列のブール積
– 関係の合成となる
[例5.7]
A  a1 , a2 , a3 
B  b1 , b2 , b3 , b4 
C  c1 , c2 
0 1 1 1


P  1 0 0 1
1 0 1 0


0

1
Q
0

1

0

1
1

0 
 1  1 1  1


P Q   1
0 
 0
1 

1 0 0 0


P  0 1 0 0
1 0 1 1


0

0
Q
0

1

1

0
1

1 
1 
0


P Q  0
0 
 1 1  1  1


離散数学への入門
関係行列(3)
• 有限集合A上の関係 R の k 次のベキ Rk とは
–
–
–
–
k回の合成で関係がつく要素対の集合
関係Rの関係行列もRで表すと、ベキ Rk はブール積 Rk である
Rk は、間に k-1 個の要素を介した間接的関係
R0 = IA = 単位行列
1 0 0


0
R  I A  0 1 0
0 0 1


a
b
c
R
a
b
c
R
a
b
c
R2
R3
0 1 1


R  1 0 0
0 0 1


R
a
b
c
R
 0 1 1  0 1 1   1 0 1


 

2
R   1 0 0  1 0 0    0 1 1
 0 0 1  0 0 1   0 0 1


 

 1 0 1 0 1 1   0 1 1


 

R 3   0 1 1 1 0 0    1 0 1
 0 0 1 0 0 1   0 0 1


 

 0 1 1 0 1 1   1 0 1


 

R 4   1 0 1 1 0 0    0 1 1
 0 0 1 0 0 1   0 0 1


 

離散数学への入門
[例5.8] (2)
1

0
R0   0

0

0
0 0 0 0

1 0 0 0
0 1 0 0

0 0 1 0

0 0 0 1
0

0
R3   0

0

0
0 1 0 0

0 0 1 1
0 1 0 0  R2

0 0 1 1

0 0 0 0
0

0
R1   0

0

0
0 1 0 0

0 0 1 0
0 1 0 0

0 0 1 1

0 0 0 0
0

0
R2   0

0

0
0 1 0 0

0 0 1 1
0 1 0 0

0 0 1 1

0 0 0 0
離散数学への入門
多重関係
• 多重関係とは
– 同じ要素間に複数の関係が存在することを許すもの
– 関係行列の要素は0と1だけでなく、その関係の数を表す
• 多重関係の関係行列
– 行列の要素 (i, j) は i から j への関係の数
– 行列の和や積の結果は、得られた合成関係行列の要素 (i, j) は、i から j へ
の間接的関係の数
• 例:
– 手紙の交換
– 「何通の手紙を出したか?」を要素の値とする
Aさん
Bくん
R
C先生
 0 3 4


R   2 0 2
1 2 0


離散数学への入門
関係の要素の性質
• Aにおける2項関係Rにおける要素間の性質
– 反射的
• 自分自身と関係があること
– 対称的
aRa
• 双方向の関係があること (aRb)  (bRa)
– 反対称的
(aRb  bRa)  (a  b)
• もしあれば、片方向の関係があること
• 双方向の関係があるとすれば、2つは同じものであるということ
– 推移的
• a と c とが、b を介して関係があれば、a と c との間にも関係があること
(aRb  bRc)  (aRc)
b
a
反射的
a
b
対称的
a
反対称的
b
a
ならば↓
推移的
c
離散数学への入門
反対称性
○ aからbへの関係があり、かつ、bからaへの関係があれば、a=bである
(aRb  bRa)  (a  b)
 (a  b)  (aR b  bR a )
 (a  b)  (aR b  bR a )
 ((a  b)  aR b)  bR a
p.8
(1.25)式
1.25式
 ((a  b)  aR b)  (bR a )
 (a  b  aRb)  (bR a )
○ a=bでなく、かつ、aからbへの関係があれば、bからaへの関係はない
片方向の関係
離散数学への入門
関係の性質
• 要素間の性質を用いて、関係Rの性質を定義する
– 反射律
• 任意のx∈Aは、Rにおいて反射的である
x  A xRx
– 対称律
• 任意の x,y∈Aは、関係があるなら対称的である
x, y  A ( xRy)  ( yRx)
– 反対称律
• 任意の x,y∈Aは、関係があるなら反対称的である
x, y  A ( xRy  yRx)  ( x  y)
– 推移律
• 任意の x,y,z∈Aは、関係があるなら推移的である
x, y, z  A ( xRy  yRz)  ( xRz)
1

.
.

.

.

1 . .
. 1 .

. . 1
.
.
反射律
.

.
1

.

. 1 .

. . .
. . 1

. 1 . 
対称律
もし1があったら、
反対は~、の意味
.

.
0

.

. 1 .

. . .
. . 0

. 1 . 
反対称律
離散数学への入門
対称律と反対称律
• 対称律と反対称律とは両立する場合がある
([例5.9](4))
a
b
c
d
1

0
0

0

0 0 0

1 0 0
0 0 0

0 0 1 
1がないので、対称律、反対称律とも
に満たす
離散数学への入門
推移的閉包(1)
• A上の関係Rが推移的であれば、間に1つの要素が介在す
る関係はすべてRに含まれる
– R2 ⊂ R
– 逆にこの式が成立すれば、推移律が成立する
• Rが推移的でなくても、Rkを考えれば、Aが有限集合であれ
ば、いずれは繰り返しに陥る
– |A|=n のとき、Rnー1まで考えれば十分
R  R1  R2  R3 
推移的閉包
R*  R0  R  R0  R1  R2  R3 
反射的かつ推移的閉包
離散数学への入門
推移的閉包(2)
1 0 0


R0  I A   0 1 0 
0 0 1


a
b
c
R
a
b
c
R
0 1 1


R  1 0 0
0 0 1


R
a
b
c
a
b
c
R2
R3
0 1 1


R  1 0 0
0 0 1


R
 0 1 1  0 1 1   1 0 1


 

R 2   1 0 0  1 0 0    0 1 1
 0 0 1  0 0 1   0 0 1


 

 1 0 1 0 1 1   0 1 1


 

R 3   0 1 1 1 0 0    1 0 1
 0 0 1 0 0 1   0 0 1


 

 0 1 1 0 1 1   1 0 1


 

4
R   1 0 1 1 0 0    0 1 1
 0 0 1 0 0 1   0 0 1


 

a
=
b
c
 1 1 1



R   1 1 1
 0 0 1


a
=
b
c
離散数学への入門
[例5.10]
離散数学への入門
[例5.11]
(1)
(2)
R   R1  R 2  R 3  R 4  R 5
1

0
 1

1
0

0 1 1 0

1 0 0 1
0 1 1 0

0 1 1 0
1 0 0 1 
R   R1  R 2
0

0
 0

0
0

0 1 0 0

0 0 1 1
0 1 0 0

0 0 1 1
0 0 0 0 
離散数学への入門
[例5.12] (2)
0

0
1

0
R
0
0

0
0

0 1 0 0 0 0 0

0 0 1 0 0 0 0
0 0 0 1 0 0 0

1 0 0 0 1 0 0

0 1 0 0 0 1 0
0 0 1 0 0 0 1

0 0 0 1 0 0 0
0 0 0 0 1 0 0 
1

0
1

0
R  
1
0

1
0

0 1 0 1 0 1 0

1 0 1 0 1 0 1
0 1 0 1 0 1 0

1 0 1 0 1 0 1

0 1 0 1 0 1 0
1 0 1 0 1 0 1

0 1 0 1 0 1 0
1 0 1 0 1 0 1 
離散数学への入門
同値関係
• 同値関係
– 反射的、対称的、推移的な関係
– 2つの要素を、同じか違うかに明確に分けることが出来る関係
• 各性質の意味
– 反射律
• 同一の要素は、同じである
– 対称律
• 2つの要素a,bがあり、aとbが同じならば、bとaも同じである
– 推移律
• 3つの要素a,b,cがあり、aとbが同じで、bとcが同じならば、aとcも同じ
である
• 同値類の判定 [例5.13, 5.14, 5.15]
– 上記の性質が満たされることをいう
離散数学への入門
[例5.13]
• T大学の工学部には機械、電気、建築、環境、海洋、
情生、生命の7つの学科がある。T大学工学部の学生
の集合をAとして、次のAにおける関係は同値関係
か?
– xRy:xはyと同じ学科に所属している
• 反射律
– xはxと同じ学科である→成立
• 対称律
– xとyが同じ学科なら、yとxも同じ学科である→成立
• 推移律
– xとyが同じ学科で、yとzが同じ学科なら、xとzも同じ学科で
ある→成立
離散数学への入門
[例5.13]
機械
海洋
電気
情生
建築
環境
生命
工学部
離散数学への入門
[例5.14]
• T大学にはいくつかのサークルがある。T大学工学部
の学生の集合をAとし、次のAにおける関係Rは同値関
係か?
– xRy:xとyは同じサークルに所属している
• 反射律
– xはxと同じサークルである→成立
• 対称律
– xとyが同じサークルなら、yとxも同じサークルである→成
立
• 推移律
– xとyが同じサークルで、yとzが同じサークルでも、xとzが同
じサークルであるとは限らない→不成立
離散数学への入門
[例5.14]
テニス
野球
?
?
スキー
?
?
サッカー
?
?
茶道
漫画
?
?
登山
?
工学部
離散数学への入門
[例5.15]
• 整数の集合Zにおける関係Rは同値関係か?
– xRy:x-yは3の倍数である
• 反射律
– x-x=0は3の倍数である→成立
• 対称律
– x-yが3の倍数なら、y-x=-(x-y)も3の倍数である→成立
• 推移律
– x-yが3の倍数で、y-zが3の倍数なら、x-z=(x-y)+(y-z)は
3の倍数どおしの和なので3の倍数である→成立
離散数学への入門
同値類
• 集合A上の同値関係Rについて
– 同値類 [a] : 任意の a∈Aに対して、a と同値な要素の集
合
– このときの a を代表元という
• 代表元は [a] の中のどの要素でも良い
– 商集合 A/R:関係RによるAの同値類の集合
• A/R = { [n] | n∈A }
• 同値類の性質
– 同じ同値類に属する要素を代表元とする同値類はすべて
同一
– 任意のAの要素は、必ずどれか1つだけの同値類に属す
る
• 集合Aは、同値関係Rの同値類によって直和分割される
離散数学への入門
[例5.16]
Z
[0]
0
3
9
6
12
[1]
1
4
7
10
13
[2]
2
5
8
11
14
離散数学への入門
例[5.18]
どちらでもよい
12
11 0
0 12
1
3
9
4
5
8
7
1
2
10
6
2
3
11
10
9
4
5
8
7
6
離散数学への入門
第5章 終了