DM_lect_9-relations

Download Report

Transcript DM_lect_9-relations

461191 Discrete Math
Lecture 9: Relations
San Ratanasanya
CS, KMUTNB
Adpated from Dr. Goanchanart, RSU
Today’s topics



Review of Recurrence Relations
Administrivia
Relations






Properties of Relations
n-ary Relations
Representing Relations
Closures of Relations
Equivalence Relations
Partial Orderings
2
Recurrence Relations



Recurrence relation สำหรับ ลำดับ {an} คือสมกำรที่แสดง an ในรู ป
ควำมสัมพันธ์ของเทอมก่อนๆของลำดับนั้น โดยที่ n ≥ n0 และ n0 เป็ น
Nonnegative Integer ซึ่ งเรำจะเรี ยกลำดับนั้นว่ำเป็ นคำตอบ (Solution)
ของ relation ก็ต่อเมื่อ แต่ละเทอมของลำดับนั้นเป็ นไปตำมสมกำรดังกล่ำว
Relation จะมี unique solution ก็ต่อเมื่อมีกำรกำหนด initial
condition
เรำสำมำรถสร้ำงแบบจำลองของเหตุกำรณ์ต่ำงๆด้วย Recurrence Relation ได้
3
Examples

ตูข้ ำยน้ ำตูห้ นึ่งรับเฉพำะเหรี ยญ 1 บำท และ 5 บำท จงหำ recurrence
relation ของจำนวนวิธีในกำรหยอดเหรี ยญ โดยที่คิดลำดับของกำรหยอดเหรี ยญ
ด้วย





ให้ Pn แทนวิธีในกำรหยอดเหรี ยญ n บำท
P1 = 1, P2 = 1, P3 = 1, P4 = 1, P5 = 2
P6 = 3, P7 = 4, P8 = 5, ….
สังเกตุวำ่ P6 = 3 = 2 + 1, P7 = 4 = 3 + 1, P8 = 5 = 4 + 1, …
Pn = Pn-1 + Pn-5
4
Solving Linear Recurrence
Relations


เรำสำมำรถเปลี่ยนสมกำร Recurrence relation ให้อยูใ่ นรู ปอื่นที่ไม่เป็ น
recursive ได้ กล่ำวคือไม่แสดงถึงควำมสัมพันธ์ระหว่ำงเทอมก่อนหน้ำกับเทอมที่
n
วิธีกำรเปลี่ยนจะมีหลำยวิธี แต่ที่เรำนำไปใช้บ่อยๆ คือกำรเปลี่ยนให้อยูใ่ นรู ปของ
สมกำรเชิงเส้น (Linear equation)

กำรเปลี่ยนเป็ นสมกำรเชิงเส้นจะมี 2 รู ปแบบ คือ


Homogeneous
Non-Homogeneous
5
Examples

จงหำคำตอบของควำมสัมพันธ์เวียนเกิด an = an-1 + 2an-2, a0 = 2, a1 = 7




จำก r2 – r – 2 = 0, r1 = 2, r2 = -1
ดังนั้น an = α12n + α2(-1)n
จำกกำรแทน initial condition ลงในสมกำรข้ำงต้นจะได้ α1 = 3 และ α2 = -1
เพรำะฉะนั้น an = 3·2n -(-1)n
6
Generating Functions

ฟังก์ชนั ก่อกำเนิด (Generating Function) เป็ นฟังก์ชนั ที่อยูใ่ นรู ปของ
Power Series



ใช้ในกำรนับ
ใช้ในกำรหำ Explicit Formula ของ Recurrence Relation
ฯลฯ
7
Examples

จงเปลีย่ นรูปของ recurrence relation ak = 3ak-1 สำหรับ k =1,2,3… ทีม
่ ี initial condition
a0 = 2


k
ให้ G(x) เป็ น generating function ของ {ak} นั่นคือ G( x)   ak x
k 0

เนื่องจำก xG( x) 

a x
k
k 0

k 1

  ak 1 x k
k 1
นำ G(x) และ xG(x) มำแทนลงใน recurrence relation จะได้วำ่



G( x)  3xG( x)   ak x  3 ak 1 x  a0   (ak  3ak 1 ) x k  2
k
k 0


k 1
k 1

1
  ak xk
หรือ G(x) – 3xG(x) = (1-3x)G(x) = 2 นั่นคือ G(x) = 2/(1-3x) และ
(1  ax) k 0

3
ทำให้ G( x)  2
k
k 0

k
ดังนัน
้

x   2  3k x k
k
k 0
ak  2 3k x k
8
Divide-and-Conquer and
Recurrence Relations



สมมติวำ่ Recursive Algorithm ได้แบ่งปั ญหำขนำด n ออกเป็ นปั ญหำย่อยๆ จำนวน a
ปัญหำโดยที่แต่ละปัญหำมีขนำดเป็ น n/b โดยที่ n หำรb ลงตัวและสมมติวำ่ ยังมีเศษเหลือของ
ปัญหำที่เรำต้องใช้อีก g(n) เพื่อแก้ปัญหำในส่ วนนี้
กระบวนกำรแบ่งปัญหำข้ำงต้นเรี ยกว่ำ Divide (แบ่งแยก) ซึ่ งจะทำต่อเนื่องกันไปเรื่ อยๆ จนถึง
ขนำดของปัญหำที่เล็กที่สุดและได้คำตอบทันที และเป็ นปัญหำที่สำมำรถใช้วธิ ีกำรเดียวกันในกำร
แก้ปัญหำได้ เมื่อเรำแก้ปัญหำย่อยได้หมดแล้วจึงนำคำตอบของแต่ละปัญหำย่อยเหล่ำนั้นมำรวมกัน
ในส่ วนนี้เรำเรี ยกว่ำ Conquer (ครอบครอง)
สมมติให้ f(n) เป็ นจำนวนกำรทำงำนที่ตอ้ งใช้ในกำรแก้ปัญหำขนำด n เรำจะได้ f(n) ที่อยูใ่ นรู ป
ของ Recurrence Relation ดังนี้



