Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
82
ทฤษฎีกราฟ
ในเชิงคณิตศาสตร นิยาม “กราฟ” ดังนี้
บทนิยาม กราฟ G ประกอบดวย เซตจํากัด 2 เซต คือ
1. เซตที่ไมเปนเซตวางของ...
83
จุดยอด B และจุดยอด D ไมเปนจุดยอดประชิด
หมายเหตุ
1. ในการเขียนแผนภาพของกราฟนั้น จะกําหนดตําแหนงของจุดยอด ณ ตําแหนงใด...
84
จากกราฟจะเห็นวา e1 และ e2 เปนเสนเชื่อมระหวางจุดยอดคูเดียวกัน คือ จุดยอด a และ จุด
ยอด c
เสนเชื่อม e5 เปนเสนเชื่...
85
กราฟเดียวกันและกราฟถอดแบบกัน
เราไดทราบแลววาในการเขียนกราฟ G จะกําหนดตําแหนงของจุดยอด ณ ตําแหนงใดก็ได จึง
ทําใหกร...
86
ตัวอยางที่ 5 พิจารณากราฟ
จะเห็นวา กราฟ H และกราฟ G กําหนดชื่อใหจุดยอดแตกตางกัน ถึงแมวารูปกราฟทั้งสองนี้จะดู
เหมือ...
87
เกิดกับจุดยอดนั้นเพิ่มขึ้น โดยใหนับเสนเชื่อมที่เปนวงวน 1 วง วงวนเปน 2 ดังนั้นจํานวนครั้งทั้งหมดที่
เสนเชื่อมเกิดกั...
88
จากรูปจะไดวา deg a = 2
deg b = 5
deg c = 5
deg d = 4
สังเกตวา deg a + deg b + deg c + deg d = 16 และกราฟมีจํานวนเสน...
89
ผลรวมของดีกรีของจุดยอดทุกจุดในกราฟ คือ (3)(4) + 3n
จากทฤษฎีบท 1 ผลรวมของดีกรีของจุดยอดทุดจุดในกราฟเทากับสองเทาของจําน...
90
ทฤษฎีบท 2 ทุกกราฟจะมีจุดยอดคี่เปนจํานวนคู
พิสูจน ให G เปนกราฟ
ถา G ไมมีจุดยอดคี่ นั่นคือ G มีจํานวนจุดยอดคี่เปน...
91
แนวเดินและกราฟเชื่อมโยง
สมมติวา แผนผังของเมืองหนึ่งแทนดวยกราฟดังรูป โดยใหจุดยอดแทนอําเภอ และเสนเชื่อมแทน
ถนนที่เชื่...
92
สื่อการสอน ใช PowerPoint นําเสนอ
93
94
กราฟถวงน้ําหนัก (weight)
บทนิยาม
คาน้ําหนัก(weight) ของเสนเชื่อม e ในกราฟ คือ จํานวนที่ไมเปนลบที่กําหนดไวบนเสนเช...
95
เสนทางที่ 6 A, C, D, E ระยะทางยาว 5 + 3 + 3 = 11 กิโลเมตร
เสนทางที่ 7 A, C, D, F, E ระยะทางยาว 5 + 3 + 2 + 2 = 12 กิโ...
96
ขั้นตอนวิธีของไดคสตรา (Dijkstra’s Algorithm)
เมื่อ G เปนกราฟไมขาดตอนที่มีน้ําหนัก นั่นคือ G เปนกราฟที่จุดทุกจุดมีวิ...
97
ในที่นี้เราจะศึกษา ขั้นตอนวิธีของ Dijkstra พรอมแสดงตัวอยาง
จงหาวิถี A - H ที่สั้นที่สุดของกราฟตอไปนี้
A
EB
D H
C
F
G...
98
99
100
จากกราฟขางตน เราไดวา
วิถี A-H ที่สั้นที่สุดคือ A, B, E, H
วิถี A-D ที่สั้นที่สุดคือ A, C, D
วิถี A-G ที่สั้นที่สุด...
101
สื่อการสอน ใช PowerPoint นําเสนอ
102
103
กราฟออยเลอร
ปญหาสะพานเคอนิกสเบิรก มีอยูวา ณ เมืองเคอนิกสเบิรกมีเกาะกลางแมน้ําพรีเกล (Pregel)
จํานวน 2 เกาะ แล...
104
A
C
B
D
ปญหาสะพานเคอนิกสเบอรก เมื่อจําลองอยูในรูปกราฟจะได
จากกราฟ สามารถแปลงไดเปนปญหาการลากผานเสนเชื่อมของกร...
105
ตัวอยาง กราฟตอไปนี้เปนกราฟออยเลอร
บทนิยาม รอยเดินออยเลอร(Euler circuit) คือ วงจรที่ผานจุดยอดทุกจุดและเสนเชื่อมท...
106
สื่อการสอน ใช PowerPoint นําเสนอ
ตนไม
ตอไปเราจะศึกษากราฟที่มีลักษณะพิเศษชนิดหนึ่ง เรียกวา ตนไม ซึ่งมีบทบาทสําคั...
107
ดัวอยาง พิจารณากราฟตอไปนี้
(A)
(D)(C)
(B)
จะเห็นวา กราฟในรูป (A) และ (B) เปนตนไม
กราฟในรูป (C) ไมเปนตนไม เพร...
108
ตัวอยาง กําหนดกราฟ G และกราฟ H ดังรูป
G :
A
B C
D A
B C
D
H :
V(G) = { A, B, C, D } V(H) = { A, B, C, D }
E(G) = {AB,...
109
การประยุกตของทฤษฎีกราฟที่เกี่ยวของกับตนไม
สมมติวาเราตองการสรางถนนเชื่อมตอระหวางเมืองตางๆ โดยที่ทราบคาใชจา...
110
เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8
หมายเหตุ กราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้...
111
ขั้นตอนวิธีของพริม(Prim’s algorithm)
แนวคิดขั้นตอนของพริม คือการแทนตนไม T ที่มีอยูในการเชื่อมโยงที่มีน้ําหนักดวยต...
112
เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8
กิจกรรมการเรียนรู
1. ครูนําเขาสูบทเรียนโดยการให...
113
Upcoming SlideShare
Loading in …5
×

Graph

444 views

Published on

ทฤษฎีกราฟ ม.5

Published in: Education
  • Be the first to comment

  • Be the first to like this

Graph

  1. 1. 82 ทฤษฎีกราฟ ในเชิงคณิตศาสตร นิยาม “กราฟ” ดังนี้ บทนิยาม กราฟ G ประกอบดวย เซตจํากัด 2 เซต คือ 1. เซตที่ไมเปนเซตวางของจุดยอด (Vertex) แทนดวยสัญลักษณ V(G) 2. เซตของเสนเชื่อม (Edge) ที่เชื่อมระหวางจุดยอด แทนดวยสัญลักษณ E(G) ขอสังเกต V(G) ≠ ∅ แต E(G) อาจเปนเซตวางได ตัวอยางที่ 1 กําหนดกราฟ G ดังรูป จากกราฟ G ที่กําหนดให จะไดวา V(G) = {A, B, C, D} E(G) = {e1, e2, e3, e4} เสนเชื่อม e ของกราฟ เกิดกับ (Incident) จุดยอด v ถาจุดยอด v เปนจุดปลายจุดหนึ่งของ เสนเชื่อม บทนิยาม จุดยอด u และจุดยอด v ของกราฟ เปนจุดยอดประชิด (Adjacent Vertices) ก็ ตอเมื่อ มีเสนเชื่อมระหวางจุดทั้งสอง และเราเรียกจุดยอด u และ v วา จุดปลาย (End Point) ของ เสนเชื่อมนั้น ตัวอยางที่ 2 จากกราฟของตัวอยางที่ 1 จะเห็นวา จุดยอด A และจุดยอด B เปนจุดยอดประชิด จุดยอด A และจุดยอด C เปนจุดยอดประชิด จุดยอด B และจุดยอด C เปนจุดยอดประชิด จุดยอด C และจุดยอด D เปนจุดยอดประชิด แต จุดยอด A และจุดยอด D ไมเปนจุดยอดประชิด
  2. 2. 83 จุดยอด B และจุดยอด D ไมเปนจุดยอดประชิด หมายเหตุ 1. ในการเขียนแผนภาพของกราฟนั้น จะกําหนดตําแหนงของจุดยอด ณ ตําแหนงใดก็ได และจะ ลากเสนเชื่อมของกราฟเปนเสนตรงหรือเสนโคงมีความยาวเปนเทาใดก็ได โดยที่เสนที่ลากจะไม ตัดกับตัวมันเอง และไมลากผานจุดยอดที่ไมใชจุดยอดของเสนนั้น เชน กราฟตอไปนี้ ถือวาเปน กราฟเดียวกัน 2. เสนเชื่อมสองเสนของกราฟ อาจลากตัดกันก็ได โดยที่จุดตัดของเสนทั้งสองไมถือวาเปนจุดยอด ของกราฟ เชน กราฟ สามารถเขียนใหมโดยไมมีเสนเชื่อมตัดกันไดดังนี้ กําหนดกราฟ ดังรูป
  3. 3. 84 จากกราฟจะเห็นวา e1 และ e2 เปนเสนเชื่อมระหวางจุดยอดคูเดียวกัน คือ จุดยอด a และ จุด ยอด c เสนเชื่อม e5 เปนเสนเชื่อมที่เชื่อมจุดยอด b เพียงจุดเดียว บทนิยาม เสนเชื่อมตั้งแต 2 เสนที่เชื่อมระหวางจุดยอดคูเดียวกัน เรียกวา เสนเชื่อมขนาน (Parallel Edges) เสนเชื่อมที่เชื่อมจุดยอดเพียงจุดเดียว เรียกวา วงวน (Loop) จากรูปขางตนจะเห็นวา e1 และ e2 เปนเสนเชื่อมขนาน เสนเชื่อม e5 เปนวงวน ในกรณีที่กราฟไมมีเสนเชื่อมขนาน สามารถใชสัญลักษณ AB เพื่อแทนเสนเชื่อมระหวางจุดยอด A และ B ได เชน กราฟในตัวอยางที่ 1 สามารถเขียนเซตของเสนเชื่อม E(G) ไดใหมเปน E(G) = {AB, BC, AC, CD} บทนิยาม เราเรียกกราฟที่ไมมีเสนเชื่อมขนาน และไมมีวงวน วา กราฟเชิงเดียว (Simple Graph) ตัวอยางที่ 3 พิจารณากราฟ จะเห็นวา กราฟ G1 เปนกราฟที่มีวงวน กราฟ G2 เปนกราฟที่มีเสนเชื่อมขนาน และกราฟ G3 เปน กราฟที่มีวงวนและเสนเชื่อมขนาน ดังนั้นกราฟ G1 G2 และ G3 ไมเปนกราฟเชิงเดียว
  4. 4. 85 กราฟเดียวกันและกราฟถอดแบบกัน เราไดทราบแลววาในการเขียนกราฟ G จะกําหนดตําแหนงของจุดยอด ณ ตําแหนงใดก็ได จึง ทําใหกราฟเดียวกันนั้นมีรูปที่แตกตางกันได บทนิยาม เรากลาววา กราฟ G และกราฟ H เปนกราฟเดียวกัน(Identical) ก็ตอเมื่อ V(G) = V(H) และ E(G) = E(H) ตัวอยางที่ 4 พิจารณากราฟ G และกราฟ H ดังรูป G H จะเห็นวา V(G) = {A, B, C, D} = V(H) E(G) = {AC, BC, BD} = E(H) ดังนั้น เราจะกลาววา กราฟ G และกราฟ H เปนกราฟเดียวกัน บทนิยาม เรากลาววา กราฟ G และกราฟ H เปนกราฟถอดแบบกัน (Isomorphic) ก็ตอเมื่อ มี ฟงกชัน φ ซึ่งเปนฟงกชัน หนึ่งตอหนึ่งจาก V(G) ไปทั่วถึง V(H) โดยที่ uv ∈E(G) ก็ตอเมื่อ ∈φφ )v()u( E(H) สําหรับทุกๆจุดยอด u และจุดยอด v ใน G
  5. 5. 86 ตัวอยางที่ 5 พิจารณากราฟ จะเห็นวา กราฟ H และกราฟ G กําหนดชื่อใหจุดยอดแตกตางกัน ถึงแมวารูปกราฟทั้งสองนี้จะดู เหมือนกันก็ตาม แตกราฟ G และ กราฟ H เปนกราฟถอดแบบกัน ทั้งนี้มีฟงกชัน φ ซึ่งนิยามวา φ(ui) = vi โดยที่ i = 1, 2, 3, 4, 5 เปนฟงกชันหนึ่งตอหนึ่งจาก V(H) ไปทั่วถึง V(G) โดยที่ uiuj ∈E(H) ก็ ตอเมื่อ vivj ∈E(G) ดีกรีของจุดยอด พิจารณากราฟตอไปนี้ จุดยอด จํานวนครั้งทั้งหมดที่เสนเชื่อมเกิดกับจุดยอด a 2 b 4 c 4 d 2 จะเห็นวา เสนเชื่อมที่เกิดกับจุดยอด a ไดแก เสนเชื่อม ab และ ac ดังนั้น จํานวนครั้งทั้งหมดที่ เสนเชื่อมเกิดกับจุดยอด a คือ 2 สําหรับจุดยอด b มีเสนเชื่อมที่เกิดกับจุดยอด b ไดแก เสนเชื่อม ba, bc และ bb เปนวงวน เกิดกับจุดยอด b กรณีที่มีเสนเชื่อมเปนวงวนจะกําหนดใหนับจํานวนเสนเชื่อมที่
  6. 6. 87 เกิดกับจุดยอดนั้นเพิ่มขึ้น โดยใหนับเสนเชื่อมที่เปนวงวน 1 วง วงวนเปน 2 ดังนั้นจํานวนครั้งทั้งหมดที่ เสนเชื่อมเกิดกับจุดยอด b จึงเปน 4 บทนิยาม ดีกรี (Degree) ของจุดยอด v ในกราฟ คือ จํานวนครั้งทั้งหมดที่เสนเชื่อมเกิดกับจุด ยอด v ตอไปจะเรียกจํานวนครั้งทั้งหมดที่เสนเชื่อมเกิดกับจุดยอดวา ดีกรี ใชสัญลักษณ deg v แทนดีกรีของจุดยอด v ตัวอยางที่ 6 กําหนดกราฟ ดังรูป จากรูปจะไดวา deg a = 2 deg b = 1 deg c = 3 deg d = 4 ตัวอยางที่ 7 กําหนดกราฟ ดังรูป
  7. 7. 88 จากรูปจะไดวา deg a = 2 deg b = 5 deg c = 5 deg d = 4 สังเกตวา deg a + deg b + deg c + deg d = 16 และกราฟมีจํานวนเสนเชื่อมทั้งหมด 8 เสน ความสัมพันธระหวางผลรวมของดีกรีของจุดยอดทุกจุดในกราฟกับจํานวนเสนเชื่อมของกราฟ เปนไปตามทฤษฎีบทตอไปนี้ ทฤษฎีบท ให u1, u2, u3, …, u )G(V เปนจุดยอดทั้งหมดในกราฟ G จะไดวา )G(E2udeg )G(v 1i i =∑= นั่นคือ ผลรวมของดีกรีของจุดยอดทุดจุดในกราฟเทากับสองเทาของจํานวนเสนเชื่อมในกราฟ พิสูจน เนื่องจากเสนเชื่อมแตละเสนในกราฟเกิดกับจุดยอดเปนจํานวน 2 ครั้ง ดังนั้นเสนเชื่อมแตละเสน จะถูกนับ 2 ครั้งในผลรวมของดีกรีของจุดยอดทุกจุด นั่นคือ ผลรวมของดีกรีของจุดยอดทุกจุดในกราฟเทากับสองเทาของจํานวนเสนเชื่อมในกราฟ ขอสังเกต ผลรวมของดีกรีของจุดยอดทุกจุดในกราฟเปนจํานวนคูเสมอ ตัวอยางที่ 8 จงหาจํานวนเสนเชื่อมของกราฟที่มีผลรวมของดีกรีของจุดยอดทุกจุดในกราฟเทากับ 22 วิธีทํา สมมติวา กราฟมีเสนเชื่อม n เสน จากทฤษฎีบท 1 ผลรวมของดีกรีของจุดยอดทุดจุดในกราฟเทากับสองเทาของจํานวน เสนเชื่อมในกราฟ ดังนั้น 22 = 2n นั่นคือ n = 11 สรุปไดวา กราฟมีเสนเชื่อม 11 เสน ตัวอยางที่ 9 จงหาจํานวนจุดยอดของกราฟที่มีเสนเชื่อม 15 เสน และมีจุดยอด 3 จุด ที่มีดีกรี 4 สวน จุดยอดที่เหลือมีดีกรี 3 วิธีทํา ให n เปนจํานวนจุดยอดที่มีดีกรี 3
  8. 8. 89 ผลรวมของดีกรีของจุดยอดทุกจุดในกราฟ คือ (3)(4) + 3n จากทฤษฎีบท 1 ผลรวมของดีกรีของจุดยอดทุดจุดในกราฟเทากับสองเทาของจํานวน เสนเชื่อมในกราฟ ดังนั้น (3)(4) + 3n = 2(15) เพราะฉะนั้น n = 6 ดังนั้น จํานวนจุดยอดทั้งหมดของกราฟ คือ 3 + 6 = 9 จุด ตัวอยางที่ 10 จงพิจารณาวาเปนไปไดหรือไมวา จะมีกราฟที่มีจุดยอด 4 จุด และดีกรีของจุดยอด คือ 1, 1, 2 และ 3 ตามลําดับ วิธีทํา สมมติวา มีดีกรีที่มีจุดยอด 4 จุด และดีกรีของจุดยอดเทากับ 1, 1, 2 และ 3 ดังนั้น ผลรวมของดีกรีของจุดยอดทุกจุด คือ 1 + 1 + 2 + 3 = 7 ซึ่งเปนจํานวนคี่ ขัดแยงกับทฤษฎีบท 1 ดังนั้นเปนไปไมไดที่จะมีกราฟดังกลาว บทนิยาม จุดยอดที่มีดีกรีเปนจํานวนคู เรียกวา จุดยอดคู (Even Vertex) จุดยอดที่มีดีกรีเปนจํานวนคี่ เรียกวา จุดยอดคี่ (Odd Vertex) ตัวอยางที่ 11 กําหนดกราฟ ดังรูป จากรูปจะไดวา deg a = 2 deg b = 3 deg c = 0 deg d = 3 deg e = 2 ดังนั้น จุดยอด a, c และ e เปนจุดยอดคู จุดยอด b และ d เปนจุดยอดคี่
  9. 9. 90 ทฤษฎีบท 2 ทุกกราฟจะมีจุดยอดคี่เปนจํานวนคู พิสูจน ให G เปนกราฟ ถา G ไมมีจุดยอดคี่ นั่นคือ G มีจํานวนจุดยอดคี่เปนศูนย จึงไดวา G มีจํานวนจุดยอดคี่เปนจํานวนคู ตอไปสมมติวา กราฟ G มีจุดยอดคี่ k จุด คือ v1, v2, v3, …, vk และมีจุดยอดคู n จุด คือ u1, u2, u3, …, un จากทฤษฎีบท 1 จะไดวา (deg v1 + deg v2 + … + deg vk) + (deg u1 + deg u2 + … + deg un) = 2q เมื่อ q คือ จํานวนเสนเชื่อมของ G ดังนั้น deg v1 + deg v2 + … + deg vk = 2q - (deg u1 + deg u2 + … + deg un) เนื่องจาก deg u1 + deg u2 + … + deg un ตางก็เปนจํานวนคู ดังนั้น 2q - (deg u1 + deg u2 + … + deg un) เปนจํานวนคู นั่นคือ deg v1 + deg v2 + … + deg vk เปนจํานวนคู แตเนื่องจาก deg v1 + deg v2 + … + deg vk เปนจํานวนคี่ เพราะฉะนั้น k จะตองเปนจํานวนคู จึงจะทําให deg v1 + deg v2 + … + deg vk เปนจํานวนคู สรุปไดวา กราฟ G มีจุดยอดคี่เปนจํานวนคู จากตัวอยางที่ 10 เราใหเหตุผลโดยอาศัยทฤษฎีบท 2 ดังนี้ สมมติวา มีกราฟที่มีจุดยอด 4 จุด และดีกรีของจุดยอด คือ 1, 1, 2 และ 3 จะไดวา กราฟมีจุดยอดคี่เปนจํานวน 3 จุด ซึ่งขัดแยงกับทฤษฎีบท 2 สรุปไดวา ไมมีกราฟที่มี สมบัติดังกลาว ตัวอยางที่ 12 ถาในหองประชุมแหงหนึ่งมีผูเขารวมประชุมทั้งหมด 23 คน เปนไปไดหรือไม วา ผูเขารวมประชุมแตละคนจับมือทักทายผูเขารวมประชุมคนอื่นเพียง 7 คนเทานั้น วิธีทํา แปลงปญหาดังกลาวเปนกราฟ โดยใหจุดยอดแทนผูเขารวมประชุม และเสนเชื่อมแทน การจับมือทักทายของผูเขารวมประชุม จะไดวา กราฟนี้มีจุดยอด 23 จุด และจุดยอดแตละจุดมีดีกรี 7 นั่นคือ กราฟมีจุดยอดคี่เปนจํานวน 23 จุด ซึ่งเปนจํานวนคี่ ขัดแยง กับทฤษฎีบท 2 ดังนั้น เปนไปไมไดที่ผูเขารวมประชุมแตละคนจับมือกับคนอื่นเพียง 7 คนเทานั้น
  10. 10. 91 แนวเดินและกราฟเชื่อมโยง สมมติวา แผนผังของเมืองหนึ่งแทนดวยกราฟดังรูป โดยใหจุดยอดแทนอําเภอ และเสนเชื่อมแทน ถนนที่เชื่อมระหวางอําเภอสองอําเภอ ในการเดินทางจากอําเภอ A ไปยังอําเภอ D มีเสนทางการเดินทางหลายเสนทาง เสนทางตางๆ จะแทนดัวยลําดับของจุดยอดและเสนเชื่อม ดังนี้ เสนทาง A, e1, E, e5, D บทนิยาม ให u และ v เปนจุดยอดของกราฟ แนวเดิน u - v (u - v walk) คือ ลําดับจํากัดของจุดยอดและเสนเชื่อมสลับกัน u = u0, e1, u1, e2, u2, …, un-1, en, un = v โดยเริ่มตนที่จุดยอด u และสิ้นสุดที่จุดยอด v และแตละเสนเชื่อม ei จะเกิดกับ จุดยอด ui-1 และ ui เมื่อ i ∈ {1, 2, …, n} บทนิยาม รอยเดิน (trail) คือ แนวเดินในกราฟที่เสนเชื่อมทั้งหมดแตกตางกัน วิถี(Path) คือ แนวเดินในกราฟที่จุดยอดทั้งหมดแตกตางกัน วงจร(Circuit) คือ แนวเดินที่เสนเชื่อมทั้งหมดแตกตางกัน โดยมีจุดเริ่มตนและจุดสุดทาย เปนจุดยอดเดียวกัน วัฏจักร(Cycle) คือวงจรที่ไมมีจุดยอดซ้ํากัน ยกเวนจุดเริ่มตนและจุดสุดทาย บทนิยาม กราฟ G เปนกราฟเชื่อมโยง(connected graph) ถาจุดยอด 2 จุดใดๆ ใน G เชื่อไดดวยวิถี
  11. 11. 92 สื่อการสอน ใช PowerPoint นําเสนอ
  12. 12. 93
  13. 13. 94 กราฟถวงน้ําหนัก (weight) บทนิยาม คาน้ําหนัก(weight) ของเสนเชื่อม e ในกราฟ คือ จํานวนที่ไมเปนลบที่กําหนดไวบนเสนเชื่อม e กราฟถวงน้ําหนัก(weight graph) คือ กราฟที่เสนเชื่อมทุกเสนมีคาน้ําหนัก ตัวอยาง กราฟตอไปนี้เปนถวงน้ําหนัก 2 5 1 3 4 2 ตัวอยาง กราฟตอไปนี้เปนกราฟถวงน้ําหนัก ซึ่งจําลองจากแผนที่เมืองในประเทศไทย โดยใหจุดยอดแทนเมือง เสนเชื่อมแทนถนน และคาน้ําหนักเสนเชื่อมแทนระยะทางระหวาง เมืองสองเมือง A DB F E C 2 5 1 2 3 6 3 2 จะหาเสนทางจากเมือง A ไปยังเมือง E ทั้งหมดที่ไมผานเมืองซ้ํากัน เสนทางที่ 1 A, B, D, E ระยะทางยาว 2 + 1 + 3 = 4 กิโลเมตร เสนทางที่ 2 A, B, D, F, E ระยะทางยาว 2 + 1 + 2 + 2 = 7 กิโลเมตร เสนทางที่ 3 A, B, D, C, F, E ระยะทางยาว 2 + 1 + 3 + 6 + 2 = 14 กิโลเมตร เสนทางที่ 4 A, C, F, E ระยะทางยาว 5 + 6 + 2 = 13 กิโลเมตร เสนทางที่ 5 A, C, F, D, E ระยะทางยาว 5 + 6 + 2 + 3 = 16 กิโลเมตร
  14. 14. 95 เสนทางที่ 6 A, C, D, E ระยะทางยาว 5 + 3 + 3 = 11 กิโลเมตร เสนทางที่ 7 A, C, D, F, E ระยะทางยาว 5 + 3 + 2 + 2 = 12 กิโลเมตร จะเห็นวาเสนทางที่ 1 A, B, D, E ระยะทางยาว 4 กิโลเมตรเปนระยะทางที่สั้นที่สุด บทนิยาม วิถีที่สั้นที่สุด จากจุด A ถึงจุดยอด Z ในกราฟถวงน้ําหนัก คือวิถี A - Z ที่ผลรวมของคา น้ําหนักของเสนเชื่อมทุกเสนในวิถี A-Z นอยที่สุด ฉะนั้นในตัวอยางขางตน จะเห็นวา วิถี A, B, D, E เปนวิถีที่สั้นที่สุด สําหรับกราฟถวงนําหนักที่มีจุดยอดและเสนเชื่อมเปนจํานวนมาก การหาวิถี A - Z ที่สั้นที่สุด โดยการคนหาวิถี A - Z ทั้งหมดแลวเลือกวิถีที่ผลรวมของคาน้ําหนักนอยที่สุด ทําไดไมสะดวกและ เสียเวลา ในการหาวิถี A - Z ที่สั้นที่สุด มีขั้นตอนวิธีที่ใชหาวิถีที่สั้นที่สุด เชน ขั้นตอนวิธีของ Dijkstra
  15. 15. 96 ขั้นตอนวิธีของไดคสตรา (Dijkstra’s Algorithm) เมื่อ G เปนกราฟไมขาดตอนที่มีน้ําหนัก นั่นคือ G เปนกราฟที่จุดทุกจุดมีวิถีอยางนอยหนึ่งวิถีเชื่อม ถึงกัน และแตละเสน e ใน G ถูกกําหนดดวยจํานวนจริงที่ไมเปนลบ และ u0 เปนจุดที่กําหนดใหเปน จุดเริ่มตน w(uv) หมายถึงความยาวของเสน uv S หมายถึง complement ของ เซต Sให i = 0, S0 = {u0}, และ L(v) = ∞ สําหรับทุก ๆ จุด v ≠ u0 กําหนดคาจุด v ดวย (L(v) , -) yes no yes no |V(G) | = 1 ? หาคา iSv∈ min {L(v)} จุดใดที่ทําใหเกิดคานอยที่สุด ใหเรียกจุดนั้นวา ui+1 กําหนดให Si+1 = Si U {ui+1} แทนคา i ดวย i + 1 i = V(G)- 1 ? Finish สําหรับแตละจุด v iS∈ ให L(v) = min{ L(v) , L(ui)+w(uiv) } กําหนดคา v ใหมเปน (L(v),ui) ถาคา L(v) ที่ไดเปนคาใหม
  16. 16. 97 ในที่นี้เราจะศึกษา ขั้นตอนวิธีของ Dijkstra พรอมแสดงตัวอยาง จงหาวิถี A - H ที่สั้นที่สุดของกราฟตอไปนี้ A EB D H C F G 2 2 1 4 4 5 1 6 2 3 3 7
  17. 17. 98
  18. 18. 99
  19. 19. 100 จากกราฟขางตน เราไดวา วิถี A-H ที่สั้นที่สุดคือ A, B, E, H วิถี A-D ที่สั้นที่สุดคือ A, C, D วิถี A-G ที่สั้นที่สุดคือ A, C, G วิถี A-F ที่สั้นที่สุดคือ A, B, F หมายเหตุ จากขั้นตอนวิธีของ Dijkstra ขางตนเราจะไดวิถีที่สั้นที่สุดจาก A ไปยังจุดยอดใดๆ เทานั้น ถาเราจะหาวิถีที่สั้นที่สุดจากจุดยอดที่ไมใชจุด A จะตองเริ่มขั้นตอนวิธีของ Dijkstra ใหม กิจกรรมการเรียนรู 1. ครูนําเขาสูบทเรียนโดยการใหนักเรียนพิจารณาลักษณะของกราฟถวงน้ําหนัก แลวพิจารณา วิถีที่สั้นที่สุด 2. แจงจุดประสงคการเรียนรูประจําเรื่องใหนักเรียนทราบ 3. ครูใชเทคนิคการสอนแบบบรรยาย 4. ใชสื่อการสอนดวย PowerPoint เพื่อใหนักเรียนไดเขาใจทางเดินตางๆ มากยิ่งขึ้น
  20. 20. 101 สื่อการสอน ใช PowerPoint นําเสนอ
  21. 21. 102
  22. 22. 103 กราฟออยเลอร ปญหาสะพานเคอนิกสเบิรก มีอยูวา ณ เมืองเคอนิกสเบิรกมีเกาะกลางแมน้ําพรีเกล (Pregel) จํานวน 2 เกาะ และมีสะพานที่เชื่อมระหวางเกาะและเมืองดังรูปตอไปนี้ ชาวเมืองเคอนิกสเบิรกพยายามหาวิธีเดินขามสะพานใหครบทุกสะพาน โดยที่ขามสะพานแต ละสะพานเพียงครั้งเดียวและกลับมาที่จุดยอดเริ่มตน เลออนฮารด ออยเลอรไดแปลงปญหานี้ใหอยูในรูปกราฟ โดยใหอาณาบริเวณ A, B, C, D แทนดวยจุดยอดของกราฟ และสะพานแตละพานแทนดวยเสนเชื่อมของกราฟ
  23. 23. 104 A C B D ปญหาสะพานเคอนิกสเบอรก เมื่อจําลองอยูในรูปกราฟจะได จากกราฟ สามารถแปลงไดเปนปญหาการลากผานเสนเชื่อมของกราฟดังรูปขางตน จนครบทุกเสนโดยไมตองยกปากกาและผานเสนแตละเสนเพียงครั้งเดียว โดยที่จุดเริ่มตนและจุดสิ้นสุด เปนจุดเดียวกัน บทนิยาม วงจรออยเลอร(Euler trail) คือ รอยเดินซึ่งผานจุดยอดทุกจุดและเสนเชื่อมทุกเสนของกราฟ ทฤษฎีบทตอไปนี้ ใหเงื่อนไขวา กราฟที่กําหนดใหเปนกราฟออยเลอรเมื่อไร ทฤษฎีบท ให G เปนกราฟเชื่อมโยง จะไดวา G เปนกราฟออยเลอร ก็ตอเมื่อ จุดยอดทุกจุดของ G มีดีกรีเปนจํานวนคู กราฟที่มีวงจรออยเลอร เรียกวา กราฟออยเลอร (Eulerian graph)
  24. 24. 105 ตัวอยาง กราฟตอไปนี้เปนกราฟออยเลอร บทนิยาม รอยเดินออยเลอร(Euler circuit) คือ วงจรที่ผานจุดยอดทุกจุดและเสนเชื่อมทุกเสนของ กราฟ ทฤษฎีบทตอไปนี้ ใหเงื่อนไขวา กราฟที่กําหนดใหมีรอยเดินออยเลอรเมื่อไร ทฤษฎีบท ให G เปนกราฟเชื่อมโยง จะไดวา G เปนกราฟที่มีรอยเดินออยเลอร ก็ตอเมื่อ G มีจุดยอดที่เปนดีกรีเปนจํานวนคี่ไมเกิน 2 จุด ยิ่งไปกวานั้นจุดยอดที่เปนจํานวนคี่เหลานั้นจะเปนจุดเริ่มตนและจุดปลายของรอยเดิน ออยเลอร ปญหาหนี่งที่ดูคลายกับปญหาวงจรออยเลอร คือปญหาการหาวิถีในกราฟที่ไมใชจุดยอดซ้ํากัน ยกเวนจุดเริ่มตนและจุดสิ้นสุดตองเปนจุดเดียวกัน ซึ่งก็คือ วัฎจักรและวัฎจักรนี้ผานครบทุกจุดยอดใน กราฟนี้ จะเรียกวัฎจักรนี้วา วัฎจักรแฮมิลตัน ถา G มีวัฎจักรแฮมิลตัน จะเรียก G วาเปนกราฟแฮมิลตัน(Hamiltonian graph)
  25. 25. 106 สื่อการสอน ใช PowerPoint นําเสนอ ตนไม ตอไปเราจะศึกษากราฟที่มีลักษณะพิเศษชนิดหนึ่ง เรียกวา ตนไม ซึ่งมีบทบาทสําคัญใน การศึกษาทฤษฎีกราฟ และในการประยุกตทางดานตางๆ เชน โครงสรางขอมูลในวิชาคอมพิวเตอร การศึกษาโครงสรางทางเคมีของสารประกอบไฮโดรคารบอน หรือในการออกแบบวงจรไฟฟาและ อิเล็กทรอนิกส บทนิยาม ตนไม (tree) คือ กราฟเชื่อมโยงที่ไมมีวัฏจักร
  26. 26. 107 ดัวอยาง พิจารณากราฟตอไปนี้ (A) (D)(C) (B) จะเห็นวา กราฟในรูป (A) และ (B) เปนตนไม กราฟในรูป (C) ไมเปนตนไม เพราะมีวัฏจักรปรากฏอยู กราฟในรูป (D) ไมเปนตนไม เพราะไมใชกราฟเชื่อมโยง ลักษณะเฉพาะของตนไม ทฤษฎีบทตอไปนี้เปนทฤษฎีบทที่บงบอกลักษณะเฉพาะ(characterization) ของตนไม ทฤษฎีบท 1. ให T เปนกราฟที่ไมมีวงวน กราฟ T เปนตนไม ก็ตอเมื่อ จุดยอด 2 จุดใดๆ ใน T เชื่อมโยงกันไดดวยวิถีเพียงวิถีเดียว 2. ให T เปนกราฟที่มีจํานวนจุดยอดเปน n จุด กราฟ T เปนตนไม ก็ตอเมื่อ กราฟ T ไม มีวัฏจักร และมีเสนเชื่อม n – 1 เสน 3. ให T เปนกราฟที่มีจํานวนจุดยอดเปน n จุด กราฟ T เปนตนไม ก็ตอเมื่อ กราฟ T เปน กราฟเชื่อมโยงและมีเสนเชื่อม n – 1 เสน 4. ถา T เปนตนไมที่มีจํานวนจุดยอดอยางนอย 2 จุด แลว กราฟ T จะมีดีกรี 1 อยางนอย 2 จุด ตนไมแผทั่ว (spanning tree) กอนที่จะศึกษาตนไมแผทั่ว เราจะเริ่มตนศึกษากราฟยอยกอน บทนิยาม กราฟยอย (subgraph) ของกราฟ G คือกราฟที่ประกอบดวยจุดยอดและเสนเชื่อมใน G กลาวคือ กราฟ H เปนกราฟยอยของกราฟ G ถา V(G) V(H) และ E(H) E(G)⊂ ⊂
  27. 27. 108 ตัวอยาง กําหนดกราฟ G และกราฟ H ดังรูป G : A B C D A B C D H : V(G) = { A, B, C, D } V(H) = { A, B, C, D } E(G) = {AB, BC, CD, DA, BD} E(H) = {AB, BC, DA, BD} จะไดวา กราฟ H เปนกราฟยอยของกราฟ G พิจารณาวากราฟใด เปนกราฟยอยของกราฟ G A B C D A B C D A B C D A B C D A B C D A B C A B C D G G1 G2 G3 G4 G5 G6 D D กราฟ G2 และ G6 ไมเปนกราฟยอยของ G พิจารณากราฟยอยของกราฟ G จะเห็นวากราฟ G1 , G3 และ G5 เปนกราฟยอยของ G และเปน ตนไมดวย บทนิยาม ตนไมแผทั่ว (spanning tree) คือตนไมซึ่งเปนกราฟยอยของกราฟเชื่อมโยง G ที่บรรจุจุดยอด ทุกจุดยอด
  28. 28. 109 การประยุกตของทฤษฎีกราฟที่เกี่ยวของกับตนไม สมมติวาเราตองการสรางถนนเชื่อมตอระหวางเมืองตางๆ โดยที่ทราบคาใชจายในการกอสรางถนน ที่เชื่อมเมือง 2 เมืองใดๆ ปญหาที่เกิดขึ้นคือ เราควรสรางถนนเชื่อมระหวางเมืองใดบาง เพื่อใหเมือง 2 เมืองใดๆ สามารถติดตอกันไดทางรถยนต และเสียคาใชจายในการกอสรางนอยที่สุด จากปญหาดังกลาว เราอาจสรางกราฟที่มีน้ําหนักที่สมนัยกับปญหานี้ได โดยใหเมืองแตละเมืองแทนดวยจุดยอด ถนนแทน ดวยเสนเชื่อม และคาใชจายในการกอสรางถนนแทนคาน้ําหนักของเสนเชื่อม คําตอบของปญหานี้คือ การ หาสับกราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุด ขั้นตอนวิธีในการหากราฟแผทั่วที่เปน กราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดมีอยูดวยกันหลายวิธี แตในที่นี้เราจะกลาว 2 วิธีเทานั้น คือ วิธีของ ครูสกาวล (Kruskal) และขั้นตอนวิธีของพริม (Prim) ในบรรดาขั้นตอนวิธีเหลานี้ ขั้นตอนวิธีของครู สกาวล จัดวาเปนขั้นตอนวิธีที่มีชื่อเสียงมากที่สุด ขั้นตอนวิธีของครูสกาวล (Kruskal’s algorithm) แนวคิดของขั้นตอนวิธีของครูสกาวล คือการเลือกเสนที่มีน้ําหนักนอยที่สุดจากกราฟเชื่อมโยงถวง น้ําหนัก ติดตอกันไปเพื่อสรางกราฟเชื่อมถวงน้ําหนัก และการเลือกเสนดังกลาวตองไมกอใหเกิดวัฎจักร การเลือกนี้จะสิ้นสุดลงเมื่อไดตนไมแผทั่ว ตัวอยาง จงหากราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดของกราฟที่กําหนดใหโดยใช ขั้นตอนวิธีของครูสกาวล วิธีทํา เราจะใชเสนหนาบงถึงเสนของกราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุด
  29. 29. 110 เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8 หมายเหตุ กราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดของแตละกราฟอาจมีไดมากกวา 1 แบบ
  30. 30. 111 ขั้นตอนวิธีของพริม(Prim’s algorithm) แนวคิดขั้นตอนของพริม คือการแทนตนไม T ที่มีอยูในการเชื่อมโยงที่มีน้ําหนักดวยตนไมอัน ใหมที่เกิดจากการเพิ่มเสนที่มีน้ําหนักนอยที่สุดลงไปใน T โดยที่เสนๆ นี้เปนเสนเชื่อมจุดที่อยูใน T กับจุดที่ ไมอยูใน T ตัวอยาง จงหากราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดของกราฟที่กําหนดให โดยใช ขั้นตอนวิธีของพริม วิธีทํา เราจะใชเสนหนาบงถึงเสนของกราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุด
  31. 31. 112 เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8 กิจกรรมการเรียนรู 1. ครูนําเขาสูบทเรียนโดยการใหนักเรียนนักเรียนพิจารณากราฟที่มีลักษณะพิเศษชนิดหนึ่ง เรียกวา ตนไม แลวนําไปสูเนื้อหาของตนไม 2. แจงจุดประสงคการเรียนรูประจําเรื่องใหนักเรียนทราบ 3. ครูใชเทคนิคการสอนแบบบรรยาย 4. ใชสื่อการสอนดวย PowerPoint สื่อการสอน ใช PowerPoint นําเสนอ
  32. 32. 113

×