SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
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}
 บทนิยาม             จุดยอด u และจุดยอด v ของกราฟ เปนจุดยอดประชิด (Adjacent Vertices) ก็
 ตอเมื่อ มีเสนเชื่อมระหวางจุดทั้งสอง และเราเรียกจุดยอด u และ v วา จุดปลาย (End Point) ของ
 เสนเชื่อมนั้น
          เสนเชื่อม e ของกราฟ เกิดกับ (Incident) จุดยอด v ถาจุดยอด v เปนจุดปลายจุดหนึ่งของ
 เสนเชื่อม

ตัวอยางที่ 2 จากกราฟของตัวอยางที่ 1 จะเห็นวา
       จุดยอด A และจุดยอด B เปนจุดยอดประชิด
       จุดยอด A และจุดยอด C เปนจุดยอดประชิด
       จุดยอด B และจุดยอด C เปนจุดยอดประชิด
       จุดยอด C และจุดยอด D เปนจุดยอดประชิด
แต จุดยอด A และจุดยอด D ไมเปนจุดยอดประชิด
83

      จุดยอด B และจุดยอด D ไมเปนจุดยอดประชิด
หมายเหตุ
  1. ในการเขียนแผนภาพของกราฟนั้น จะกําหนดตําแหนงของจุดยอด ณ ตําแหนงใดก็ได และจะ
      ลากเสนเชื่อมของกราฟเปนเสนตรงหรือเสนโคงมีความยาวเปนเทาใดก็ได โดยที่เสนที่ลากจะไม
      ตัดกับตัวมันเอง และไมลากผานจุดยอดที่ไมใชจุดยอดของเสนนั้น เชน กราฟตอไปนี้ ถือวาเปน
      กราฟเดียวกัน




   2. เสนเชื่อมสองเสนของกราฟ อาจลากตัดกันก็ได โดยที่จุดตัดของเสนทั้งสองไมถือวาเปนจุดยอด
      ของกราฟ เชน กราฟ




       สามารถเขียนใหมโดยไมมีเสนเชื่อมตัดกันไดดังนี้




       กําหนดกราฟ ดังรูป
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 ไมเปนกราฟเชิงเดียว
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
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 กรณีที่มีเสนเชื่อมเปนวงวนจะกําหนดใหนับจํานวนเสนเชื่อมที่
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 กําหนดกราฟ ดังรูป
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
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 เปนจุดยอดคี่
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 คนเทานั้น
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 เชื่อไดดวยวิถี
92

สื่อการสอน ใช PowerPoint นําเสนอ
93
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     กิโลเมตร
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
                                                       ี่      ี ี                         ี
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
97




ในที่นี้เราจะศึกษา ขั้นตอนวิธของ Dijkstra พรอมแสดงตัวอยาง
                               ี
จงหาวิถี A - H ที่สั้นที่สุดของกราฟตอไปนี้
                                        B     2         E
                            2                      4     3    1
                                    2 D
                      A                                   F       H
                                    3         4          7
                             1                                6
                                  C            5         G
98
99
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 เพื่อใหนกเรียนไดเขาใจทางเดินตางๆ มากยิ่งขึ้น
                                                   ั
101

สื่อการสอน ใช PowerPoint นําเสนอ
102
103




กราฟออยเลอร

       ปญหาสะพานเคอนิกสเบิรก มีอยูวา ณ เมืองเคอนิกสเบิรกมีเกาะกลางแมน้ําพรีเกล (Pregel)
จํานวน 2 เกาะ และมีสะพานที่เชื่อมระหวางเกาะและเมืองดังรูปตอไปนี้




      ชาวเมืองเคอนิกสเบิรกพยายามหาวิธีเดินขามสะพานใหครบทุกสะพาน โดยที่ขามสะพานแต
                                                                           
ละสะพานเพียงครั้งเดียวและกลับมาที่จดยอดเริ่มตน
                                   ุ
      เลออนฮารด ออยเลอรไดแปลงปญหานี้ใหอยูในรูปกราฟ โดยใหอาณาบริเวณ A, B, C, D
แทนดวยจุดยอดของกราฟ และสะพานแตละพานแทนดวยเสนเชื่อมของกราฟ
104

                                 C



                                     A
                                                            D




                                     B


ปญหาสะพานเคอนิกสเบอรก เมื่อจําลองอยูในรูปกราฟจะได




           จากกราฟ สามารถแปลงไดเปนปญหาการลากผานเสนเชื่อมของกราฟดังรูปขางตน