f(n) = a·f(n/b) + g(n)
เรำเรี ยกสมกำรนี้วำ่ Divide-and-Conquer Recurrence Relation
เรำสำมำรถใช้ Master Theorem ในกำรประมำณค่ำควำมซับซ้อนของ algorithm
ลักษณะนี้ได้
9
Example

ให้ f(n) = f(n/3) +1 เมื่อ n หำร 3 ลงตัว และ f(1) = 1 จงหำ
f(27)

f(27) = f(9) + 1 = f(3) + 2 = f(1) + 3 = 4
10
Inclusion-Exclusion
Theorem 1: หลักกำรของกำรเพิม
่ เข้ำ-ตัดออก
ถ้ำให้ A1, A2, …, An เป็ น Set จำกัด จะได้วำ่
| A1  A2  ... An |
 A  | A  A
1i n

i
1i  j n
i
j
|
n1
|
A

A

A
|

...

(

1
)
| Ai  Aj  ... An |
 i j k
1i  j k n
11
Example

จงหำจำนวนของจำนวนเฉพำะที่นอ้ ยกว่ำ 200 ด้วย Principle of Inclusion-Exclusion

= 198 199  199  199  199  199  199  199  199   199
 2   2   5   7   11   13   2  3   2  5   2  7 
 199   199  199 199 199  199   199  199  199 

















2

11
2

13
3

5
3

7
3

7
3

11
3

13
5

7

 
 
 
 
 
 
 
  5 11
 199   199   199   199   199   199   199   199 















5

13
7

11
7

13
11

13
2

3

5
2

3

7
2

3

11

 
 
 
 
 
 
  2  3 13
 199   199   199   199   199   199   199 













 2  3 13  2  5  7   2  5 11  2  5 13  2  7 11  2  7 13  3  5  7 
 199   199 



 3  5 11  3  5 13

= 40
12
Administrivia

Midterm Exam

Statistic Summary:







n = |S1|+|S2|-|M|+|A|= 20+42+1-2+48+1-3 = 93
Max: ??
Sorry, I cannot finish grading it by today
Mean: ??
Min: 6
Standard Deviation: ??
Homework 1-6 and Programming Assignment 1 due
today
Programming Assignment 2 dues next week
13
Doubts in Midterm Exam


10. จงหำควำมน่ ำจะเป็ นของกำรเรียงสับเปลีย่ นสมำชิกใน {1, 2, 3} ทีท
่ ำ
ให้ 1 อยูห
่ น้ำ 3
 ข้อสงสัย: “1 อยูห
่ น้ำ 3” หมำยควำมว่ำ 1 กับ 3 อยูต
่ ด
ิ กัน โดยมี 1 อยู่
ข้ำงหน้ำ?
 คำตอบ: “1 อยูห
่ น้ำ 3” ไม่ได้หมำยควำมว่ำ 1 ต้องอยูต
่ ด
ิ กับ 3 โดยมี 1
อยูข
่ ำ้ งหน้ำเท่ำนัน
้
16. คลังสินค้ำของบริษท
ั แห่งหนึ่ง จัดวำงสินค้ำโดยวำงในตูข
้ นำดใหญ่ 50
ตู้ ซึง่ แต่ละตูม
้ ีควำมสูง 10 ชัน
้ แต่ละชัน
้ มี 85 ช่อง จำนวนสินค้ำทีน
่ ้อยทีส่ ด
ุ
ทีส่ ำมำรถจัดวำงในคลังสินค้ำแห่งนี้ได้มีจำนวนเท่ำใด หำกต้องจัดวำงให้มี
สินค้ำอย่ำงน้อยทีส่ ด
ุ 2 ชิน
้ อยูใ่ นช่องเดียวกัน
 ข้อสงสัย: “…สินค้ำอย่ำงน้อยทีส
่ ด
ุ 2 ชิน
้ อยูช
่ อ
่ งเดียวกัน...” จำนวนสินค้ำ
คือกำรคูณจำนวนช่องด้วย 2?
 คำตอบ: ตำมหลักของ pigeonhole; N/k = 2 เมือ
่ k คือจำนวนช่อง
และ N คือจำนวนสินค้ำทีน
่ ้อยทีส่ ด
ุ จะได้วำ่ N = k + 1
14
Doubts in Midterm Exam


18. สมมติให้นศ.มีมะม่วง 3 ลูก มะละกอ 2 ลูก และ ฝรั่ง 2 ลูก ถ้ำนศ.ทำน
ผลไม้วน
ั ละ 1 ชนิด ชนิดละ 1ลูก จะมีวธิ ีกำรทำนผลไม้ทง้ ั หมดนี้กีว่ ธิ ี
 ข้อสงสัย: จะต้องทำนหมดทุกลูกหรือไม่ เพรำะจะทำให้มีวธ
ิ ค
ี ด
ิ ทีแ
่ ตกต่ำง
กัน?
 คำตอบ: ข้อนี้ เป็ นกำรจัดเรียงของ r สิง
่ ทีซ
่ ำ้ กัน ดังนัน
้ จึงมีวธิ ค
ี ด
ิ เพียงวิธี
เดียว จึงไม่เกีย่ วข้องกับกำรทำนหมดหรือไม่หมดทุกลูก
19. อำจำรย์ในภำควิชำ CS ท่ำนหนึ่งกำลังจัดห้อง โดยเก็บวำรสำรทำง
วิชำกำรทีไ่ ม่ใช้แล้วจำนวน 40 เล่มลงในกล่องทีเ่ ขียนหมำยเลขไว้ 10 ใบ
อำจำรย์ทำ่ นนัน
้ จะมีวธิ ใี นกำรเก็บวำรสำรลงกล่องได้กวี่ ธิ ี
 ข้อสงสัย: โจทย์ไม่ได้ระบุวธ
ิ ใี ส่หนังสือลงกล่อง ว่ำต้องใส่กล่องละกีเ่ ล่ม?
 คำตอบ: เนื ่องจำกโจทย์ไม่ได้ระบุวำ
่ ต้องใส่หนังสือลงกล่องแบบใด ทำให้
ไม่สำมำรถหำคำตอบทีแ
่ น่ นอนได้ ดังนัน
้ จึงให้ฟรีในข้อนี้
15
Relations

