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) ก็ตอเมื่อ φ(u )φ( v)∈ E(H) สําหรับทุกๆจุดยอด u และจุดยอด v ใน G
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. 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. 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 V(G ) เปนจุดยอดทั้งหมดในกราฟ G จะไดวา
v(G )
∑ deg u
i =1
i = 2 E (G )
นั่นคือ ผลรวมของดีกรีของจุดยอดทุดจุดในกราฟเทากับสองเทาของจํานวนเสนเชื่อมในกราฟ
พิสูจน
เนื่องจากเสนเชื่อมแตละเสนในกราฟเกิดกับจุดยอดเปนจํานวน 2 ครั้ง ดังนั้นเสนเชื่อมแตละเสน
จะถูกนับ 2 ครั้งในผลรวมของดีกรีของจุดยอดทุกจุด
นั่นคือ ผลรวมของดีกรีของจุดยอดทุกจุดในกราฟเทากับสองเทาของจํานวนเสนเชื่อมในกราฟ
ขอสังเกต
ผลรวมของดีกรีของจุดยอดทุกจุดในกราฟเปนจํานวนคูเสมอ
ตัวอยางที่ 8 จงหาจํานวนเสนเชื่อมของกราฟที่มีผลรวมของดีกรีของจุดยอดทุกจุดในกราฟเทากับ 22
วิธีทา สมมติวา กราฟมีเสนเชื่อม n เสน
ํ
จากทฤษฎีบท 1 ผลรวมของดีกรีของจุดยอดทุดจุดในกราฟเทากับสองเทาของจํานวน
เสนเชื่อมในกราฟ
ดังนั้น 22 = 2n
นั่นคือ n = 11
สรุปไดวา กราฟมีเสนเชื่อม 11 เสน
ตัวอยางที่ 9 จงหาจํานวนจุดยอดของกราฟที่มีเสนเชื่อม 15 เสน และมีจุดยอด 3 จุด ที่มีดีกรี 4 สวน
จุดยอดที่เหลือมีดีกรี 3
วิธีทํา ให n เปนจํานวนจุดยอดที่มีดีกรี 3
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 เชื่อไดดวยวิถี
13. 94
กราฟถวงน้ําหนัก (weight)
บทนิยาม
คาน้ําหนัก(weight) ของเสนเชื่อม e ในกราฟ คือ จํานวนที่ไมเปนลบที่กําหนดไวบนเสนเชื่อม e
กราฟถวงน้ําหนัก(weight graph) คือ กราฟที่เสนเชื่อมทุกเสนมีคาน้ําหนัก
ตัวอยาง กราฟตอไปนี้เปนถวงน้ําหนัก
5 1
2 3
2
4
ตัวอยาง กราฟตอไปนี้เปนกราฟถวงน้าหนัก ซึ่งจําลองจากแผนที่เมืองในประเทศไทย
ํ
โดยใหจุดยอดแทนเมือง เสนเชื่อมแทนถนน และคาน้ําหนักเสนเชือมแทนระยะทางระหวาง
่
เมืองสองเมือง
E
B D 3
1
2
2
A 3 2
5 F
C 6
จะหาเสนทางจากเมือง 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. 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. 96
ขั้นตอนวิธีของไดคสตรา (Dijkstra’s Algorithm)
เมื่อ G เปนกราฟไมขาดตอนที่มีน้ําหนัก นั่นคือ G เปนกราฟที่จุดทุกจุดมีวิถีอยางนอยหนึ่งวิถีเชื่อม
ถึงกัน และแตละเสน e ใน G ถูกกําหนดดวยจํานวนจริงที่ไมเปนลบ และ u0 เปนจุดที่กําหนดใหเปน
จุดเริ่มตน
w(uv) หมายถึงความยาวของเสน uv
ให i = 0, S0 = {u0}, S หมายถึง complement ของ เซต S
และ L(v) = ∞
สําหรับทุก ๆ จุด v ≠ u0
กําหนดคาจุด v ดวย (L(v) , -)
yes
|V(G) | = 1 ?
no
สําหรับแตละจุด v ∈ S i
ให L(v) = min{ L(v) , L(ui)+w(uiv) }
ถาคา L(v) ที่ไดเปนคาใหม
กําหนดคา v ใหมเปน (L(v),ui)
หาคา min {L(v)}
v∈S i
จุดใดที่ทําใหเกิดคานอยที่สุด ใหเรียกจุดนั้นวา ui+1
กําหนดให Si+1 = Si U {ui+1}
แทนคา i ดวย i + 1
no
i = V(G)- 1 ?
yes
Finish
26. 107
ดัวอยาง พิจารณากราฟตอไปนี้
(B)
(A)
(C) (D)
จะเห็นวา กราฟในรูป (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. 108
ตัวอยาง กําหนดกราฟ G และกราฟ H ดังรูป
B C B C
G : H:
A D A D
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 C
B D
D
G
A A C A C
C
B B B
D D D
G1 G2 G3
D
A C A C A C
B B B
D D
G4 G5 G6
กราฟ G2 และ G6 ไมเปนกราฟยอยของ G
พิจารณากราฟยอยของกราฟ G จะเห็นวากราฟ G1 , G3 และ G5 เปนกราฟยอยของ G และเปน
ตนไมดวย
บทนิยาม ตนไมแผทั่ว (spanning tree) คือตนไมซึ่งเปนกราฟยอยของกราฟเชื่อมโยง G ที่บรรจุจดยอด
ุ
ทุกจุดยอด