จนครบทุกเสนโดยไมตองยกปากกาและผานเสนแตละเสนเพียงครังเดียว โดยที่จุดเริ่มตนและจุดสิ้นสุด
                                                         ้
เปนจุดเดียวกัน

บทนิยาม
       วงจรออยเลอร(Euler trail) คือ รอยเดินซึ่งผานจุดยอดทุกจุดและเสนเชื่อมทุกเสนของกราฟ

ทฤษฎีบทตอไปนี้ ใหเงื่อนไขวา กราฟทีกําหนดใหเปนกราฟออยเลอรเมื่อไร
                                     ่

ทฤษฎีบท ให G เปนกราฟเชื่อมโยง จะไดวา
        G เปนกราฟออยเลอร ก็ตอเมื่อ จุดยอดทุกจุดของ G มีดีกรีเปนจํานวนคู
        กราฟที่มีวงจรออยเลอร เรียกวา กราฟออยเลอร (Eulerian graph)
105

ตัวอยาง กราฟตอไปนี้เปนกราฟออยเลอร




บทนิยาม รอยเดินออยเลอร(Euler circuit) คือ วงจรที่ผานจุดยอดทุกจุดและเสนเชื่อมทุกเสนของ
         กราฟ

ทฤษฎีบทตอไปนี้ ใหเงื่อนไขวา กราฟทีกําหนดใหมีรอยเดินออยเลอรเมื่อไร
                                     ่

ทฤษฎีบท ให G เปนกราฟเชื่อมโยง จะไดวา
        G เปนกราฟที่มีรอยเดินออยเลอร ก็ตอเมื่อ G มีจุดยอดที่เปนดีกรีเปนจํานวนคี่ไมเกิน 2
        จุด ยิ่งไปกวานั้นจุดยอดที่เปนจํานวนคี่เหลานั้นจะเปนจุดเริ่มตนและจุดปลายของรอยเดิน
        ออยเลอร

        ปญหาหนี่งที่ดูคลายกับปญหาวงจรออยเลอร คือปญหาการหาวิถีในกราฟที่ไมใชจุดยอดซ้ํากัน
ยกเวนจุดเริ่มตนและจุดสิ้นสุดตองเปนจุดเดียวกัน ซึ่งก็คือ วัฎจักรและวัฎจักรนี้ผานครบทุกจุดยอดใน
                                                                                 
กราฟนี้ จะเรียกวัฎจักรนี้วา วัฎจักรแฮมิลตัน
                           
        ถา G มีวัฎจักรแฮมิลตัน จะเรียก G วาเปนกราฟแฮมิลตัน(Hamiltonian graph)
106

                                  สื่อการสอน ใช PowerPoint นําเสนอ




ตนไม

        ตอไปเราจะศึกษากราฟที่มลักษณะพิเศษชนิดหนึ่ง เรียกวา ตนไม ซึ่งมีบทบาทสําคัญใน
                               ี
การศึกษาทฤษฎีกราฟ และในการประยุกตทางดานตางๆ เชน โครงสรางขอมูลในวิชาคอมพิวเตอร
การศึกษาโครงสรางทางเคมีของสารประกอบไฮโดรคารบอน หรือในการออกแบบวงจรไฟฟาและ
อิเล็กทรอนิกส

บทนิยาม ตนไม (tree) คือ กราฟเชื่อมโยงที่ไมมีวัฏจักร
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)
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 ที่บรรจุจดยอด
                                                                                           ุ
        ทุกจุดยอด
109


การประยุกตของทฤษฎีกราฟที่เกี่ยวของกับตนไม

           สมมติวาเราตองการสรางถนนเชื่อมตอระหวางเมืองตางๆ โดยที่ทราบคาใชจายในการกอสรางถนน
ที่เชื่อมเมือง 2 เมืองใดๆ ปญหาที่เกิดขึนคือ เราควรสรางถนนเชื่อมระหวางเมืองใดบาง เพื่อใหเมือง 2
                                         ้
เมืองใดๆ สามารถติดตอกันไดทางรถยนต และเสียคาใชจายในการกอสรางนอยที่สุด จากปญหาดังกลาว
                                                        