กำหนดให้




ฟ้ ำใส ลงทะเบียนเรี ยนวิชำ CS01


(ฟ้ ำใส, CS01)
R
ทรำยขำว ลงทะเบียนเรี ยนวิชำ CS02


A เป็ นเซตของนักศึกษำ
B เป็ นเซตของวิชำสอน
R เป็ นควำมสัมพันธ์ในรู ป (a,b) ซึ่งหมำยถึง นักศึกษำ a ลงทะเบียนเรี ยนวิชำ b
(ทรำยขำว, CS02)
R
ฟองคลื่น ลงทะเบียนเรี ยนวิชำ CS01

(ฟองคลื่น, CS01)
R
16
Relations

กำหนดให้




A เป็ นเซตของจังหวัดในประเทศไทย
B เป็ นเซตของภำคต่ำงๆ
R เป็ นควำมสัมพันธ์ซ่ ึ งประกอบด้วยคู่ลำดับ (a,b) เมื่อ a อยูใ่ นภำค
b
จงยกตัวอย่ำง (a,b) ที่อยูใ่ น R
17
Relations






Relations (ควำมสัมพันธ์) แสดงถึงโครงสร้ำง หรื อควำมสัมพันธ์ของสมำชิกใน set ซึ่งเรำสำมำรถนำ
ควำมสัมพันธ์น้ ีไปใช้แก้ปัญหำในหลำยๆเรื่ องได้ เช่น กำรออกแบบฐำนข้อมูล กำรออกแบบและวำง
เครื อข่ำยคอมพิวเตอร์ เป็ นต้น Definition 1: ให้ A และ B เป็ น Set เรำจะได้
Binary Relation จำก A ไป B เป็ น subset ของ A x B
Definition 2: Relation บน Set A คือ
Binary Relation เป็ นควำมสัมพันธ์ระหว่ำง Set 2 set
Relation จำก A ไป A
 คำว่ำ Relation โดยทัว
่ ไปจะหมำยถึง Binary Relation
นันคือเป็ น Subset ของ A x A
n-ary Relation เป็ นควำมสัมพันธ์ของ set ที่มำกกว่ำ 2 set ่
Ordered Pair เป็ นกำรแสดงควำมสัมพันธ์ระหว่ำงสมำชิกของ Set 2 set อย่ำงพื้นฐำนที่สุด กล่ำวคือ
เป็ น subset ของผลคูณ Cartesian ของทั้ง 2 set นัน่ เอง
เรำใช้สญ
ั ลักษณ์ a R b แทน relation R จำก a ไป b และ a R/ b หมำยถึง a และ b ไม่มี relation R ต่อกัน
นัน่ คือ a R b หมำยถึง (a,b) R หรื อ a สัมพันธ์ (related) กับ b โดย R
18
Examples



A = { 0, 1 }
B = { a, b }
AxB
= { (0,a), (0,b), (1,a), (1,b) }





R1
R2
R3
R4
=
=
=
=
{
{
{
{
(0,a), (0,b) }
(0,a), (1,a) }
(0,b), (1,a), (1,b) }
(0,a), (0,b), (1,a), (1,b) }
ลองยกตัวอย่ำงทีไ่ ม่ใช่ relation จำก A ไปยัง B
19
Examples

ให้ A = {0, 1, 2} และ B = {a, b} แล้ว {(0,a), (0,b), (1,a), (2,b)} เป็ น relation จำก A ไป B
เรำสำมำรถใช้ภำพในกำร
แสดงควำมสัมพันธ์ได้ดงั รูป

ให้ A = {1, 2, 3, 4} จงหำ Ordered pair ที่อยูใ่ น
Relation R = {(a, b) | a divides b}

R = {(1, 1), (1, 2), (1, 3), (1, 4), (2, 2),
(2,4), (3, 3), (4, 4)}
20
Example

กำหนดควำมสัมพันธ์ตอ
่ ไปนี้






R1 = { (a,b) | a ≤ b}
R2 = { (a,b) | a > b }
R3 = { (a,b) | a = b or a = -b }
R4 = { (a,b) | a = b }
R5 = { (a,b) | a = b + 1 }
R6 = { (a,b) | a + b ≤ 3}
คู่ลำดับต่อไปนี้อยูใ่ น
ควำมสัมพันธ์ใด

(1,1)
(1,2)
(2,1)
(1, -1)
(2,2)

21
Properties of Relations

R มีคุณสมบัติสะท้ อน (Reflexive) ถ้ำ a R a สำหรับทุกๆ a ใน A

R มีคุณสมบัติสมมาตร (Symmetric) ถ้ำ a R b เป็ นผลให้ b R a

R มีคุณสมบัติปฏิสมมาตร (Anti-symmetric) ถ้ำ a R b และ b R a เป็ นผลให้ a = b

R มีคุณสมบัติถ่ายทอด (Transitive) ถ้ำ a R b และ b R c เป็ นผลให้ a R c

ดู Definition 3-5 ใน section 8.1
22
Examples

Relation บน {1,2,3,4} ใดต่อไปนี้ เป็ น reflexive, symmetric,
antisymmetric, และ transitive ตามลาดับ ?

R1 = { (1,1), (1,2), (2,1), (2,2), (3,4), (4,1), (4,4) }

R2 = { (1,1), (1,2), (2,1) }

R3 = { (1,1), (1,2), (1,4), (2,1), (2,2), (3,3), (4,1), (4,4) }

R4 = { (2,1), (3,1), (3,2), (4,1), (4,2), (4,3) }

R5 = { (1,1), (1,2), (1,3), (1,4), (2,2), (2,3), (2,4), (3,3), (3,4), (4,4) }

R6 = { (3,4) }

Reflexive: R3, R5

Symmetric: R2, R3

Antisymmetric: R4, R5, R6

Transitive: R4, R5, R6
23
More on Relations




