480 likes | 675 Views
Chapter 5 : Relations Benchaporn Jantarakongkul. ความสัมพันธ์( Relations ).
E N D
Chapter 5 : RelationsBenchaporn Jantarakongkul สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์(Relations) • หากเราต้องการเขียนความสัมพันธ์ระหว่างสมาชิกของเซต 2 เซต คือเซต A และ B, สามารถใช้คู่อันดับ(ordered pairs)โดยสมาชิกตัวแรกมาจากเซต A และสมาชิกตัวที่สองมาจากเซต B โดยความสัมพันธ์ระหว่างเซตสองเซต จะเรียกว่า ความสัมพันธ์ทวิภาค(binary relation) • นิยาม:ให้ A และ B เป็นเซต binary relation จาก A ไป B คือเซตย่อยของ AB • หรือกล่าวได้ว่า binary relation R ใดๆ, R AB เราใช้สัญลักษณ์ aRb เพื่อแทน (a, b)R และเขียน a R b เพื่อแทน (a, b)R ตัวอย่าง ให้ A = {0, 1, 2} และ B = {a, b} ดังนั้น R = {( 0, a) , ( 0, b) , ( 1, a) , ( 0, b) }เป็นความสัมพันธ์จาก A ไป B สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์(Relations) • เมื่อ (a, b) อยู่ในความสัมพันธ์ R กล่าวได้ว่า a สัมพันธ์กับ b ด้วย R • ตัวอย่าง:ให้ P เป็นเซตของคน, C เป็นเซตของยี่ห้อรถ, และ D เป็นความสัมพันธ์ที่ใช้อธิบายว่าคนขับรถยี่ห้อใด • P = {สมร, สุรีย์, พีระ, อาภา}, • C = {ฮอนด้า, บีเอ็มดับบลิว, โตโยต้า} • D = {(สมร, ฮอนด้า), (สุรีย์, ฮอนด้า), (สุรีย์, บีเอ็มดับบลิว), (พีระ, โตโยต้า)} • จากความสัมพันธ์ที่กำหนดแสดงว่า สมรขับรถฮอนด้า สุรีย์ขับรถฮอนด้าและบีเอ็มดับบลิว พีระขับรถโตโยต้า ส่วนอาภาไม่ได้ขับรถยี่ห้อใดเลย สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์ส่วนเติมเต็ม(Complementary Relations) • ให้R:A×Bเป็น binary relation นิยามโดย R :≡ {(a,b) | (a,b) R} • ดังนั้น, R:A×B, ส่วนเติมเต็มของR, เป็น binary relation นิยามโดยR :≡ {(a,b) | (a,b)R} = (A×B) − R • สังเกตว่าความสัมพันธ์นี้ก็คือRโดยเอกภพสัมพัทธ์U = A×B • ส่วนเติมเต็มของRคือR เช่น< = {(a,b) | a<b)} ตัวอย่าง :< = {(a,b) | (a,b)<} = {(a,b) | ¬(a<b)} = ≥ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์ผกผัน(Inverse Relations) • ความสัมพันธ์R:A×Bใดๆ มีความสัมพันธ์ผกผันR−1:B×A นิยามโดยR−1 :≡ {(b, a) | (a,b)R} เช่น, <−1 = {(b, a) | a<b} = {(b, a) | b>a} = > • ตัวอย่าง, ถ้าR:คน→อาหารนิยามโดยa R b aกินbหรือ R:≡ {(a, b) | a กิน b}ดังนั้น: bR−1a bถูกกินโดยa หรือ R−1:≡ {(b, a) | bถูกกินโดยa } สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์ผกผัน(Inverse Relations) Q: สมมติRนิยามบนN โดย: xRy ก็ต่อเมื่อy = x 2 หรือ R:≡ {(x, y) | y = x 2} จงหาความสัมพันธ์ผกผันR -1? A: xRy ก็ต่อเมื่อy = x 2 Rเป็นฟังก์ชั่นกำลังสอง ดังนั้นR -1เป็นรากที่สอง: นั่นคือ: yR -1x ก็ต่อเมื่อy = x 2หรือ R−1 :≡ {(y, x) | y = x 2} xR -1y ก็ต่อเมื่อx = y 2 หรือ R−1 :≡ {(x, y) | x = y 2} xR -1y ก็ต่อเมื่อy = ±xหรือ R−1 :≡ {(x, y) | y = ±x} โดยx ต้องไม่เป็นจำนวนลบ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
Example • R={(a,b) | a สูงกว่า b} • R-1 ={(b,a) | a สูงกว่าb} ={(a,b) | b สูงกว่าa} • S={(x,y)R×R | y=(x+1)/3} • S-1 ={(y,x)R×R | y=(x+1)/3} ={(x,y)R×R | x=(y+1)/3} ={(x,y)R×R | y=3x-1} สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
1 1 2 2 3 3 4 4 ความสัมพันธ์บนเซต • ความสัมพันธ์จากเซตAไปยังตัวมันเองเรียกว่า ความสัมพันธ์บนเซตA • เช่น ความสัมพันธ์ “<” เป็นความสัมพันธ์บนเซตของจำนวนนับN • ความสัมพันธ์เอกลักษณ์(identity relation)IAบนเซตAคือเซต{(a,a)|aA} • ตัวอย่าง:กำหนดให้ A = {1, 2, 3, 4} จงหาคู่อันดับในความสัมพันธ์ R = {(a, b) | a < b} ? • Solution: R = {(1, 2), (1, 4), (2, 3), (1, 3), (3, 4)} (2, 4), สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์บนเซต • มีความสัมพันธ์ที่แตกต่างกันได้กี่แบบที่นิยามบนเซต A ที่มีสมาชิกจำนวน n ตัว? • ความสัมพันธ์บนเซต A เป็นเซตย่อยของ AA • จำนวนสมาชิกของ AA เท่ากับเท่าไร? • มีสมาชิก n2ใน AA, ดังนั้นจำนวนเซตย่อย (=จำนวนความสัมพันธ์บน A) ของ AA เท่ากับเท่าไร? • จำนวนเซตย่อยของเซตที่มีสมาชิก mตัวเท่ากับ 2m ดังนั้น AA จะมีจำนวนเซตย่อยได้เท่ากับ 2n2 • Answer:เราสามารถกำหนดความสัมพันธ์บนเซต A ที่แตกต่างกันได้ทั้งหมด 2n2แบบ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
คุณสมบัติของความสัมพันธ์คุณสมบัติของความสัมพันธ์ • นิยาม:ความสัมพันธ์ R บนเซต A เป็นความสัมพันธ์สะท้อน(reflexive)ถ้า (a, a)R สำหรับ สมาชิกทุกตัว aA • หมายเหตุ ถ้า U = แล้วประโยคข้างต้นเป็นจริง • ตัวอย่าง เช่น: • ความสัมพันธ์<ไม่เป็น reflexive เนื่องจากx < xไม่จริง, ดังนั้น (x, x) R • ความสัมพันธ์≥ :≡ {(a,b) | a≥b}เป็น reflexive เนื่องจาก (x, x) R • ความสัมพันธ์บนเซต {1, 2, 3, 4} ต่อไปนี้เป็น reflexive หรือไม่? • R = {(1, 1), (2, 2), (2, 3), (3, 3), (4, 4)} Yes • R = {(1, 1), (2, 2), (3, 3)} No • นิยาม:ความสัมพันธ์บนเซต A เป็นความสัมพันธ์ไม่สะท้อน(irreflexive)ถ้า (a, a)R สำหรับสมาชิกทุกตัวaA ตัวอย่าง เช่น: <เป็น irreflexive สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
Symmetry & Antisymmetry • ความสัมพันธ์RบนเซตAเป็นความสัมพันธ์สมมาตร(symmetric) ก็ต่อเมื่อR = R−1,นั่นคือ ถ้า(a,b)R↔ (b,a)R • เช่น, = (เท่ากับ) เป็น symmetric เพราะถ้าx = yแล้ว y = xสำหรับทุกๆxและyแต่ความสัมพันธ์<ไม่เป็น symmetric • “แต่งงานกับ” เป็น symmetric, “ชอบ” ไม่เป็น • ความสัมพันธ์Rเป็นความสัมพันธ์ปฏิสมมาตร(antisymmetric) ถ้าa≠b, (a,b)R→ (b,a)R • ตัวอย่าง เช่น : <เป็น antisymmetric, “ชอบ” ไม่เป็น • ความสัมพันธ์RบนเซตAเป็นความสัมพันธ์ไม่สมมาตร(asymmetric) ถ้าa,bA, (a,b)R →(b,a)R สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
คุณสมบัติของความสัมพันธ์คุณสมบัติของความสัมพันธ์ • ความสัมพันธ์บนเซต{1, 2, 3, 4} ต่อไปนี้เป็น symmetric, antisymmetric, หรือ asymmetric? • R = {(1, 1), (1, 2), (2, 1), (3, 3), (4, 4)} symmetric • R = {(1, 1)} sym. and antisym. • R = {(1, 3), (3, 2), (2, 1)} antisym. and asym. • R = {(4, 4), (3, 3), (1, 4)} antisym. สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
คุณสมบัติของความสัมพันธ์คุณสมบัติของความสัมพันธ์ นิยาม:ความสัมพันธ์Rเป็นความสัมพันธ์ถ่ายทอด(transitive)ก็ต่อเมื่อ(a,b,c) (a,b)R (b,c)R→ (a,c)R • ความสัมพันธ์จะเป็นความสัมพันธ์ไม่ถ่ายทอดintransitiveก็ต่อเมื่อไม่เป็นความสัมพันธ์ถ่ายทอดตัวอย่าง เช่น: • “เป็นบรรพบุรุษ” เป็น transitive • “ชอบ” ระหว่างคนเป็น intransitive • ความสัมพันธ์ = < > เป็น transitive • ความสัมพันธ์บนเซต {1, 2, 3, 4} ต่อไปนี้เป็น transitive หรือไม่? • R = {(1, 1), (1, 2), (2, 2), (2, 1), (3, 3)} Yes • R = {(1, 3), (3, 2), (2, 1)} No • R = {(2, 4), (4, 3), (2, 3), (4, 1)} No สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
Exercise • ให้ A={1,2,3,4} และ R,S,T,U เป็นความสัมพันธ์บนเซต A • R={(1,3), (3,4)} • S={(1,1), (2,2), (3,3), (2,3), (3,2), (1,4)} • T={(1,1), (2,2), (1,2), (2,1), (3,3), (4,4)} • U={(1,1), (2,2), (3,3), (2,3), (3,2), (1,4), (4,2), (1,2),(1,3)} สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
Answer • R มีคุณสมบัติIrreflexive, Antisymmetric และAsymmetric • S มีคุณสมบัติTransitive • T มีคุณสมบัติReflexive, Symmetric, และTransitive • U ไม่มีคุณสมบัติใดเลย สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์ประกอบ(Composite Relations) • ให้R:A×B, และS:B×Cดังนั้นความสัมพันธ์ประกอบSRจากRไปSนิยามได้โดย: SR = {(a,c) | b:aRb bSc} • RnของRบนเซตAสามารถนิยามได้โดยR0 :≡ IA; Rn+1 :≡ RRnโดยn≥0 โดย IA= {(x,x)|xA} และR−n:≡ (R−1)n สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์ประกอบ(Composite Relations) ตัวอย่าง:ให้ D และ S เป็นความสัมพันธ์บนเซต A = {1, 2, 3, 4} D = {(a, b) | b = 5 - a} “b เท่ากับ (5 – a)” S = {(a, b) | a < b} “a น้อยกว่า b” D = {(1, 4), (2, 3), (3, 2), (4, 1)} S = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)} SD = Q: สมมติความสัมพันธ์RนิยามบนเซตN โดย: xRy ก็ต่อเมื่อy = x2 และความสัมพันธ์SนิยามบนเซตN โดย : xSy ก็ต่อเมื่อy = x 3 จงหาS R ? A: ความสัมพันธ์ทั้งสองนี้เป็นฟังก์ชั่นกำลังสองและกำลังสาม ดังนั้นความสัมพันธ์ประกอบ S R คือxSRy ก็ต่อเมื่อy = x 6 (ในกรณีตัวอย่างนี้จะเห็นว่าR S = S R ) {(2, 4), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)} สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแสดงความสัมพันธ์ประกอบด้วยภาพการแสดงความสัมพันธ์ประกอบด้วยภาพ Q:กำหนดความสัมพันธ์ R1 และ R2 ด้วยภาพ ดังนี้ จงหา R2 R1: 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 5 5 R1 R2 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การหาความสัมพันธ์ประกอบโดยใช้ภาพการหาความสัมพันธ์ประกอบโดยใช้ภาพ 1 1 1 2 2 2 3 3 3 4 4 5 A: ลากเส้นทางลัดที่เป็นไปได้ทั้งหมด ในตัวอย่างนี้ทำได้โดยการลากผ่าน 1: 1 1 2 2 3 3 4 R1 R2 R2 R1 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การหาความสัมพันธ์ประกอบโดยใช้ภาพการหาความสัมพันธ์ประกอบโดยใช้ภาพ 1 1 1 2 2 2 3 3 3 4 4 5 A: ลากเส้นทางลัดที่เป็นไปได้ทั้งหมด ในตัวอย่างนี้ทำได้โดยการลากผ่าน 1: 1 1 2 2 3 3 4 R1 R2 R2 R1 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การหาความสัมพันธ์ประกอบโดยใช้ภาพการหาความสัมพันธ์ประกอบโดยใช้ภาพ 1 1 1 2 2 2 3 3 3 4 4 5 A: ลากเส้นทางลัดที่เป็นไปได้ทั้งหมด ในตัวอย่างนี้ทำได้โดยการลากผ่าน 1: 1 1 2 2 3 3 4 R1 R2 R2 R1 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การหาความสัมพันธ์ประกอบโดยใช้ภาพการหาความสัมพันธ์ประกอบโดยใช้ภาพ 1 1 1 2 2 2 3 3 3 4 4 5 A: ลากเส้นทางลัดที่เป็นไปได้ทั้งหมด ในตัวอย่างนี้ทำได้โดยการลากผ่าน 1: 1 1 2 2 3 3 4 R1 R2 R2 R1 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การหาความสัมพันธ์ประกอบโดยใช้ภาพการหาความสัมพันธ์ประกอบโดยใช้ภาพ 1 1 1 2 2 2 3 3 3 4 4 5 A: ลากเส้นทางลัดที่เป็นไปได้ทั้งหมด ในตัวอย่างนี้ทำได้โดยการลากผ่าน 1: 1 1 2 2 3 3 4 R1 R2 ดังนั้นR2 R1= {(4,1),(4,2),(4,3)} R2 R1 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การรวมความสัมพันธ์ • ทฤษฎีบท:ความสัมพันธ์RบนเซตAเป็นความสัมพันธ์ถ่ายทอด ก็ต่อเมื่อRn Rโดยnเป็นเลขจำนวนเต็มบวก • นิยาม:ความสัมพันธ์RบนเซตAเป็นความสัมพันธ์ถ่ายทอดถ้า(a,b)Rและ(b, c)R,แล้ว(a, c)Rเมื่อa, b, cA • ความสัมพันธ์ประกอบบนความสัมพันธ์Rจะประกอบด้วยสมาชิก(a, c)ซึ่งอยู่ใน R เท่านั้น ดังนั้น ความสัมพันธ์ถ่ายทอดRหรือRRจะไม่มีสมาชิกอื่นที่ไม่ได้อยู่ในความสัมพันธ์ R,ดังนั้นRR R • และจะเห็นว่าสมาชิกในRRRจะไม่มีสมาชิกอื่นที่ไม่ได้อยู่ในความสัมพันธ์ R ดังนั้น(RR)R R,เป็นเช่นนี้ไปเรื่อยๆ จึงสรุปได้ว่าRn R สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์(Representing Relations) • การแทนความสัมพันธ์ทำได้ 2 วิธีคือ:การแทนด้วยเมตริกซ์ 0-1(Zero-one matrices)และการแทนด้วยไดกราฟ(Directed graphs) • ถ้าRเป็นความสัมพันธ์จาก A = {a1, a2, …, am}ไปยังB ={b1, b2, …, bn},ดังนั้นRสามารถแทนด้วยเมตริกซ์MR = [mij]โดย mij = 1,ถ้า(ai, bj)R,และ mij = 0, ถ้า(ai, bj)R • การสร้างเมตริกซ์ ทำได้โดยเขียนสมาชิกที่อยู่ใน A ในด้านแถวและเขียนสมาชิกของ B ในด้านคอลัมน์ โดยจะเขียนเรียงลำดับสมาชิกแบบใดก็ได้ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • ตัวอย่าง:จงเขียนความสัมพันธ์R ซึ่งเป็นความสัมพันธ์ จาก {1, 2, 3} ไปยัง{1, 2} โดยกำหนดความสัมพันธ์R ดังนี้ R = {(2, 1), (3, 1), (3, 2)} ในรูปของเมตริกซ์? • ตอบ:เมตริกซ์ MRเขียนได้ดังนี้ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • เมตริกซ์แทนความสัมพันธ์บนเซตใดๆ(เช่น ความสัมพันธ์จากเซตAไปยังA)จะเป็นเมตริกซ์จัตุรัส(square matrices) • เมตริกซ์ที่แทนความสัมพันธ์สะท้อนจะมีสมาชิกในแนวเส้นทแยงมุมเป็นหนึ่ง(1) ทั้งหมดดังเมตริกซ์ Mref สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • เมตริกซ์ที่แทนความสัมพันธ์สมมาตร หากพับเมตริกซ์ในแนวทแยงจะมีสมาชิกที่เหมือนกันทุกตัวหรือ MR = (MR)t เมตริกซ์แทน ความสัมพันธ์สมมาตร เมตริกซ์แทน ความสัมพันธ์ไม่สมมาตร สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • เมตริกซ์ 0-1 สามารถใช้ในการบอกได้ว่าความสัมพันธ์นั้นมีหรือไม่มีคุณสมบัติใดได้ด้วย เช่น any-thing any-thing anything anything any-thing any-thing Reflexive:all 1’s on diagonal Irreflexive:all 0’s on diagonal Symmetric:all identicalacross diagonal Antisymmetric:all 1’s are acrossfrom 0’s สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • ตัวอย่าง:กำหนดให้ความสัมพันธ์ R และ S แทนด้วยเมตริกซ์ MRและ MSตามลำดับ • จงหาเมตริกซ์ที่แทน RS และ RS? ตอบ: สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • ให้A = [aij] เป็นเมตริกซ์ 0-1 ขนาด mkและ B = [bij] เป็นเมตริกซ์ 0-1 ขนาด kn • ดังนั้นการคูณแบบบูลีน(Boolean product)ของ A และ B, แทนด้วยสัญลักษณ์ AB คือเมตริกซ์ขนาด mn ที่สมาชิกแถวที่ i คอลัมน์ที่ j แทนด้วย [cij] หาได้จาก cij = (ai1 b1j) (ai2 b2j) … (aik bkj) cij = 1 ก็ต่อเมื่อมี (ain bnj) = 1 อย่างน้อยหนึ่งชุด สำหรับ n บางค่า หากไม่มีชุด (ain bnj) ใดเลยที่เท่ากับหนึ่ง จะมีผลทำให้ cij = 0 สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • กำหนดเมตริกซ์ 0-1MA = [aij], MB = [bij] และMC = [cij] แทนความสัมพันธ์ A, B, และ C, ตามลำดับ • สำหรับ MC = MAMBจะได้ว่า cij = 1ก็ต่อเมื่อมี (ain bnj) = 1 อย่างน้อยหนึ่งชุด สำหรับ n บางค่า หากไม่มีชุด (ain bnj) ใดที่เท่ากับหนึ่ง จะทำให้ cij = 0 หมายความว่า C มีสมาชิก (xi, zj) ก็ต่อเมื่อมีสมาชิก ynตัวหนึ่งที่ (xi, yn) อยู่ในความสัมพันธ์ A และ (yn, zj) อยู่ในความสัมพันธ์ B • ดังนั้น C = BA (C เป็นความสัมพันธ์ประกอบจาก A ไปยัง B) สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • จะได้ว่า เมตริกซ์ของความสัมพันธ์ประกอบ BA หาได้จาก: MBA = MAMB • หรือกล่าวได้ว่า เมตริกซ์ที่แทนความสัมพันธ์ประกอบจากความสัมพันธ์ A ไปยัง B หาได้จากการนำเมตริกซ์แทนความสัมพันธ์ A คูณแบบบูลีน(Boolean product)กับเมตริกซ์แทนความสัมพันธ์ B • ในทำนองเดียวกัน สามารถหาเมตริกซ์ที่แทน ยกกำลังของความสัมพันธ์ได้จาก: • MRn = MR[n](การคูณแบบบูลีนของเมตริกซ์แทนความสัมพันธ์ n ครั้ง) สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้เมตริกซ์การแทนความสัมพันธ์โดยใช้เมตริกซ์ • ตัวอย่าง :จงหาเมตริกซ์ R2 โดยกำหนดเมตริกซ์แทนความสัมพันธ์ R ดังนี้ ตอบ:เมตริกซ์R2เขียนได้ดังนี้ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์โดยใช้ Directed Graphs • กราฟมีทิศทาง(directed graph)หรือ ไดกราฟ(digraph) G=(VG,EG)คือเซตของจุดVGกับเซตของด้านEGVG×VGโดยความสัมพันธ์R:A×Bสามารถแทนได้ด้วยกราฟGR=(VG=AB, EG=R) กราฟแทน ความสัมพันธ์ R GR: ด้านหรือเส้น แทนสมาชิกในEG เมตริกซ์แทนความสัมพันธ์ RMR: Joe Susan Fred Mary Mark Sally จุดแทนสมาชิกในVG สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
a b d c การแทนความสัมพันธ์โดยใช้ Directed Graphs • ตัวอย่าง:จงเขียนไดกราฟของจุด V = {a, b, c, d}, และด้านE = {(a, b), (a, d), (b, b), (b, d), (c, a), (c, b), (d, b)} • ด้าน(b, b) เรียกว่าloop สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแทนความสัมพันธ์ Reflexive, Symmetricโดยใช้ Directed Graphs Reflexive:ทุกจุดมีลูปหาตัวเอง Symmetric:เส้นเชื่อมจุด ต้องมีทั้งไปและกลับ Antisymmetric:เส้นเชื่อมจุด มีทิศทางเดียว Irreflexive: ไม่มีจุดใด มีลูปหาตัวเอง กราฟทั้งสองไม่เป็น reflexive และ ไม่เป็น irreflexive กราฟทั้งสองไม่เป็น asymmetricและ ไม่เป็นantisymmetric สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์สมมูล(Equivalence Relations) • ความสัมพันธ์สมมูลใช้เชื่อมโยงสิ่งที่มีคุณสมบัติบางอย่างเหมือนกันไว้ด้วยกัน • นิยาม:ความสัมพันธ์บนเซต A เรียกว่าความสัมพันธ์สมมูล ถ้าความสัมพันธ์นั้นเป็นความสัมพันธ์สะท้อน(Reflexive) สมมาตร(Symmetric)และถ่ายทอด(Transitive) • สมาชิกสองตัวใดๆที่ถูกเชื่อมโยงกันด้วยความสัมพันธ์สมมูล R จะกล่าวได้ว่าสมาชิกทั้งสองตัวนั้นสมมูลกัน สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ความสัมพันธ์สมมูล(Equivalence Relations) • ตัวอย่าง:สมมติR เป็นความสัมพันธ์บนเซตของข้อความภาษาอังกฤษโดย aRb ก็ต่อเมื่อ l(a) = l(b), ซึ่งl(x) แทนความยาวของข้อความ x จงพิจารณาว่า R เป็นความสัมพันธ์สมมูลหรือไม่? • ตอบ: • R เป็นความสัมพันธ์สะท้อน เพราะ l(a) = l(a) ดังนั้น aRa สำหรับข้อความ a ใดๆ • R เป็นความสัมพันธ์สมมาตร เพราะถ้า l(a) = l(b) แล้ว l(b) = l(a) ดังนั้นถ้า aRb แล้ว bRa • R เป็นความสัมพันธ์ถ่ายทอดเพราะถ้า l(a) = l(b) และ l(b) = l(c), แล้ว l(a) = l(c), ดังนั้นถ้า aRb และ bRc แล้ว aRc • ดังนั้น R เป็นความสัมพันธ์สมมูล สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ชั้นสมมูล(Equivalence Classes) • นิยาม:ให้ R เป็นความสัมพันธ์สมมูลบนเซต A เซตของสมาชิกทุกตัวที่สัมพันธ์กับสมาชิกaของเซต A จะเรียกว่าชั้นสมมูลของa • ชั้นสมมูลของaภายใต้ความสัมพันธ์ R แทนด้วยสัญลักษณ์[a]Rโดย [a]R :≡ { b | aRb } • ในกรณีที่พิจารณาชั้นสมมูลภายใต้ความสัมพันธ์เพียงความสัมพันธ์เดียว อาจแทนชั้นสมมูลของ aสั้นๆด้วย[a] ก็ได้ • ถ้าb[a]R, bเรียกว่า ตัวแทน(representative)ของชั้นสมมูลนี้ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ชั้นสมมูล(Equivalence Classes) ตัวอย่าง:จากตัวอย่างของข้อความที่มีความยาวเท่ากัน จงหาชั้นสมมูลของคำว่า mouse, โดยแทนด้วยสัญลักษณ์ [mouse] ? ตอบ: [mouse] คือเซตของคำที่มีความยาวเท่ากับ 5 ตัวอักษร [mouse]={horse, table, white,…} จะเห็นว่า‘horse’จัดเป็นตัวแทนตัวหนึ่งของชั้นสมมูลนี้ สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ตัวอย่างชั้นสมมูล(Equivalence Classes) • “ข้อความaและbที่มีความยาวเท่ากัน” • [a] = เซตของข้อความใดๆที่มีความยาวเท่ากับความยาวของข้อความa • “จำนวนเต็มaและb ที่มีค่าสัมบูรณ์เท่ากัน” • [a] = {a, −a} • “จำนวนจริงaและbที่มีส่วนทศนิยมเท่ากัน (นั่นคือ, a− b Z)” • [a] = {…, a−2, a−1, a, a+1, a+2, …} • “จำนวนเต็มaและbที่มีเศษเหลือจากการหารด้วยm เท่ากัน” (กำหนดให้m>1) • [a] = {…, a−2m, a−m, a, a+m, a+2m, …} สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ชั้นสมมูล(Equivalence Classes) ทฤษฎีบท:ให้ R เป็นความสัมพันธ์สมมูลบนเซต A ประโยคต่อไปนี้สมมูลกัน: • aRb • [a] = [b] • [a] [b] นิยาม:การแบ่งส่วน(partition)ของเซต S คือกลุ่มของเซตย่อยของ S ที่ไม่ใช่เซตว่าง และไม่มีสมาชิกร่วมกันโดยเมื่อนำเซตย่อยทั้งหมดมารวม(union) กันจะเท่ากับเซต S หรือกล่าวได้ว่า กลุ่มของเซตย่อย Ai โดย iI ทำให้เกิดการแบ่งส่วนของ S ก็ต่อเมื่อ(i) Ai โดย iI (ii) Ai Aj = , ถ้า i j (iii) iI Ai = S สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
การแบ่งส่วน(Partition) • ตัวอย่าง:กำหนดให้Sเป็นเซต{u, m, b, r, o, c, k, s}เซตต่อไปนี้เป็นการแบ่งส่วน(partition)ของเซตSหรือไม่? {{m, o, c, k}, {r, u, b, s}} yes {{c, o, m, b}, {u, s}, {r}} no (ไม่มี k) {{b, r, o, c, k}, {m, u, s, t}} no (t ไม่เป็นสมาชิกของ S) {{u, m, b, r, o, c, k, s}} yes {{b, o, o, k}, {r, u, m}, {c, s}} yes ({b,o,o,k} = {b,o,k}) {{u, m, b}, {r, o, c, k, s}, } no (เป็น ไม่ได้) สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ชั้นสมมูล(Equivalence Classes) • ทฤษฎีบท:ให้ R เป็นความสัมพันธ์สมมูลบนเซต S ดังนั้นชั้นสมมูลของความสัมพันธ์ R จะทำให้เกิดการแบ่งส่วน(partition)ของเซต S และ หากกำหนดการแบ่งส่วน {Ai | iI} ของเซต S มาให้ จะมีความสัมพันธ์สมมูล R ซึ่งมีเซต Ai, iI, เป็นชั้นสมมูลของความสัมพันธ์นั้น • ชั้นสมมูลของความสัมพันธ์สมมูล R ใดๆที่นิยามบนเซต S จะทำให้เกิดการแบ่งส่วนของเซต S เพราะสมาชิกทุกตัวในเซต S ถูกกำหนดให้อยู่ในชั้นสมมูลได้เพียงชั้นเดียวเท่านั้น สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ชั้นสมมูล(Equivalence Classes) • ตัวอย่าง:สมมติแฟรงก์, ซูซานและจอร์จอาศัยในเมืองบอสตัน, สเตฟานีและแมค อาศัยอยู่ในเมืองเบอลิน เจนนิเฟอร์อาศัยอยู่ในเมืองซิดนีย์ • ให้ R เป็นความสัมพันธ์สมมูล {(a, b) | a และ b อาศัยอยู่ในเมืองเดียวกัน} บนเซต P = {แฟรงก์, ซูซาน, จอร์จ, สเตฟานี, แมค, เจนนิเฟอร์} ดังนั้น R = {(แฟรงก์, แฟรงก์), (แฟรงก์, ซูซาน), (แฟรงก์, จอร์จ), (ซูซาน, แฟรงก์), (ซูซาน, ซูซาน), (ซูซาน, จอร์จ), (จอร์จ, แฟรงก์), (จอร์จ, ซูซาน), (จอร์จ, จอร์จ), (สเตฟานี,สเตฟานี), (สเตฟานี, แมค), (แมค, สเตฟานี), (แมค, แมค), (เจนนิเฟอร์, เจนนิเฟอร์)} • ดังนั้นชั้นสมมูล ของ R คือ: {{แฟรงก์, ซูซาน , จอร์จ}, {สเตฟานี, แมค}, {เจนนิเฟอร์}} ซึ่งเป็นการแบ่งส่วน (partition) ของ P สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา
ชั้นสมมูล(Equivalence Classes) • ตัวอย่าง:กำหนดให้R เป็นความสัมพันธ์{(a, b) | a b (mod 3)} บนเซตของจำนวนเต็ม หรือกล่าวได้ว่า R เป็นความสัมพันธ์ (a, b) | a หารด้วย 3 แล้วเหลือเศษ b } • ความสัมพันธ์R เป็นความสัมพันธ์สมมูลหรือไม่? • เป็น เพราะ R เป็นความสัมพันธ์สะท้อน สมมาตร และถ่ายทอด (ให้เหตุผล เป็นแบบฝึกหัด) • จงหาชั้นสมมูลของความสัมพันธ์ R ? {{…, -6, -3, 0, 3, 6, …}, {…, -5, -2, 1, 4, 7, …}, {…, -4, -1, 2, 5, 8, …}} สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาการสารสนเทศ ม.บูรพา