เราอาจสรางกราฟที่มีน้ําหนักที่สมนัยกับปญหานี้ได โดยใหเมืองแตละเมืองแทนดวยจุดยอด ถนนแทน
ดวยเสนเชื่อม และคาใชจายในการกอสรางถนนแทนคาน้ําหนักของเสนเชื่อม คําตอบของปญหานีคือ การ     ้
หาสับกราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุด ขั้นตอนวิธีในการหากราฟแผทวที่เปนั่
กราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดมีอยูดวยกันหลายวิธี แตในทีนี้เราจะกลาว 2 วิธีเทานั้น คือ วิธีของ
                                                                    ่
ครูสกาวล (Kruskal) และขั้นตอนวิธีของพริม (Prim) ในบรรดาขั้นตอนวิธีเหลานี้ ขั้นตอนวิธีของครู
สกาวล จัดวาเปนขั้นตอนวิธีที่มีชื่อเสียงมากที่สุด

ขั้นตอนวิธของครูสกาวล (Kruskal’s algorithm)
           ี
         แนวคิดของขั้นตอนวิธีของครูสกาวล คือการเลือกเสนที่มีน้ําหนักนอยที่สุดจากกราฟเชื่อมโยงถวง
น้ําหนัก ติดตอกันไปเพื่อสรางกราฟเชื่อมถวงน้ําหนัก และการเลือกเสนดังกลาวตองไมกอใหเกิดวัฎจักร
การเลือกนี้จะสิ้นสุดลงเมื่อไดตนไมแผทั่ว

ตัวอยาง จงหากราฟแผทั่วทีเ่ ปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยทีสุดของกราฟที่กําหนดใหโดยใช
                                                                   ่
ขั้นตอนวิธีของครูสกาวล




วิธีทํา    เราจะใชเสนหนาบงถึงเสนของกราฟแผทั่วที่เปนกราฟเชือมโยงและมีคาน้ําหนักนอยที่สุด
                                                                ่          
110




เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8
                                                        

หมายเหตุ กราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดของแตละกราฟอาจมีไดมากกวา 1
แบบ
111

ขั้นตอนวิธของพริม(Prim’s algorithm)
            ี
              แนวคิดขั้นตอนของพริม คือการแทนตนไม T ที่มีอยูในการเชื่อมโยงที่มีน้ําหนักดวยตนไมอน  ั
ใหมที่เกิดจากการเพิ่มเสนทีมีน้ําหนักนอยที่สุดลงไปใน T โดยที่เสนๆ นี้เปนเสนเชื่อมจุดที่อยูใน T กับจุดที่
                            ่                                                                  
ไมอยูใน T

ตัวอยาง จงหากราฟแผทั่วทีเ่ ปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยทีสุดของกราฟที่กําหนดให โดยใช
                                                                   ่
ขั้นตอนวิธีของพริม




วิธีทํา    เราจะใชเสนหนาบงถึงเสนของกราฟแผทั่วที่เปนกราฟเชือมโยงและมีคาน้ําหนักนอยที่สุด
                                                                ่          
112




เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8
                                                        

กิจกรรมการเรียนรู

        1. ครูนําเขาสูบทเรียนโดยการใหนักเรียนนักเรียนพิจารณากราฟที่มีลักษณะพิเศษชนิดหนึ่ง
           เรียกวา ตนไม แลวนําไปสูเนื้อหาของตนไม
        2. แจงจุดประสงคการเรียนรูประจําเรื่องใหนักเรียนทราบ
                                     
        3. ครูใชเทคนิคการสอนแบบบรรยาย
        4. ใชสื่อการสอนดวย PowerPoint

                                       สื่อการสอน ใช PowerPoint นําเสนอ
113

Mais conteúdo relacionado

Mais procurados

ชุดที่ 1 แบบรูปและความสัมพันธ์
ชุดที่ 1  แบบรูปและความสัมพันธ์ ชุดที่ 1  แบบรูปและความสัมพันธ์
ชุดที่ 1 แบบรูปและความสัมพันธ์
Aobinta In
 
หน้าปกโครงงาน
หน้าปกโครงงานหน้าปกโครงงาน
หน้าปกโครงงาน
Kanistha Chudchum
 

Mais procurados (20)

Elect01
Elect01Elect01
Elect01
 
ใบงานที่ 3
ใบงานที่ 3ใบงานที่ 3
ใบงานที่ 3
 