เนื่องจำกควำมสัมพันธ์เป็ น Set ดังนั้นเรำจึงสำมำรถใช้ Set Operations กับ Relations ได้
Functions เป็ นควำมสัมพันธ์รูปแบบหนึ่ง ดังนั้น Functions จึงเป็ น subset ของ Relations
Composite Relation หรื อ ควำมสัมพันธ์ประกอบ ใช้สัญลักษณ์ S○R เพื่อแสดงถึง
ควำมสัมพันธ์ประกอบระหว่ำง a R b และ b S c นัน่ คือ a S○R c (ดู Definition 6, Sec. 8.1)
Power ของ Relation (Rn) คือควำมสัมพันธ์ประกอบที่ประกอบจำกควำมสัมพันธ์ R จำนวน
n ครั้ง สำมำรถแสดงควำมสัมพันธ์เป็ นแบบ Recursive ได้ดงั นี้ (ดู Definition 7, Sec. 8.1)

R1 = R, Rn+1 = Rn○R, n = 1, 2, 3, …
24
ลักษณะของฟังก์ชนั และควำมสัมพันธ์
Function
Relation
One-to-one


One-to-many


Many-to-one


25
Examples

ให้ A = {1,2,3} และ B = {1,2,3,4} และมี Relation R1 = {(1,1), (2,2), (3,3)} และ R2 = {(1,1),
(1,2), (1,3), (1,4)} จงหำ





R1  R2
R1  R2
R1 - R2
R2 – R1
{(1,1), (1,2), (1,3), (1,4), (2,2), (3,3)}
{(1,1)}
{(2,2), (3,3)}
{(1,2), (1,3), (1,4)}
จงหำ Composite ของ R และ S โดยที่ R เป็ น relation จำก {1,2,3} ไปยัง {1,2,3,4} โดยที่ R =
{(1,1), (1,4), (2,3), (3,1), (3,4)} และ S เป็ น relation จำก {1,2,3,4} ไปยัง {0,1,2} โดยที่ S = {(1,0),
(2,0), (3,1), (3,2), (4,1)}

S○R = {(1,0), (1,1), (2,1), (2,2), (3,0), (3,1)}
26
Example

ให้ R = {(1,1), (2,1), (3,2), (4,3)} จงหำ Rn




R2 = R○R = {(1,1), (2,1), (3,1), (4,2)}
R3 = R2○R = {(1,1), (2,1), (3,1), (4,1)}
R4 = R3○R = {(1,1), (2,1), (3,1), (4,1)}
Rn = R3, n = 3, 4, 5, …
27
จานวนของ Relations บน Set ที่
ิ n ตัว
มีสมาชก

ิ n ตัว.
ให ้ set A มีสมาชก

ั พันธ์บน set A คือ subset ของ A x A.
ความสม

ิ n2 ตัว.
ซงึ่ A x A มีจานวนสมาชก

ิ m ตัวจะมี 2m subset.
Set ทีม
่ ส
ี มาชก

แสดงว่า A x A ก็ม ี subset เท่ากับ 2n2.

ิ n ตัว.
ดังนัน
้ จึงมี 2n2 relations บน set ทีม
่ ส
ี มาชก

Example:

2
set { a, b, c } สามารถมี 23 = 29 = 512 relations.
28
Example

จะมี Reflexive relation ได้กี่แบบบน set ที่มีสมำชิก n ตัว


Reflexive คือ (a, a) R ดังนั้นจำก Product rule จะมี n(n-1) ordered pair
เพรำะฉะนั้นจะมี Relations ได้ท้ งั หมด 2n(n-1) แบบ
29
n-ary Relations and its
applications




เป็ นควำมสัมพันธ์ระหว่ำง set ที่มำกกว่ำ 2 set ขึ้นไป ใช้มำกในระบบฐำนข้อมูล
เช่น ข้อมูลนศ. จะมีรำยละเอียดว่ำเทอมใด นศ. รหัสใด ลงเรี ยนวิชำอะไรบ้ำง, ข้อมูล
เที่ยวบิน จะมีรำยชื่อผูโ้ ดยสำร เวลำขึ้น เวลำลง และชื่อสนำมบินต้นทำงกับปลำยทำง
เป็ นต้น
ให้ A1, A2, …, An เป็ น set แล้ว n-ary Relation บน set เหล่ำนี้จะเป็ น subset ของ
A1A2…An โดยที่ A1, A2, …, An เป็ น Domain ของ Relation และ n จะเป็ น degree
(ดู Definition 1, Sec. 8.2)
Example: ให้ R เป็ น relation บน NNN ประกอบด้วย triple (a, b, c) โดยที่ a < b < c
ดังนัน
้ (1, 2, 3)R แต่ (2, 4, 3)R ค่ำของ Degree จะเป็ น 3 และ Domain คือ N
30
Database and Relations








ฐำนข้อมูลมีหลำยประเภทซึ่งแต่ละประเภทก็มีวธิ ีจดั กำรแตกต่ำงกัน
กำรจัดกำรข้อมูลก็จะแตกต่ำงกันตำมวิธีกำรเก็บข้อมูล
ซึ่งขบวนกำรในกำรจัดกำรข้อมูลพื้นฐำน เช่นกำรเพิม่ ลบ แก้ไข ข้อมูล นั้นเป็ นไปเพือ่ ให้กำรสื บค้น
ข้อมูลเป็ นไปอย่ำงมีประสิ ทธิภำพ
ระบบกำรจัดกำรฐำนข้อมูลจึงมีหลำยลักษณะแตกต่ำงกันไป
ในบทนี้เรำจะกล่ำวถึงแบบจำลองของข้อมูลที่ใช้ควำมสัมพันธ์ช่วยในกำรจัดเก็บข้อมูล หรื อ
Relational Data Model (RDM) ซึ่งนักวิจยั ของ IBM เป็ นผูค้ ิดค้นขึ้น
ระบบกำรจัดกำรฐำนข้อมูลที่ใช้แบบจำลองดังกล่ำวเรำเรี ยกว่ำ Relational DataBase Management
System หรื อ RDBMS
ภำษำที่ใช้ในกำรจัดกำรฐำนข้อมูลประเภทนี้เรี ยกว่ำ SQL หรื อ SEQUEL ซึ่งย่อมำจำก Structured
English Query Language
ตัวอย่ำงของระบบที่ใช้แบบจำลองดังกล่ำว เช่น Oracle, MS Access, mySQL เป็ นต้น
31
Relational Database




