This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
กราฟระบุทิศทางประกอบดวยสมาชิกที่มีจํานวนจํากัด เรียกวา บัพ (node) รวมกับสมาชิกของเซตของอารกระบุทิศทางที่เชื่อมระหวาง 2 บัพ เชน กราฟระบุทิศทางประกอบดวย 8 บัพ คือ A B C D E F G H และประกอบดวยอารกระบุทิศทาง 7 เสน คือ AA AB AC AD CD EG FC สามารถเขียนกราฟได คือ
บัพ u และ v ในกราฟไมระบุทิศทาง G เรียกวา ประชิด (หรือเปนเพ่ือนบาน) ใน G ถา (v1,v2) เปนอารกของ G ถา e = (v1,v2) อารก e เรียกวา การตกกระทบกับบัพ v1 และ v2 ดังน้ัน อารก e เรียกไดวาเชื่อมโยงบัพ v1 และ v2 นอกจากน้ีบัพ v1 และ v2 เรียกวาจุดปลายของอารก (v1,v2) ระดับขั้นของบัพ 1 บัพในกราฟแบบไมระบุทิศทาง คือ จํานวนของอารกที่เกี่ยวของ ยกเวนบัพที่มีรูปบวงจะมีระดับขั้นเปน 2 ระดับขั้นของบัพ v เขียนแทนดวย deg(v)
ตัวอยาง 14.1
จงหาระดับขั้นของบัพในกราฟ G และ H ที่แสดงในรูป b c d a b c a f e g e d กราฟ G กราฟ H ในกราฟ G : deg(a) = 2, deg(b) = deg(c) = deg(f) = 4, deg(d) = 1, deg(e) = 3 และ deg(g) = 0 ในกราฟ H : deg(a) = 3, deg(b) = 6, deg(e) = 5, deg(c) = 1
!"/
deg(d) = 5 ในกราฟท่ีประกอบดวยอารกท่ีระบุทิศทาง ระดับขั้นในของบัพ v ซึ่งเขียนแทนดวย deg- (v) คือ จํานวนของอารกที่ระบุทิศทางชี้ไปยังบัพนั้น ระดับข้ันนอกของ v เขียนแทนดวย deg+ (v) คือ จํานวนของอารกที่มีจุดเริ่มตนมาจากบัพ v a b c e d f ระดับข้ันในของกราฟ G มีดังน้ี deg- (a) = 2, deg- (b) = 2, deg- (c) = 3, deg - (d) = 2, deg - (e) = 3, deg- (f) = 0, ระดับข้ันนอกของกราฟ G คือ deg + (a) = 4, deg+ (b) = 1, deg + (c) = 2, deg + (d) = 2, deg + (e) = 3, deg + (f) = 0,
ระยะทาง k จากบัพ a ไปยังบัพ b ไดรับการกําหนดเปนแบบลําดับ ของ k+1 บัพ เมื่อ n1, n2, .........,nk+1 และ n1=a, nk+1=b adjacent (ni, ni+1) เปนจริง สําหรับ i อยูระหวาง 1 ถึง k ถาระยะทางของ k มีอยูจริงระหวาง a และ b แลว มีทางเชื่อมจาก a ไปยัง b วัฎจักร เปนวิถีจากบัพถึงตัวเอง กราฟวัฎจักร คือกราฟที่ประกอบดวยวัฎจักร กราฟอวัฎจักร คือกราฟที่ไมมีวัฎจักร
.
)
,
-
+
(
' *
ภาพประกอบ 14.6 กราฟระบุทิศทางประกอบดวยวัฎจักร
เม่ือพิจารณารูปท่ี 14-6 เห็นไดวา จาก A ถึง C นั้นม ี1 ระยะทาง จาก B ถึง G นั้นม ี2 ระยะทาง จาก B ถึง C นั้นไมมีทางเชื่อม
!"5
จาก B ถึง B นั้นม ี2 วัฎจักร จาก F ถึง F นั้นม ี2 วัฎจักร จาก H ถึง H นั้นม ี2 วัฎจักร
กําหนดใหกราฟ G ประกอบดวยเซตของบัพ VG และเซตของอารก EG ซ่ึง |VG| = n สมมติใหกราฟอยูในลําดับของ n เมื่อ n >= 1 การแทนกราฟสามารถทําไดโดยเมทริกซประชิด ซึ่งแทนไดโดย แถวลําดับ A ที่มีขนาด n × n ซ่ึง
!/6
A(i, j) = 1 ถา vi ประชิดกับ vj = 0 กรณีอ่ืนๆ ถามีอารกเชื่อมระหวางบัพ i และ j ดังน้ัน A(i, j) = 1 เมทริกซ A ประกอบดวยคาภายใน 0 และ 1 เรียกวา บิต เมทริกซ หรือ บูลีน เมทริกซ เมทริกซประชิด A ของกราฟ G ข้ึนกับการเรียงลําดับของบัพในกราฟ G ดังนั้นการเรียงลําดับของบัพที่แตกตางกันจะใหเมทริกซประชิดที่ตางกัน อยางไรก็ตามสมมติวาบัพของกราฟ G มีการเรียงลําดับคงท่ี กําหนดให G เปนกราฟไมระบุทิศทาง ดังน้ันเมทริกซประชิด A ของกราฟ G เปนเมทริกซสมมาตร ซ่ึง aij = aji ทุก i และ j
กราฟขนาด n นั้นม ีเมทริกซประชิด ขนาด n x n ในกรณีของกราฟไมระบุทิศทางมีคุณสมบัต ิคือ สมมาตร อารก (i, j) มีคา 1 ถามีอารกระหวางบัพ i และ j ถาไมมีอารกระหวางบัพ i และบัพ j arc(i, j) มีคาเปน 0 กําหนดกราฟ G ใหบัพนั้นเก็บในหนวยความจํา ในแถวลําดับ 1 มิติ DATA DATA : X, Y, Z, W และ อารกเก็บในเมทริกซ สมมติใหการเรียงลําดับของบัพใน G มีดังน้ี v1 = X, v2 = Y, v3 = Z และ v4 = W
เมทริกซประชิด A ของกราฟ G 0 0 0 1
!/!
A = 1 0 1 1 1 0 0 1 0 0 1 0
หมายเหตุ : จํานวนของเลข 1 ใน เมทริกซ A เทากับจํานวนของ อารก ใน G
X Y
W Z
ภาพประกอบ 14.9 กราฟระบุทิศทางของเมทริกซประชิด A
เม่ือพิจารณากําลัง A, A2, A3 ของเมทริกซประชิด A ของกราฟ G โดยให ak (i,j) = การเขาใน เมทริกซ Ak ครั้งที่ ij ขอสังเกต a1(i,j) = aij แทนจํานวนวิถี ที่มีความยาว 1 จากบัพ vi ถึงบัพ vj
a2(i,j) บอกจํานวนวิถี ความยาว 2 จาก vi ถึง vj
ขอสมมติ 1. ให A เปนเมทริกซประชิดของกราฟ G ดังน้ันเม่ือการเขาเมทริกซ A ใน ak(i,j) โดย Ak ที ่ij จะมีจํานวนวิถี ที่มีความยาว k จาก vi ถึง vj
v1 = X, v2 = Y, v3 = Z และ v4 = W
เม่ือพิจารณาถึงกราฟ G ในรูปที ่14-9 ซึ่งมีเมทริกซประชิด A ที่กําหนดใหในตัวอยางที่ 14-1 เม่ือคํานวณผลคูณของเมทริกซ A ได A2 A3 และ A4 ดังน้ี
ดังน้ัน การเขาไปท่ีเมทริกซ Br ที ่ij จะใหจํานวนวิถีที่มีความยาว r หรือนอยกวาจาก บัพ vi ถึง vj
กิจกรรม 14.4
จงหาเมทริกซประชิดของกราฟ
7 8
9 :
จงตอบวากราฟในขอ 1 เปนกราฟมีทิศทางหรือไมมีทิศทาง
!/%
เรื่องที่ 14.2.2 เมทริกซวิถี
ให G เปนกราฟระบุทิศทางประกอบดวย บัพ v1, v2, ..., vm จํานวนทั้งสิ้น m บัพ
เมทริกซวิถี (Path Matrix) หรือ เมทริกซที่เชื่อมไดของ G คือ เมทริกซ P ขนาด m × m ซ่ึง P = (pij) สามารถกําหนดไดดังตอไปน้ี
Pij = 1 ถามีวิถีจาก vi ไป vj
0 กรณีอ่ืนๆ
สมมติวามีวิถี จาก vi ไปยัง vj กลาวไดวามีวิถีเชิงเดียวจาก ไปi ไปยัง vj เมื่อ vi < > vj หรืออีกกรณีหน่ึงมีวัฎจักร (cycle) จาก vi ไปยัง v j เมื่อ vi = vj
เน่ืองจากกราฟ G ประกอบดวย m บัพ และมีวิถีเชิงเดียวมีความยาวนอยกวาหรือเทากับ m-1 หรือวัฏจักรของกราฟ G มีความยาวนอยกวาหรือเทากับ m
สิ่งนี้หมายความวามีการเขาถึงของวิถี ij ในเมทริกซ Bm อยางนอยหนึ่งครั้งโดยกําหนดจากสวนของเมทริกซที่มากอนหนา ดังนั้นจึงสามารถกําหนดความสัมพันธระหวาง วิถีของเมทริกซ P และเมทริกซประชิด A ขอสมมติ 2 ให A เปนเมทริกซประชิดและให P = (pij) เปนเมทริกซวิถีของกราฟที่ระบุทิศทาง G ดังน้ัน
Pij = 1 ก็ตอเมือ่ มีการเขาถึงเมทริกซที่ตําแหนง ij อยางนอย 1 คร้ัง
เมทริกซ Bm = A+A2+A3+...+Am
พิจารณากราฟ G ประกอบดวย 4 บัพ สําหรับ การบวกเมทริกซ A A2 A3 และ A4 เขาดวยกันเปน เมทริกซ B4 และแทนการเขาถึงบัพใน B4 ดวย 1 ดังน้ันจึงไดเมทริกซ วิถี P ของกราฟ G :
1 0 2 3 1 0 1 1 B4 = 5 0 6 8 และ P = 1 0 1 1
3 0 3 5 1 0 1 1 2 0 3 3 1 0 1 1
!/&
พิจารณาเมทริกซ P จะเห็นวา ทุกบัพไมสามารถไปถึงบัพ v2
กิจกรรม 14.5
กําหนดกราฟ G (ก) จงหาวิถีทั้งหมดจากบัพ X ไปยังบัพ W (ข) จงหาวิถีทั้งหมดจากบัพ X ไปบัพ Z (ค) หาระดับขั้นใน และระดับข้ันนอกของ Y
ทรานซิทีฟโคลสเชอร ของความสัมพันธ R เปนความสัมพันธแบบถายทอดที่เกิดขึ้นใน R เมื่อ R เปนความสัมพันธในเซต A ที่มีวิถีระหวาง a และ b ใน R เน่ืองจาก R n ประกอบดวยคูอันดับ (a,b) ดังน้ัน มีวิถีความยาว n จาก a ไปยัง b
ความสัมพันธใน R * ประกอบดวยคูอันดับของ (a,b) ซ่ึง R * เปนผลผนวกของเซตทั้งหมดใน R n R *= n=1∪
∝ R n = R ∪ R 2 ∪ R 3 ∪ R 4 …∪ R n
ตัวอยาง 14.2
ให R เปนความสัมพันธในเซตของปายหยุดรถประจําทางใน กทม.ท่ีประกอบดวยคูอันดับ (a,b) ถาตองการเดินทางจากจดุ a ไปยังจุด b โดยไมมีการเปล่ียนรถประจําทาง จงหา R * และ Rn เมื่อ n เปนจํานวนเต็มบวก
!//
ความสัมพันธ R n ประกอบดวยคูอันดับ (a,b) ถามีการเดินทางจากจุด a ไปยังจุด b โดยเปล่ียนรถประจําทาง จํานวน n-1 คร้ัง ความสัมพันธ R * ประกอบดวยคูอันดับ (a,b) ซึ่งเดินทางจากจุด a ไปยังจุด b โดยเปลี่ยนรถประจําทางไดตามจํานวนครั้งที่ตองการ
ฉะน้ัน ทรานซิทีฟโคลสเชอรของความสัมพันธ R เทากับความสัมพันธ R * ให A เปนเมทริกซของความสัมพันธ R ในเซตที่มีสมาชิกเปน 0 หรือ 1 ทั้งหมด n ตัว ดังน้ันเมทริกซ ของ ทรานซิทีฟโคลสเชอร R * คือ
AR*= A ∨ A2 ∨ A3 ∨ … ∨ An จงหาเมทริกซของทรานซิทีฟโคลสเชอรของความสัมพันธ R เมื่อ 1 0 1 A = 0 1 0 1 1 0 เมทริกซของ R* คือ AR* = A ∨ A2 ∨ A3
ทรานซิทีพโคลสเชอร ของกราฟ Gไดรับการกําหนดใหเปนกราฟ G' ซ่ึง G' ประกอบดวยบัพเดียวกับ G และอารก (vi,vj) ใน G' ซึ่งมีวิถีจาก vi ไปยัง vj เชนเดียวกับใน G ดังน้ัน วิถีเมทริกซ P ของกราฟ G น้ันเปนเมทริกซประชิดของ ทรานซิทีพโคลสเชอร
เมทริกซประชิด A และเมทริกซวิถี P ของกราฟ G สามารถเขียนดวยเมทริกซตรรกวิทยา ซ่ึงคาภายในเมทริกซ 0 แทน "เท็จ" และ 1 แทน "จริง" ดังน้ันการดําเนินการทางตรรกวิทยา ของ ∧ (AND) และ ∨ (OR) สามารถนําไปใชในเมทริกซ A และ P คาของ ∧ และ ∨ ปรากฏใน รูปที่ 14-10
∧ 0 1 ∨ 0 1 0 0 0 0 0 1 1 0 1 1 1 1
(a) AND (b) OR
ภาพประกอบ 14.10 ตารางคาของตัวดําเนินการทางตรรกวิทยา and และ or
ให G เปนกราฟระบุทิศทางประกอบดวย m บัพ ดังนี้คือเริ่มจากบัพ v1, v2, ..., vm สมมติวาตองการหาเมทริกซวิถี P ของกราฟ G วอรแชลใหอักลอริทึมสําหรับจุดประสงคนี้ซึ่งมีประสิทธิภาพมากวาการคูณของเมทริกซประชิด A
การอธิบายอัลกอริทึมของวอรแชลจะกลาวในตอนตอไป และนําอัลกอริทึมของวอรแชลไปใชในการหาระยะทางท่ีส้ันท่ีสุด (shortest path) ใน G เมื่อ G เปนกราฟมีนํ้าหนัก และระบุทิศทาง โดยทั่วไปวิถีเชิงเดียว ของกราฟคือ วิถีที่ประกอบดวยอารกซึ่งไมซ้ํากัน เร่ิมแรกกําหนด เมทริกซทางตรรกวิทยาขนาด mxm ไดแก P0, P1, ..., Pm ตามลําดับ โดยให Pk[i,j] แทนการเขาถึงของวิถี ij ในเมทริกซ Pk สามารถกําหนดไดวา