แนวข้อสอบเข้า ม.4 วิชาคณิตศาสตร์โรงเรียนมหิดลฯและโรงเรียนจุฬาภรณ์ฯ
แนวข้อสอบเข้า ม.4 วิชาคณิตศาสตร์โรงเรียนมหิดลฯและโรงเรียนจุฬาภรณ์ฯ แนวข้อสอบเข้า ม.4 วิชาคณิตศาสตร์โรงเรียนมหิดลฯและโรงเรียนจุฬาภรณ์ฯ
แนวข้อสอบเข้า ม.4 วิชาคณิตศาสตร์โรงเรียนมหิดลฯและโรงเรียนจุฬาภรณ์ฯ
 
พื้นที่ผิวทรงกลม
พื้นที่ผิวทรงกลมพื้นที่ผิวทรงกลม
พื้นที่ผิวทรงกลม
 
Ppt newton's law
Ppt newton's lawPpt newton's law
Ppt newton's law
 
ชุดที่ 1 แบบรูปและความสัมพันธ์
ชุดที่ 1  แบบรูปและความสัมพันธ์ ชุดที่ 1  แบบรูปและความสัมพันธ์
ชุดที่ 1 แบบรูปและความสัมพันธ์
 
ฟิสิกส์ 5 ไฟฟ้าสถิตย์ ตอนที่ 4
ฟิสิกส์ 5 ไฟฟ้าสถิตย์ ตอนที่ 4ฟิสิกส์ 5 ไฟฟ้าสถิตย์ ตอนที่ 4
ฟิสิกส์ 5 ไฟฟ้าสถิตย์ ตอนที่ 4
 
ความคล้าย
ความคล้ายความคล้าย
ความคล้าย
 
สมการเส้นตรง
สมการเส้นตรงสมการเส้นตรง
สมการเส้นตรง
 
16.2.1 แบบจำลองแก๊สอุดมคติ.pptx
16.2.1 แบบจำลองแก๊สอุดมคติ.pptx16.2.1 แบบจำลองแก๊สอุดมคติ.pptx
16.2.1 แบบจำลองแก๊สอุดมคติ.pptx
 
รูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงานรูปเล่มวิชาโครงงาน
รูปเล่มวิชาโครงงาน
 
ของไหล
ของไหลของไหล
ของไหล
 
การเคลื่อนที่แบบโปรเจคไทล์
การเคลื่อนที่แบบโปรเจคไทล์การเคลื่อนที่แบบโปรเจคไทล์
การเคลื่อนที่แบบโปรเจคไทล์
 
172 130909011745-
172 130909011745-172 130909011745-
172 130909011745-
 
Physics atom
Physics atomPhysics atom
Physics atom
 
สมบัติการเท่ากัน
สมบัติการเท่ากันสมบัติการเท่ากัน
สมบัติการเท่ากัน
 
ภาคผนวก
ภาคผนวกภาคผนวก
ภาคผนวก
 
ลิลิตตะเลงพ่าย
ลิลิตตะเลงพ่ายลิลิตตะเลงพ่าย
ลิลิตตะเลงพ่าย
 
ชุดที่ 5 อัตราส่วนของจำนวนหลาย ๆ จำนวน
ชุดที่ 5 อัตราส่วนของจำนวนหลาย ๆ จำนวนชุดที่ 5 อัตราส่วนของจำนวนหลาย ๆ จำนวน
ชุดที่ 5 อัตราส่วนของจำนวนหลาย ๆ จำนวน
 
หน้าปกโครงงาน
หน้าปกโครงงานหน้าปกโครงงาน
หน้าปกโครงงาน
 

Semelhante a ทฤษฎีกราฟ

ทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้นทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้น
พัน พัน
 
คณิตศาสตร์ 24 2
คณิตศาสตร์ 24 2 คณิตศาสตร์ 24 2
คณิตศาสตร์ 24 2
krookay2012
 
Mai p diamond2551
Mai p diamond2551Mai p diamond2551
Mai p diamond2551
krulerdboon
 
โครงงาน สาขาวิชาคณิตศาสตร์
โครงงาน สาขาวิชาคณิตศาสตร์โครงงาน สาขาวิชาคณิตศาสตร์
โครงงาน สาขาวิชาคณิตศาสตร์
watee
 

Semelhante a ทฤษฎีกราฟ (20)

Graph
GraphGraph
Graph
 
ทฤษฎีกราฟเบื้องต้น/Graph
ทฤษฎีกราฟเบื้องต้น/Graphทฤษฎีกราฟเบื้องต้น/Graph
ทฤษฎีกราฟเบื้องต้น/Graph
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
2
22
2
 