สร้ำงมำจำก record (ระเบียน) ซึ่งเป็ น n-tuples ที่ประกอบไปด้วย fields หรื อ
ขอบเขตข้อมูล หรื อ ข้อมูล
เช่น ระเบียนนศ. เป็ น record ที่ประกอบไปด้วยข้อมูลต่ำงๆของนศ. เช่น ชื่อ
นำมสกุล รหัสนศ. สำขำวิชำ GPA เป็ นต้น
ใน RDM จะแสดงแต่ละ record ในฐำนข้อมูลในรู ปแบบของ n-ary relation
โดยทัว่ ไปจะแสดงในลักษณะของ ตำรำง (Table) และกำรเชื่อมโยงตำรำงต่ำงๆ
เข้ำด้วยกัน เพื่อแสดงถึงควำมสัมพันธ์ของ Table
32
Relational Database
อำจมีกำรเปลี่ยนแปลงเมื่อมี
เปลี่ยนแปลงของข้อมูล



Primary key คือ Domain (หรื อ Field) ที่สำมำรถใช้ระบุ n-tuple ใน Table ได้
คุณสมบัติของ Domain ที่สำมำรถเป็ น Primary key ได้ คือจะต้องไม่มีค่ำซ้ ำกันใน n-ary relation และ
จะไม่มีกำรเปลี่ยนแปลงเมื่อทำกำรเพิ่ม ลบ หรื อกำรเปลี่ยนแปลงใดๆของ ข้อมูลใน Table
Composite key คือ Cartesian product ของ Domain มำกกว่ำหนึ่ง ใช้ในกำรหำ n-tuple ที่ตอ้ งกำร

เช่น Domain ของ Student_Name และ Major
33
Operations on n-ary Relations





เรำสำมำรถสื บค้นข้อมูลที่ตอ้ งกำรใน RDB ได้โดยอำศัยควำมสัมพันธ์ ซึ่ งในที่น้ ีจะ
กล่ำวถึงหลักกำรเบื้องต้นในกำรสื บค้นข้อมูล
ในกำรสื บค้นข้อมูล เรำต้องกำรข้อมูลที่ตรงกับ Condition คือ เงื่อนไข หรื อคุณสมบัติ
ของ n-tuple ที่เรำต้องกำรใน Relation นั้น ซึ่ ง Selection Operator จะทำกำร map nary ใน Relation ไปยัง n-tuple ที่ตอ้ งกำรตำม Condition ที่ระบุ
เรำสำมำรถแสดงเฉพำะข้อมูลที่เรำสนใจด้วย กำร Projection ซึ่ งจะ map จำก n-tuple
ไปเป็ น m-tuple
เรำสำมำรถรวม Table เข้ำด้วยกันด้วยกำร Join เพื่อรวม Table ที่มีขอ้ มูลบำงอย่ำง
เหมือนกันเข้ำด้วยกัน
ดู Definiton 2-4 ใน Sec 8.2
34
Operations on n-ary Relations
Definition 2: ให้ R เป็ น n-ary Relation และ C เป็ น Condition ที่ Element ใน R จะต้องเป็ น ดังนั้น
‘selection operator’ (Sc) จะทำกำร Map จำก n-ary Relation ใน R ไปยัง n-ary Relation ที่
ประกอบด้วยทุกๆ n-Tuple จำก R ที่เป็ นไปตำม Condition C
Definition 3: Projection Pi1i2,…,im จะ Map จำก n-tuple (a1, a2, …, an)ไปยัง m-tuple (a1, a2, …, am)
โดยที่ m  n
Definition 4: ให้ R เป็ น Relation ที่มี Degree m และ S เป็ น Relation ที่มี Degree n กำร Join Jp(R, S)
โดยที่ p  m และ p  n เป็ น Relation ที่มี Degree m + n - p ที่ประกอบไปด้วยทุกๆ (m + n – p)-tuple
(a1, a2, …, am-p, c1, c2, …, cp, b1, b2, …, bn-p) โดยที่ m-tuple (a1, a2, …, am-p, c1, c2, …, cp) มำจำก R
และ n-tuple (c1, c2, …, cp, b1, b2, …, bn-p) มำจำก S
35
Examples

ถ้ำเรำใช้ C1 = (Major = “Computer Science”  GPA > 3.5) เพื่อหำข้อมูลจำก n-ary
Relation ใน Table 1 จะได้ผลลัพธ์เป็ นอะไร


ได้ 4-tuple อันเดียวคือ (Ackermann, 231455, Computer Science, 3.88)
ถ้ำใช้ Projection P1,3 กับ 4-tuples (2,3,0,4), (Jane Doe, 234111001, Geogrpahy, 3.14),
(a1, a2, a3, a4) จะได้ผลลัพธ์เป็ นอะไรบ้ำง

ได้ (2,0), (23411101, Geography), (a1, a3)

ผลลัพธ์ที่ได้จำกกำร Projection P1,4 จำก Table 1 คืออะไร

ถ้ำเรำทำกำร Join Table 5 และ 6 จะได้ผลลัพธ์เป็ นอย่ำงไร
36
Example
37
SQL Examples
SELECT Departure_Time
FROM Flights
WHERE Destination = ‘Detroit’
SELECT Professor, Time
FROM Teaching_assignments, Class_schedule
WHERE Department = ‘Mathematics’


(Rosen, 3:00 P.M.)
Select ใน SQL หมำยถึง Projection
รำยละเอียดของ Database และ SQL ที่มำกกว่ำนี้ นศ. จะได้ ศึกษำในวิชำ Database
38
กำรแสดงควำมสัมพันธ์ (Representing Relations)




