【資工考研】離散:二元關係

Relation

考慮集合

A,
B
之卡氏積
A×B

R
A×B
之一子集,稱
R
A
B
之二元關係,記作
R:AB

(a,b)R
則稱
a
,
b
R
關係,記作
aRb

除了用集合來看,也能用關係矩陣或是關係圖來看

例如

A={a1,,am},B={b1,,bn},R:AB
R
之關係矩陣
MR=(mij)m×n
,其中
mij={1 if (ai,bj)R0 if (ai,bj)R

Inverse

R:AB 之反關係
R1:BA
定義為
R1={(b,a)|(a,b)R}

aA,bB,aRbbR1a

  1. (R1)1=R
  2. MR1=(MR)T

Complement

R:AB 之補關係
R:AB
定義為
R={(a,b)|aA,bB,(a,b)R}

Composition

Let

R:AB,S:BC
R
,
S
之合成
RS={(a,c)|bB,(a,b)R(b,c)S}

關係的合成如果採用左運算,可以得到

MRS=MRMS 的結論;但是,有些書講的是右運算,這樣的話是比較與函數合成的右運算一致

  • 關係的合成滿足結合性
    (RS)T=R(ST)
  • RR=R2,Rn=Rn1R

六大特殊的二元關係

二元關係 定義 在關係矩陣中 在關係圖中
反身性 (reflextive)
aA,(a,a)R
對角項均為
1
每點均有 loop
非反身性 (irreflextive)
aA,(a,a)R
對角項均為
0
每點均無 loop
對稱性 (symmetric)
a,bA, if (a,b)R, then (b,a)R
對稱位置相等 兩點間若有邊必雙向
非對稱性 (asymmetric)
a,bA, if (a,b)R, then (b,a)R
對稱位置不同時為
1
,主對角必為
0
兩點間的邊必單向且每點均無 loop
反對稱性 (antisymmetric)
a,bA, if (a,b)R(b,a)R, then a=b
對稱位置不同時為
1
兩點間的邊必單向
遞移性 (transitive)
a,b,cA, if (a,b)R(b,c)R, then (a,c)R
沒什麼特徵
a
,
c
有兩布可達之 path 則必存在
a
c
的邊
  • 除了空集合上的空關係,反身跟非反身不會同時成立。他們可以都不成立,沒有一定某個成立
  • 除了空關係,對稱性與非對稱性不同時存在
  • 非空集合上的空關係,除了反身性其他皆有
  • 對稱性跟反對稱性可以同時存在
  • 有非對稱性就一定有反對稱性,反之不成立

等價條件

Let

RA×A
A
上的二元關係:

  1. R
    具反身性
    R0R
  2. R
    具非反身性
    R0R=
  3. R
    具對稱性
    R=R1
  4. R
    具非對稱性
    RR1=
  5. R
    具反對稱性
    RR1R0
  6. R
    具遞移性
    R2R

Note

R0={(x,x)|xA}
A
上之對角關係

R
R1
R
反身性
反身性
非反身性
非反身性
非反身性
反身性
對稱性
對稱性
對稱性
非對稱性
非對稱性
反身性
反對稱性
反對稱性
遞移性
遞移性

Tip

R 具備什麼性,
R1
就具備什麼性

Note

R 具非對稱性時,僅可得
R
具反身性

運算

  1. R
    ,
    S
    具反身性,則
    RS,RS,RS,R2
    具反身性
  2. R
    ,
    S
    具對稱性,則
    RS,RS,R2
    具對稱性
  3. R
    ,
    S
    具遞移性,則
    RS,R2
    具遞移性

Closure

  • r(R)
    為包含
    R
    之最小反身關係,稱作反身包 (reflexive closure)
  • s(R)
    為包含
    R
    之最小對稱關係,稱作對稱包 (symmetric closure)
  • t(R)
    為包含
    R
    之最小遞移關係,稱作遞移包 (transitive closure),也可記作
    R+

Tip

  1. r(R)=RR0
  2. s(R)=RR1
  3. i=1Ri=R+
  4. t(s(r(R)))
    R
    之等價包
  5. R
    有對稱性,則
    t(R)
    亦有對稱性
  6. s(RS)=s(R)s(S)

求遞移包

使用Floyd-Warshall algorithm

個數計算

If

|A|=n
A
上有
2n2
種二元關係:

反身性 非反身性 對稱性 非對稱性 反對稱性
2n2n
2n2n
2n2+n2
3n2n2
2n3n2n2

Tip

用關係矩陣來看 (所以你要熟悉這些特殊關係的矩陣有什麼特徵)

等價關係

同時具備反身、對稱、遞移性

R 稱為等價關係

如果

R,
S
皆為等價關係,則
R2,R1,RS
亦為等價關係
注意,
RS
不一定為等價關係

Important

同餘關係 (congruence modulo

n relation) 是一種常見的等價關係

Partition

稱集合

A 之子集合
A1,,An
形成
A
之一分割,若:

  1. Ai,i=1,2,,n
  2. i=1nAi=A
  3. ij,AiAj=
    (兩兩互斥)

R
A
上之等價關係,則
R
的相異等價類形成
A
之一分割
A
上之分割亦可唯一決定一種
A
上的等價關係

由此可知,等價關係個數相當於集合分割的方法數

例如若集合

A={1,2,3,4,5}
A={1,3}{2,4}{5}
A
上之一分割,則
A
上的等價關係
R
就可以寫出
R=({1,3}×{1,3})({2,4}×{2,4})({5}×{5})

而集合

{1,2,,m} 分割的方法數其實就可以看成
m
相異物放入
m
相同箱 (可空) 之方法數,即
i=1mS(m,i)
其中
S(m,n)
為 Stirling number (排列組合那邊的內容)

Partial Ordering Set

R 為集合
S
上的二元關係,
R
具有反身、反對稱、遞移性,則稱
R
S
上的偏序關係,
(S,R)
為一偏序集,記作
(S,)

常見的偏序集有:

  1. (Z,)
  2. (Z,)
  3. (N,)
  4. (N,)
  5. (P(A),)
    ,其中
    P(A)
    為集合
    A
    之 powerset
  6. (Dm,|)
    ,其中
    Dm
    為正整數
    m
    所有正因數所形成的集合
  7. (Z+,|)

Hasse Diagram

將偏序關係之圖形簡化,例如

(D12,|) 的 Hasse diagram 如下:

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

source

偏序集的性質

(S,R) 為一偏序集

  1. R
    亦為等價關係,則
    R
    為對角關係 (
    R0
    )
  2. (S,R1)
    亦為一偏序集
  3. T
    S
    之子集,則
    (T,R)
    亦為一偏序集
  4. R
    之關係圖中不存在長度
    2
    以上的 cycle
  5. (S,1)
    (T,2)
    皆為偏序集,定義
    S×T
    (s,t)(u,v)s1ut2v
    ,則
    (S×T,)
    亦為偏序集

Lexicographic Ordering

(S,R) 為一偏序集

定義

Sm 上的關係
為字典順序:
a,bSm,a=a1a2am,b=b1b2bm,ai,bjS,i,j

ab{a1b1a1Rb1 or {a1=b1,i,1ikak+1bk+1ak+1Rbk+1 for some k,1km

Maximal (極大), Minimal (極小), Greatest (最大), Least (最小)

(S,) 為一偏序集

{Mm
S
{極大極小
元素,如果不存在其他
S
中的元素
x
使得
{Mxxm

{ISOS
S
{最大最小
元素,如果對
S
中的任意元素
x
均有
{xIOx

Upper Bound (上界), Lower Bound (下界)

(S,) 為一偏序集,
A
S
之子集

{uSlS
A
{上界下界
,如果
xA{xulx

{uSlS
A
{最小上界 (lub)最大下界 (glb)
,如果
{ul
A
{上界 下界 
且對
A
之其他
{上界 u下界 l
均有
{uull

Totally Ordering Relation

Note

Comparable:
考慮偏序集

(S,),a,bS,ab ,若
ab
ba
恰一者成立,則稱
a
,
b
可比較

考慮偏序集

(S,) ,若
S
中任相異元素均可比較,則稱
為全序關係
(S,)
為全序集 (TOS)

Chain and Antichain

考慮偏序集

(S,) ,對
S
之子集
A
,若
A
中任相異元素
a
,
b

  • ab
    ba
    恰一者成立,則
    A
    為一個鍊
  • ab
    ba
    均不成立,則
    A
    為一個反鍊

鍊又叫線性有序集

S 本身為鍊,則
(S,)
為 TOS

鍊中的元素個數定義為其長度
如果

|A|=n ,則偏序集
(P(A),)
最長鍊之長度為
n+1

S 中最長鍊之長度為
n
S
可分割成
n
個互斥的反鍊
|S|=mn+1
S
中包含長度為
m+1
的反鍊 or 長度
n+1
的鍊

絡 (Lattice)

若偏序集

(S,) 任意
S
中的元素
a
,
b
滿足:

  • lub{a,b}
    存在 (記作
    ab
    a
    b
    的 joint)
  • glb{a,b}
    存在 (記作
    ab
    a
    b
    的 meet)

則稱

(S,) 為一個絡,記作
(S,,)

Important

如果

(S,) 為全序集,則
(S,)
為絡
逆敘述不為真

絡有以下性質:

  1. 交換律
  2. 一致率
  3. 結合律
  4. 等效律
  5. 吸收律

有界絡

如果

(S,,) 有宇上界
I
跟宇下界
O
,稱之有界絡
記作
(S,,,I,O)

如果

(S,,,I,O) 為有界絡,對
S
中之元素
a
bS,{ab=Iab=O

b
a
之補元素 (
b=a
)

Note

a=a

Note

有界絡

(S,,,I,O) 中若
S
之任意元素的補元素皆存在,稱之為互補絡

Note

(S,,) 為絡且
AS
lubA,glbA
均存在,稱之為完全絡
完全絡必定為有界絡

分配絡

如果

(S,,) 滿足:

  • a,b,cS,a(bc)=(ab)(ac)
  • a,b,cS,a(bc)=(ab)(ac)

則稱

(S,,) 為一分配絡

Tip

元素個數

<5 的絡必為分配絡

Important

(N,max,min),
(P(A),,,A,)
,
(Dm,lcm,gcd,m,1)
均為分配絡

(S,,,I,O) 同時為有界絡與分配絡,對
S
中之元素
a
a
若存在,其並定唯一

布林代數

(S,,,I,O) 若為有界、分配、互補的絡,則稱之為布林絡 or 布林代數
記作
(B,,,I,O,)

布林代數具有對偶性質,並符合笛摩根定律

對偶性質是說,設

S
B
中為真的敘述,則
Sd
仍為真
(
Sd
是把
S
中的
,
互換、
I,O
互換。例如
AA=
AA=U
為對偶敘述)

笛摩根定律,老朋友了:

a,bB,ab=ab,ab=ab

布林表示式

(B,,,I,O,) 為一布林代數,則布林表示式
E(x1,x2,,xn)
可遞迴定義為:

  1. B
    中任意元素皆為布林表示式
  2. 任意變數
    x1,x2,,xn
    皆為布林表示式
  3. E1
    ,
    E2
    皆為布林表示式,則
    E1
    ,
    E2
    ,
    E1E2
    ,
    E1E2
    均為布林表示式

我們經常用

+ 表示
、以
表示

Disjunctive Normal Form and Conjunctive Normal Form

Note

E(x1,,xn)=x1~x2~xn~ 為極小項,其中
xi~{xi,xi}

E(x1,,xn)=x1~x2~xn~
為極大項,其中
xi~{xi,xi}

E(x1,,xn) 為若干個極小項之 join 則稱其為一種 disjunctive normal form;若干個極大項之 meet 則稱作 conjuctive normal form

例如

E(x1,x2)=x1x2+x1x2+x1x2 為 disjunctive normal form ;
E(x1,x2)=(x1+x2)(x1+x2)
為 conjuctive normal form

化簡

布林表達式可以對應 logic network ,並且有多種表示的方法
不同的表示法造成的邏輯閘數目也會有所不同

  1. 代數化簡
  2. Karnaugh Map (卡諾圖)

詳細可以參考下列文章:

布林函數

這個對考資工更重要

Bs 為含
s
個原子的布林代數,稱
f:BsnBs
為一具有
n
變數的布林函數
Bs
中,
n
個變數的布林函數有
(2s)2ns

s=1
時,記作
B={I,O}
,此時的布林函數稱為開關函數

每個標準的布林表達式都可以用布林函數來表示,但並非所有布林函數都可以找到對應的布林表達式 (

s=1 時則皆可找到對應的布林表達式)

題目會這樣問:

How many Boolean functions on

n Boolean variables are self-dual? A Boolean function
f
one the Boolean variables
x1,,xn
is called self-dual if
f(x1,,xn)=f(x1,,xn)

先想想看,題目這邊先考慮的應該是

f:{0,1}n{0,1}
就是不談什麼 self-dual 的話,應該有
22n
種嘛

現在考慮到 self-dual 的話,那不就

{0,1}n 那邊少考慮一半就好?
所以答案就是
22n1

這邊考的觀念其實更多是要考你函數那邊觀念有沒有學好