2
22
2
 
ทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้นทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้น
 
Graph
GraphGraph
Graph
 
Graph theory
Graph theoryGraph theory
Graph theory
 
คณิตศาสตร์ 24 2
คณิตศาสตร์ 24 2 คณิตศาสตร์ 24 2
คณิตศาสตร์ 24 2
 
Mai p diamond2551
Mai p diamond2551Mai p diamond2551
Mai p diamond2551
 
สมุดเล่มเล็ก
สมุดเล่มเล็กสมุดเล่มเล็ก
สมุดเล่มเล็ก
 
Add m5-2-chapter2
Add m5-2-chapter2Add m5-2-chapter2
Add m5-2-chapter2
 
Pat 1 พฤศจิกายน 2557
Pat 1 พฤศจิกายน 2557Pat 1 พฤศจิกายน 2557
Pat 1 พฤศจิกายน 2557
 
Pat1 พ.ย. 57
Pat1 พ.ย. 57Pat1 พ.ย. 57
Pat1 พ.ย. 57
 
ระบบจำนวนจริง
ระบบจำนวนจริงระบบจำนวนจริง
ระบบจำนวนจริง
 
Number
NumberNumber
Number
 
โครงงาน สาขาวิชาคณิตศาสตร์
โครงงาน สาขาวิชาคณิตศาสตร์โครงงาน สาขาวิชาคณิตศาสตร์
โครงงาน สาขาวิชาคณิตศาสตร์
 
31202 final532
31202 final53231202 final532
31202 final532
 