เรำสำมำรถแสดงควำมสัมพันธ์ได้หลำยรู ปแบบ เช่น Ordered pair ที่เรำได้
ศึกษำในหัวข้อที่ผำ่ นมำ
ในหัวข้อนี้ เรำจะศึกษำถึงกำรแสดงควำมสัมพันธ์ดว้ ย Zero-One Martix
และ Directed Graph ซึ่ งเป็ นที่นิยมใช้กนั
กำรแสดงด้วย Zero-One Matrix เหมำะสำหรับกำรนำไปใช้งำนในกำร
โปรแกรมคอมพิวเตอร์
Directed Graph เป็ นกำรแสดงควำมสัมพันธ์ดว้ ยรู ปภำพซึ่ งเหมำะสำหรับ
กำรอธิบำยเพื่อควำมเข้ำใจ
39
Representing Relations Using Matrices



Relation ระหว่ำง Finite Set สำมำรถแสดงได้ดว้ ย Zero-One Matrix สมมุติวำ่ R เป็ น Relation จำก A ไป
ยัง B โดยที่ Element ใน A และB ถูกจัดเก็บในลักษณะของลำดับ ซึ่ งจะจัดเรี ยงอย่ำงไรก็ได้ ดังนั้น
Relation R สำมำรถแสดงได้ดว้ ย Matrix MR = [mij] โดยที่
1 ,if (ai, bj) R
mij  
0 ,if (ai, bj) R
ดังนั้น ค่ำ Element ใน Matrix ที่ Row = และ Column = ij จะมีค่ำเป็ น “หนึ่ง” ถ้ำ ai มีควำมสัมพันธ์กบั bj
หรื ออยูใ่ น R มิฉะนั้นแล้วมันจะมีค่ำเป็ น “ศูนย์”
Example: สมมติ A = {1,2,3}, B = {1,2} และ R เป็ น relation จำก A ไป B โดยที่ R = {(a,b) | aA 
bB  a > b} จงหำ Matrix ที่แสดง R ดังกล่ำว โดยให้ a1 = 1, a2 = 2, a3 = 3, b1 = 1, b2 = 2

จะได้วำ่ R = {(2,1), (3,1), (3,2)} ดังนั้น
0 0 
M R  1 0
1 1
40
Representing Relations Using Matrices

Matrix ที่แสดง Relation บน Set สำมำรถนำมำใช้หำคุณสมบัติของ Relation ได้ดงั นี้



Relation R บน A จะเป็ น Reflexive ก็ต่อเมื่อ mii = 1 กล่ำวคือ สมำชิกในแนวเส้น
ทแยงมุมหลัก ของ Matrix ที่แสดง R นั้น มีค่ำเป็ น 1 ทุกตัว
Relation R บน A จะเป็ น Symmetric ก็ต่อเมื่อ mij = mji กล่ำวคือ สมำชิกที่ (i,j)
และ (j,i) ของ Matrix ที่แสดง R นั้น มีค่ำเท่ำกันทุกตัว หรื อ MR = MRT
Relation R บน A จะเป็ น Anti-symmetric ถ้ำ mij = 1 แล้ว mij = 0 เมื่อ i  j หรื อ ถ้ำ
mij = 0 แล้ว mij = 0 เมื่อ i  j
41
Representing Relations Using Matrices


Boolean Operation ของ Matrix สำมำรถนำมำใช้หำ Union และ Intersect ของ
Relation ได้
นอกจำกนั้น เรำสำมำรถหำ Composite of Relation โดยใช้ Matrix ได้อีกด้วย โดยกำร
ใช้ Boolean Product
42
Examples

ให้ Relation R บน Set แสดงด้วย Matrix ข้ำงล่ำง จงหำว่ำ Rเป็ น Reflexive, Symmetric และ/หรื อ
Antisymmetric
R จะเป็ น Reflexive และ Symmetric แต่ไม่เป็ น Antisymmetric

สมมุติวำ่ Relation R1 และ R2 บน Set A แสดงด้วย Matrix ข้ำงล่ำง จงหำ Matrix ที่แสดง R1  R2
และ R1  R2
43
Examples

จงหำ Matrix ที่แสดง Relation SoR เมื่อ Matrix แสดง Rและ S คือ

จงหำ Matrix ที่แสดง R2 โดยกำหนดให้
จะเห็นว่ำ
44
Representing Relations Using Directed
Graphs

อีกวิธีหนึ่งในกำรแสดง Relation คือกำรใช้รูปภำพ ในลักษณะของ Graph โดยที่แต่ละ
Element ของ Set แสดงได้ดว้ ยจุด และแต่ละ Ordered Pair จะแสดงด้วยเส้นระว่ำงจุดที่มี
ลูกศร กำรแสดงในลักษณะนี้ เรำเรี ยกว่ำเป็ นกำรแสดงโดยใช้ Directed Graph หรื อ
Digraph
Definition 1: Directed Graph หรือ Digraph ประกอบไปด้วย Set V ของ Vertices หรือ Nodes
ประกอบกับ Set E ของ Ordered Pair ของ Element ใน V ทีเ่ รียกว่ำ Edges หรือ Arcs โดยที่ Vertex a
จะเรียกว่ำ Initial Vertex ของ Edge (a, b) และ Vertex b จะเรียกว่ำ Terminal Vertex ของ Edge นี้
Edge ในรูปของ (a, a) จะแสดงโดยใช้เส้นลูกศรทีเ่ ริม
่ จำก Vertex a กลับมำสูต
่ วั เอง ซึง่ Edge ในลักษณะนี้
เรำเรียกว่ำ Loop
45
Representing Relations Using Digraphs

จำกลักษณะของ Directed Graph เรำสำมำรถบอกคุณสมบัติบำงอย่ำงของ Relation ได้ เช่น




ถ้ำ Relation เป็ น Reflexive แล้ว จะต้องมี Loop ในทุกๆ Vertex ของ Directed Graph หรื อ
ถ้ำ Relation เป็ น Symmetric แล้ว เมื่อมี Edge เชื่อมระหว่ำงสอง Vertex ที่ไม่เหมือนกัน จะต้องมีอีก
Edge หนึ่งที่มีทิศทำงตรงกันข้ำม
ถ้ำ Relation เป็ น Antisymmetric จะต้องไม่มี Edge คู่(สองทิศทำง) ในคู่ของ Vertex ที่ต่ำงกัน
ถ้ำ Relation เป็ น Transitive หมำยควำมว่ำ ถ้ำมี Edge จำก Vertex x ไปยัง y และจำก Vertex y ไปยัง z
แล้ว จะต้องมี Edge จำก Vertex x ไปยัง z ด้วย
46
Examples


จงวำด Directed Graph ที่ประกอบด้วย Vertex a, b, c, และ d และ Edge (a, b), (a, d),
(b, b), (b, d), (c, a), (c, b), และ (d, b)
จงหำ Ordered Pair ใน Relation R ที่แสดงด้วย Directed Graph ข้ำงล่ำง
47
Example

จงหำว่ำ Relation ที่แสดงด้วย Directed Graph ดังรู ปข้ำงล่ำงเป็ น Reflexive,
Symmetric, Antisymmetric และ/หรื อ Transitive
Symmetric
48
Closures of Relations

ในกำรวำงเครื อข่ำย Network, วิธีที่ง่ำยที่สุดคือกำรเชื่อมต่อทุกจุด (Node) เข้ำด้วยกัน ซึ่งจะทำให้
เสี ยค่ำใช้จ่ำยในกำรเชื่อมโยง Data link ที่มำกเกินควำมจำเป็ น เพรำะจริ งๆแล้ว เรำต้องกำรเพียงแค่
เชื่อมโยงทุกจุดเข้ำด้วยกันเท่ำนั้นเอง ซึ่งสำมำรถทำได้โดยหำ Node ที่ทำหน้ำที่ตวั กลำงที่จะส่ งผ่ำน
ข้อมูลไปยัง Node ที่เรำต้องกำรได้ วิธีน้ ีจะทำให้ได้ link ที่นอ้ ยที่สุดที่ยงั สำมำรถส่ งผ่ำนข้อมูลกัน
ได้ทุกจุด เรำสำมำรถใช้ Relation ในกำรแก้ไขปั ญหำลักษณะนี้ได้โดยใช้สิ่งที่เรี ยกว่ำ transitive
closure หรื อ ควำมสัมพันธ์ปิดเชิงถ่ำยทอด
49
Closures of Relations

ถ้ำให้ Rเป็ น Relation บน Set A, Relation Rอำจจะมี
หรื อไม่มีคุณสมบัติของ P ที่อำจจะเป็ น Reflexive,
Symmetric หรื อ Transitive ถ้ำเรำสำมำรถหำ Relation ที่มี
คุณสมบัติ P ที่กำหนด และ Sประกอบไปด้วย R โดยที่ S
จะเป็ น Subset ของทุกๆ Relation ที่มีคุณสมบัติ P ที่มี R
ประกอบอยู่ ดังนั้นเรำจะเรี ยก S ว่ำเป็ น Closure ของ R
ด้วยคุณสมบัติ P
50
Reflexive Closure

สมมติมี Relation R = {(1,1), (1,2), (2,1), (3,2)} บน Set A = {1, 2, 3} จะเห็นว่ำ R ไม่เป็ น
Reflexive เรำจะสร้ำง Reflexive Relation ขนำดเล็กที่สุดที่มี R ประกอบอยูจ่ ะต้องทำอย่ำงไร






เพิ่ม (2,2) และ (3,3) ลงใน R จะทำให้ R เป็ น Reflexive
เพรำะว่ำเป็ น Ordered pair ของ (a, a) ที่ยงั ไม่มีอยูใ่ น R
จะเห็นได้ชดั ว่ำ Relation ใหม่น้ ีมี R ประกอบอยู่ นอกจำกนี้แล้ว Reflexive Relation ทุกอันที่มี R
ประกอบอยู่ จะต้องประกอบด้วย (2,2) และ (3,3)
ดังนั้น เนื่องจำก Relation R นี้มี (2,2) และ (3,3) ประกอบ เป็ น Reflexive และต้อง ประกอบอยูใ่ น
ทุกๆ Reflexive Relation ที่มี R ประกอบ ดังนั้นมันจะเป็ น Reflexive Closure ของ R
ถ้ำกำหนด Relation R บน Set A เรำสำมำรถสร้ำง Reflexive Closure ของ Rได้จำกกำรเพิ่มทุกๆ คู่
ของ (a,a), a A ที่ยงั ไม่มีอยูใ่ น Rให้แก่ R
ดังนั้นเรำสรุ ปว่ำ Reflexive Closure ของ R สร้ำงได้จำก Rโดยที่  คือ Diagonal Relation บน
A และ  = {(a,a) | a A}
51
Symmetric Closure

สมมติมี Relation R = {(1,1), (1,2), (2,2), (2,3), (3, 1), (3,2)} บน Set A = {1, 2, 3} จะเห็นว่ำ R ไม่
เป็ น Symmetric เรำจะสร้ำง Symmetric Relation ขนำดเล็กที่สุดที่มี R ประกอบอยูจ่ ะต้องทำอย่ำงไร






เพิ่ม (2,1) และ (1,3) ลงใน R จะทำให้ R เป็ น Symmetric
เพรำะว่ำเป็ น Ordered pair ของ (b, a) ที่ (a, b)  R ยังไม่มีอยูใ่ น R
จะเห็นได้ชดั ว่ำ Relation ใหม่น้ ีนอกจำกจะมี R ประกอบอยูแ่ ล้ว Symmetric Relation ทุกๆอันที่มี R
ประกอบอยู่ จะต้องประกอบด้วย (2,1) และ (1,3)
ดังนั้น เนื่องจำก Relation R นี้มี (2,1) และ (1,3) ประกอบ เป็ น Symmetric และต้อง ประกอบอยูใ่ น
ทุกๆ Symmetric Relation ที่มี R ประกอบ ดังนั้นมันจะเป็ น Symmetric Closure ของ R
ถ้ำกำหนด Relation R บน Set A เรำสำมำรถสร้ำง Symmetric Closure ของ Rได้จำกกำร union R
ด้วย Inverse ของ R หรื อ R-1
ดังนั้นเรำสรุ ปว่ำ Symmetric Closure ของ R สร้ำงได้จำก R R-1 โดยที่ R-1 = {(b,a) | (a,b) R}
52
Examples

จงหำ Reflexive Closure ของ Relation R = {(a,b) | a < b} บน set ของ Integer