ทฤษฎีกราฟ

  • 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} บทนิยาม จุดยอด u และจุดยอด v ของกราฟ เปนจุดยอดประชิด (Adjacent Vertices) ก็ ตอเมื่อ มีเสนเชื่อมระหวางจุดทั้งสอง และเราเรียกจุดยอด u และ v วา จุดปลาย (End Point) ของ เสนเชื่อมนั้น เสนเชื่อม e ของกราฟ เกิดกับ (Incident) จุดยอด v ถาจุดยอด v เปนจุดปลายจุดหนึ่งของ เสนเชื่อม ตัวอยางที่ 2 จากกราฟของตัวอยางที่ 1 จะเห็นวา จุดยอด A และจุดยอด B เปนจุดยอดประชิด จุดยอด A และจุดยอด C เปนจุดยอดประชิด จุดยอด B และจุดยอด C เปนจุดยอดประชิด จุดยอด C และจุดยอด D เปนจุดยอดประชิด แต จุดยอด A และจุดยอด D ไมเปนจุดยอดประชิด
  • 2. 83 จุดยอด B และจุดยอด D ไมเปนจุดยอดประชิด หมายเหตุ 1. ในการเขียนแผนภาพของกราฟนั้น จะกําหนดตําแหนงของจุดยอด ณ ตําแหนงใดก็ได และจะ ลากเสนเชื่อมของกราฟเปนเสนตรงหรือเสนโคงมีความยาวเปนเทาใดก็ได โดยที่เสนที่ลากจะไม ตัดกับตัวมันเอง และไมลากผานจุดยอดที่ไมใชจุดยอดของเสนนั้น เชน กราฟตอไปนี้ ถือวาเปน กราฟเดียวกัน 2. เสนเชื่อมสองเสนของกราฟ อาจลากตัดกันก็ได โดยที่จุดตัดของเสนทั้งสองไมถือวาเปนจุดยอด ของกราฟ เชน กราฟ สามารถเขียนใหมโดยไมมีเสนเชื่อมตัดกันไดดังนี้ กําหนดกราฟ ดังรูป
  • 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. 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
  • 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. 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. 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 เชื่อไดดวยวิถี
  • 12. 93
  • 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
  • 16. 97 ในที่นี้เราจะศึกษา ขั้นตอนวิธของ Dijkstra พรอมแสดงตัวอยาง ี จงหาวิถี A - H ที่สั้นที่สุดของกราฟตอไปนี้ B 2 E 2 4 3 1 2 D A F H 3 4 7 1 6 C 5 G
  • 17. 98
  • 18. 99
  • 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 เพื่อใหนกเรียนไดเขาใจทางเดินตางๆ มากยิ่งขึ้น ั
  • 21. 102
  • 22. 103 กราฟออยเลอร ปญหาสะพานเคอนิกสเบิรก มีอยูวา ณ เมืองเคอนิกสเบิรกมีเกาะกลางแมน้ําพรีเกล (Pregel) จํานวน 2 เกาะ และมีสะพานที่เชื่อมระหวางเกาะและเมืองดังรูปตอไปนี้ ชาวเมืองเคอนิกสเบิรกพยายามหาวิธีเดินขามสะพานใหครบทุกสะพาน โดยที่ขามสะพานแต  ละสะพานเพียงครั้งเดียวและกลับมาที่จดยอดเริ่มตน ุ เลออนฮารด ออยเลอรไดแปลงปญหานี้ใหอยูในรูปกราฟ โดยใหอาณาบริเวณ A, B, C, D แทนดวยจุดยอดของกราฟ และสะพานแตละพานแทนดวยเสนเชื่อมของกราฟ
  • 23. 104 C A D B ปญหาสะพานเคอนิกสเบอรก เมื่อจําลองอยูในรูปกราฟจะได จากกราฟ สามารถแปลงไดเปนปญหาการลากผานเสนเชื่อมของกราฟดังรูปขางตน จนครบทุกเสนโดยไมตองยกปากกาและผานเสนแตละเสนเพียงครังเดียว โดยที่จุดเริ่มตนและจุดสิ้นสุด ้ เปนจุดเดียวกัน บทนิยาม วงจรออยเลอร(Euler trail) คือ รอยเดินซึ่งผานจุดยอดทุกจุดและเสนเชื่อมทุกเสนของกราฟ ทฤษฎีบทตอไปนี้ ใหเงื่อนไขวา กราฟทีกําหนดใหเปนกราฟออยเลอรเมื่อไร ่ ทฤษฎีบท ให G เปนกราฟเชื่อมโยง จะไดวา G เปนกราฟออยเลอร ก็ตอเมื่อ จุดยอดทุกจุดของ G มีดีกรีเปนจํานวนคู กราฟที่มีวงจรออยเลอร เรียกวา กราฟออยเลอร (Eulerian graph)
  • 24. 105 ตัวอยาง กราฟตอไปนี้เปนกราฟออยเลอร บทนิยาม รอยเดินออยเลอร(Euler circuit) คือ วงจรที่ผานจุดยอดทุกจุดและเสนเชื่อมทุกเสนของ กราฟ ทฤษฎีบทตอไปนี้ ใหเงื่อนไขวา กราฟทีกําหนดใหมีรอยเดินออยเลอรเมื่อไร ่ ทฤษฎีบท ให G เปนกราฟเชื่อมโยง จะไดวา G เปนกราฟที่มีรอยเดินออยเลอร ก็ตอเมื่อ G มีจุดยอดที่เปนดีกรีเปนจํานวนคี่ไมเกิน 2 จุด ยิ่งไปกวานั้นจุดยอดที่เปนจํานวนคี่เหลานั้นจะเปนจุดเริ่มตนและจุดปลายของรอยเดิน ออยเลอร ปญหาหนี่งที่ดูคลายกับปญหาวงจรออยเลอร คือปญหาการหาวิถีในกราฟที่ไมใชจุดยอดซ้ํากัน ยกเวนจุดเริ่มตนและจุดสิ้นสุดตองเปนจุดเดียวกัน ซึ่งก็คือ วัฎจักรและวัฎจักรนี้ผานครบทุกจุดยอดใน  กราฟนี้ จะเรียกวัฎจักรนี้วา วัฎจักรแฮมิลตัน  ถา G มีวัฎจักรแฮมิลตัน จะเรียก G วาเปนกราฟแฮมิลตัน(Hamiltonian graph)
  • 25. 106 สื่อการสอน ใช PowerPoint นําเสนอ ตนไม ตอไปเราจะศึกษากราฟที่มลักษณะพิเศษชนิดหนึ่ง เรียกวา ตนไม ซึ่งมีบทบาทสําคัญใน ี การศึกษาทฤษฎีกราฟ และในการประยุกตทางดานตางๆ เชน โครงสรางขอมูลในวิชาคอมพิวเตอร การศึกษาโครงสรางทางเคมีของสารประกอบไฮโดรคารบอน หรือในการออกแบบวงจรไฟฟาและ อิเล็กทรอนิกส บทนิยาม ตนไม (tree) คือ กราฟเชื่อมโยงที่ไมมีวัฏจักร
  • 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 ที่บรรจุจดยอด ุ ทุกจุดยอด
  • 28. 109 การประยุกตของทฤษฎีกราฟที่เกี่ยวของกับตนไม สมมติวาเราตองการสรางถนนเชื่อมตอระหวางเมืองตางๆ โดยที่ทราบคาใชจายในการกอสรางถนน ที่เชื่อมเมือง 2 เมืองใดๆ ปญหาที่เกิดขึนคือ เราควรสรางถนนเชื่อมระหวางเมืองใดบาง เพื่อใหเมือง 2 ้ เมืองใดๆ สามารถติดตอกันไดทางรถยนต และเสียคาใชจายในการกอสรางนอยที่สุด จากปญหาดังกลาว  เราอาจสรางกราฟที่มีน้ําหนักที่สมนัยกับปญหานี้ได โดยใหเมืองแตละเมืองแทนดวยจุดยอด ถนนแทน ดวยเสนเชื่อม และคาใชจายในการกอสรางถนนแทนคาน้ําหนักของเสนเชื่อม คําตอบของปญหานีคือ การ ้ หาสับกราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุด ขั้นตอนวิธีในการหากราฟแผทวที่เปนั่ กราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดมีอยูดวยกันหลายวิธี แตในทีนี้เราจะกลาว 2 วิธีเทานั้น คือ วิธีของ ่ ครูสกาวล (Kruskal) และขั้นตอนวิธีของพริม (Prim) ในบรรดาขั้นตอนวิธีเหลานี้ ขั้นตอนวิธีของครู สกาวล จัดวาเปนขั้นตอนวิธีที่มีชื่อเสียงมากที่สุด ขั้นตอนวิธของครูสกาวล (Kruskal’s algorithm) ี แนวคิดของขั้นตอนวิธีของครูสกาวล คือการเลือกเสนที่มีน้ําหนักนอยที่สุดจากกราฟเชื่อมโยงถวง น้ําหนัก ติดตอกันไปเพื่อสรางกราฟเชื่อมถวงน้ําหนัก และการเลือกเสนดังกลาวตองไมกอใหเกิดวัฎจักร การเลือกนี้จะสิ้นสุดลงเมื่อไดตนไมแผทั่ว ตัวอยาง จงหากราฟแผทั่วทีเ่ ปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยทีสุดของกราฟที่กําหนดใหโดยใช ่ ขั้นตอนวิธีของครูสกาวล วิธีทํา เราจะใชเสนหนาบงถึงเสนของกราฟแผทั่วที่เปนกราฟเชือมโยงและมีคาน้ําหนักนอยที่สุด ่ 
  • 29. 110 เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8  หมายเหตุ กราฟแผทั่วที่เปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยที่สุดของแตละกราฟอาจมีไดมากกวา 1 แบบ
  • 30. 111 ขั้นตอนวิธของพริม(Prim’s algorithm) ี แนวคิดขั้นตอนของพริม คือการแทนตนไม T ที่มีอยูในการเชื่อมโยงที่มีน้ําหนักดวยตนไมอน ั ใหมที่เกิดจากการเพิ่มเสนทีมีน้ําหนักนอยที่สุดลงไปใน T โดยที่เสนๆ นี้เปนเสนเชื่อมจุดที่อยูใน T กับจุดที่ ่  ไมอยูใน T ตัวอยาง จงหากราฟแผทั่วทีเ่ ปนกราฟเชื่อมโยงและมีคาน้ําหนักนอยทีสุดของกราฟที่กําหนดให โดยใช ่ ขั้นตอนวิธีของพริม วิธีทํา เราจะใชเสนหนาบงถึงเสนของกราฟแผทั่วที่เปนกราฟเชือมโยงและมีคาน้ําหนักนอยที่สุด ่ 
  • 31. 112 เราจะเห็นวาคาน้ําหนักของแผทั่วที่เปนกราฟเชื่อมโยงมีคาเทากับ 8  กิจกรรมการเรียนรู 1. ครูนําเขาสูบทเรียนโดยการใหนักเรียนนักเรียนพิจารณากราฟที่มีลักษณะพิเศษชนิดหนึ่ง เรียกวา ตนไม แลวนําไปสูเนื้อหาของตนไม 2. แจงจุดประสงคการเรียนรูประจําเรื่องใหนักเรียนทราบ  3. ครูใชเทคนิคการสอนแบบบรรยาย 4. ใชสื่อการสอนดวย PowerPoint สื่อการสอน ใช PowerPoint นําเสนอ
  • 32. 113