จงหำ Symmetric Closure ของ Relation R = {(a,b) | a > b} บน set ของ Positive Integer
53
Transitive Closure

สมมติวำ่ Relation R = {(1,3), (1,4), (2,1), (3,2)} บน Set A = {1, 2, 3, 4} จะเห็นว่ำ R ไม่เป็ น
Transitive เรำจะสร้ำง Transitive Relation ขนำดเล็กที่สุดที่มี R ประกอบอยูจ่ ะต้องทำอย่ำงไร




กำรเพิ่มเพียง (1,2), (2,3), (2,4) และ (3,1) ลงใน R ยังไม่สำมำรถทำให้ R เป็ น Transitive ได้ เพรำะผลลัพธ์ที่ได้ยงั
ขำด (3.4)
ทำให้เรำต้องเพิ่ม ordered pair ซ้ ำไปเรื่ อยๆ จนกว่ำจะได้ผลลัพธ์ที่ทำให้ R เป็ น Transitive
ดังนั้นกำรสร้ำง Transitive Closure นั้นจึงมีควำมซับซ้อนกว่ำ Reflexive และ Symmetric
ในกำรสร้ำง Transitive Closureนั้น เรำจะต้องรู ้นิยำมและทฤษฎีของเส้นทำง หรื อ Path ก่อน
54
Paths in Directed Graphs

ในกำรแสดง Transitive Relation ด้วย Digraph เรำต้องเข้ำใจนิยำมของ path ก่อน
55
Example

จงหำว่ำต่อไปนี้อนั ใดเป็ น Path ของ Directed Graph ที่แสดงในรู ปข้ำงล่ำง
a,b,d,e เป็ น Path ที่มีควำมยำว 3
a,e,c,d,b ไม่เป็ น Path เนื่องจำก (c,d) ไม่ใช่ Edge
b,a,c,b,a,a,b เป็ น Path ที่มีควำมยำว 6
d,c เป็ น Path ที่มีควำมยำว 1
c,b,a, เป็ น Path ที่มีควำมยำว 2
e,b,a,b,a,b,e เป็ น Path ที่มีควำมยำว 6
นอกจำกนี้แล้ว จะมี 2 Path ที่เป็ น Circuit คือ b,a,c,b,a,a,b และ e,b,a,b,a,b,e
56
Paths in Directed Graphs

เมื่อนำ Path มำใช้กบั Relation ที่แสดงด้วย Directed Graph เรำกล่ำวว่ำ จะมี Path จำก a ไป b ใน R
ถ้ำมี Sequence ของ Element a, x1, x2,…, xn-1,b โดยที่ (a, x1)  R, (x1, x2)  R, …, (xn-1,b)  R
ซึ่งนำไปสู่ Theorem 1
Theorem 1: ให้ R เป็ น Relation บน Set A จะมี Path ที่มีควำมยำว n
โดยที่ n เป็ น Positive Integer จำก a ไป b ก็ต่อเมื่อ (a,b)  Rn

จำกนิยำมของ Path จะเห็นได้วำ่ กำรหำ Transitive ของ Relation จะเท่ำกับกำรหำว่ำคู่ใดของ
Vertices ใน Directed Graph นั้นมี Path เชื่อมต่ออยูบ่ ำ้ ง
Definiton 2: ให้ Rเป็ น Relation บน Set , Connectivity Relation R*
จะประกอบไปด้วยคูข
่ อง (a,b) ทีม
่ ี Path ทีม
่ ีควำมยำวอย่ำงน้อย หนึ่ง จำก aไป b ใน R
57
Transitive Closure



เนื่องจำก Rn ประกอบไปด้วยคู่ของ (a,b) ที่เป็ น path ควำมยำว n จำก a ไป b ทำให้ R* เป็ น union
ของ Rn ทุกๆอัน หรื อ
จำก Theorem 2 จะเห็นว่ำ กำรหำ Transitive Closure คือกำรหำ Connectivity Relation นัน่ เอง
Example: ให้ R เป็ น Relation บน Set ของทุกๆคนบนโลก ซึ่ งประกอบด้วยคู่ (a,b) ถ้ำ a รู้จกั b จงหำ
Rn และ R* โดยให้ n เป็ น positive integer ที่มำกกว่ำ 1
58
Transitive Closure




อย่ำงไรก็ตำมในกำรหำ R* นั้นเรำไม่จำเป็ นต้องหำ R ของ path ควำมยำวไม่จำกัดใดๆ เรำสำมำรถ
จำกัดควำมยำวของ path ที่เพียงพอต่อกำรหำ R* โดยกำรใช้ Lemma 1
ซึ่งจำก Lemma 1 ทำให้
และเรำสำมำรถใช้ Matrix ในกำรหำ R* ได้ (ดูเพิ่มเติมจำก Defiiniton 3 และ Algorithm 1) แต่ทว่ำจะ
ได้ O(n4) (ดูรำยละเอียดใน Sec. 8.4)
Roy Warshall ได้เสนอ algorithm ที่ใช้ในกำรหำ R* ที่มีประสิ ทธิภำพดีกว่ำกำรใช้ Matrix เพรำะใช้
เพียง O(n3)
59
Warshall’s Algorithm
60
Example
61
62
63
64
Washall’s Algorithm (Cont.)
65
66
Warshall’s Algorithm
67
Equivalence Relations
68
69
Equivalence Relations
70
71
72
73
74
Equivalence Class & Partition
75
76
77
Partial Orderings
78
79
80
81
82
83
84
Lexicographic Ordering
85
86
87
Hasse Diagram
88
89
90
Minimal and Maximal
91
92
The Greatest/The Least Element
93
94
95
Upper Bound and Lower Bound
96
97
LUB and GLB
98
Lattice
99
100
101
102
Topological Sorting
103
104
105
106
107
Homework 8






Section 8.1
 8, 9, 13, 24, 27, 33
Section 8.2
 10, 26, 19, 28, 29
Section 8.3
 31, 32
Section 8.4
 15, 35
Section 8.5
 9, 11, 15, 16
Section 8.6


12, 13, 40, 64, 65
Supplementary
 ---
108