1 / 37

887110 Introduction to discrete structure บทที่ 8 กราฟ

887110 Introduction to discrete structure บทที่ 8 กราฟ. ภาพรวมเนื้อหา. กำเนิดของทฤษฎีกราฟ นิยามและชนิดของกราฟ คำศัพท์เกี่ยวกับกราฟ (Graph Terminology) การเชื่อมต่อของกราฟ (Connectivity). กำเนิดของทฤษฎีกราฟ.

mahdis
Download Presentation

887110 Introduction to discrete structure บทที่ 8 กราฟ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 887110 Introduction to discrete structureบทที่ 8 กราฟ

  2. ภาพรวมเนื้อหา • กำเนิดของทฤษฎีกราฟ • นิยามและชนิดของกราฟ • คำศัพท์เกี่ยวกับกราฟ (Graph Terminology) • การเชื่อมต่อของกราฟ (Connectivity)

  3. กำเนิดของทฤษฎีกราฟ • เกิดขึ้นเมื่อ ค.ศ. 1736 โดยนักคณิตศาสตร์ชาวสวิสเซอร์แลนด์ ชื่อ เลออนฮาร์ด ออยเลอร์ (Leonhard Euler) • ออยเลอร์ ได้สร้างทฤษฎีที่เรียกว่า “ทฤษฎีออยเลอร์” (ทฤษฎีกราฟ) ขึ้นมาเพื่อแก้ปัญหาสะพานเคอนิกส์เบอร์ก “Konigsberg Bridge problem” ได้เป็นผลสำเร็จ • ดังนั้น ออยเลอร์ จึงได้ชื่อว่าเป็นบิดาของทฤษฎีกราฟ

  4. กำเนิดของทฤษฎีกราฟ • ปัญหาสะพานเคอนิกส์เบอร์ก (Konigsberg) • มีเกาะ 2 เกาะ อยู่กลางแม่น้ำพรีเกล (Pregel) ในเมืองเคอนิกส์เบอร์ก มีสะพาน 7 แห่ง เชื่อมระหว่างเกาะกับแผ่นดิน ดังรูป คำถามคือ “เป็นไปได้ไหมที่คนๆหนึ่งจะเดินจากจุดหนึ่งแล้ววนกลับมาที่จุดเดิมโดยข้ามสะพานทั้ง 7 เพียงสะพานละ 1 ครั้ง ”

  5. กำเนิดของทฤษฎีกราฟ 2 • ออยเลอร์แก้ปัญหานี้โดยแปลงเป็นกราฟ โดยใช้จุดยอดแทนพื้นดิน และ เส้นเชื่อมแทนสะพาน ดังรูป • ออยเลอร์ทำการพิสูจน์เพื่อยืนยันว่าเป็นไปไม่ได้ที่จะเดินทางในลักษณะดังกล่าว • หากจะทำได้ กราฟนี้จะต้องมีจำนวนเส้นของแต่ละจุดเป็นจำนวนคู่

  6. การประยุกต์ใช้งานทฤษฎีกราฟการประยุกต์ใช้งานทฤษฎีกราฟ • ประยุกต์ใช้แก้ปัญหาเครือข่าย • การออกแบบวงจร • การวางแผนการเดินทาง • การจัดตารางเวลา • ฯลฯ

  7. นิยามของกราฟ • ข้อตกลง • Family หมายถึง กลุ่มของสมาชิก โดยที่แต่ละสมาชิกอาจซ้ำกันได้ เช่น {a,a,a,b,c,c} • สัญลักษณ์ (a,b) แทนคู่ลำดับของ a และ b • สัญลักษณ์ {a,b} แทนคู่ไม่ลำดับของ a และ b

  8. นิยามของกราฟ • นิยาม 1 กราฟ G ประกอบด้วยคู่ลำดับของเซต (V(G),E(G)) • V(G) คือ เซตจำกัดที่ไม่เป็นเซตว่างของจุดยอดต่างๆ ของกราฟ (vertex) • E(G) คือ เซตของเส้นเชื่อม (edge) ระหว่างคู่ของจุดยอดในกราฟ • ตัวอย่างให้ G เป็นกราฟกำหนดโดย V(G) = {u, v, w, z} และ E(G) = {{u,v} , {v,w} , {v,w} , {u,w} , {w,z} , {u,u}} จะได้กราฟ G ดังรูป

  9. นิยามของกราฟ • หมายเหตุ • เพื่อความสะดวกเราสามารถเขียนแทนเส้นเชื่อม {u,v} ด้วย uvดังนั้น E(G) = {{u,v} , {v,w} , {v,w} , {u,w} , {w,z} , {u,u}} สามารถเขียนแทนด้วย E(G) = {uv , vw , vw , uw , wz ,uu} • ในการเขียนแผนภาพของกราฟ • จะกำหนดจุดยอดที่ตำแหน่งใดก็ได้ • จะลากเส้นเชื่อมของกราฟเป็นเส้นตรงหรือเส้นโค้งที่มีความยาวเป็นเท่าใดก็ได้ • เช่น การลากเส้นเชื่อม abเราสามารถทำได้ ดังนี้

  10. นิยามของกราฟ • หมายเหตุ (ต่อ) • เส้นเชื่อม 2 เส้นของกราฟ อาจลากตัดกันได้ • จุดตัดของเส้นเชื่อมทั้งสองไม่ถือว่าเป็นจุดยอดของกราฟ • สามารถเขียนภาพของกราฟได้หลายแบบ เช่น กำหนดกราฟ G เมื่อ v(G) = {a,b,c} E(G) = {ab, ac, bc} สามารถเขียนได้หลายรูปแบบ ดังนี้ ไม่เป็นจุดยอดของกราฟ

  11. นิยามของกราฟ • นิยาม 2 วงวน (loop) คือ เส้นเชื่อมที่อยู่ในรูป uuหรือ เส้นที่มีจุดต้นจุดปลายเป็นจุดเดียวกัน • นิยาม 3 เส้นขนาน (parallel edges) หรือเส้นหลายชั้น (multiple edges) คือ เส้นเชื่อมที่มีมากว่า 1 เส้นที่เชื่อมจุดคู่เดียวกัน วงวน เส้นขนาน

  12. ชนิดของกราฟ • กราฟเชิงเดี่ยว (Simple graph) คือ กราฟที่ไม่มีเส้นขนานและไม่มีวงวน • กราฟเทียม (Pseudograph) คือ กราฟที่มีวงวน • กราฟผสม (Multigraph) คือ กราฟที่มีเส้นขนานและไม่มีวงวน

  13. ชนิดของกราฟ • นิยาม 4 ถ้ากราฟ G เป็นกราฟเชิงเดี่ยว เราจะเรียกกราฟ G ว่าเป็นกราฟสมบูรณ์ (Complete Graph) ก็ต่อเมื่อ ทุกๆจุดของกราฟมีเส้นเชื่อมหมด • จำนวนเส้นของกราฟ (kp) = p(p-1) / 2 • เมื่อ kpแทนกราฟสมบูรณ์ที่มี p จุด • p แทน จำนวนจุดยอดของกราฟ

  14. ชนิดของกราฟ • กราฟที่ไม่มีทิศทาง (undirected graph)คือ กราฟที่แต่ละเส้นเชื่อมไม่มีลูกศรระบุทิศทางกำกับอยู่ • กราฟที่มีทิศทาง (directed graph) คือ กราฟที่แต่ละเส้นเชื่อมจะมีลูกศรระบุทิศทางกำกับอยู่

  15. ดีกรี • เราเรียกจุดยอดสองจุดว่า ประชิดกัน (adjacent) ถ้ามีเส้นเชื่อมเส้นหนึ่งเชื่อมระหว่างจุดทั้งสอง • เรียกจุดยอดที่เป็นจุดปลายของเส้นเชื่อมว่า ติดกับ (incident) เส้นเชื่อมนั้น • ตัวอย่าง เช่น กราฟดังรูปจะบอกได้ว่า • V4 ประชิดกับ v2 • v2 ติดกับ e2, e3 และ e6

  16. ดีกรีของกราฟไม่มีทิศทางดีกรีของกราฟไม่มีทิศทาง • ดีกรี(degree) ของจุด v มีค่าเท่ากับ จำนวนของเส้นเชื่อมที่ติดกับจุด v • ในกรณีที่เส้นเชื่อมนั้นเป็นวงวนจะว่ามีค่าเป็น 2 • ตัวอย่าง จากกราฟ ดังรูป พบว่า • ดีกรีของจุด v1, v2, v3 และ v4 มีค่า เป็น 5, 3, 3 และ 1 ตามลำดับ • จุดยอดใดที่มีดีกรีเป็น 1 จะเรียกว่า จุดค้าง (pendant vertex) • จุดยอดใดมีดีดรีเป็น 0 จะเรียกว่า จุดโดดเดี่ยว (isolated vertex) จากรูป • จุดค้างคือ V4 • จุดโดดเดี่ยว คือ v5

  17. f h d a e g i b c j ตัวอย่าง กราฟต่อไปนี้จุดใดเป็นจุดโดดเดี่ยว จุดใดเป็นจุดค้าง และจุดใดมีดีกรีมากที่สุด และกราฟที่กำหนดให้เป็นกราฟชนิดใด ตอบ จุด iเป็นจุดโดดเดี่ยว และ จุด a, d, j เป็นจุดค้าง จุดที่มีดีกรีมากสุดคือจุด g ซึ่ง deg(g) =5 กราฟที่กำหนดให้เป็นกราฟเทียม (pseudograph) นั่นคือ มีวงวน(loop)

  18. f h d a e g i b c j กิจกรรม จงพิจารณากราฟเดิมอีกครั้ง และหาจำนวนด้านทั้งหมด และผลรวมของดีกรีของทุกจุดในกราฟว่าเท่ากับเท่าไหร่

  19. ดีกรีของกราฟมีทิศทาง • ดีกรีของจุดในกราฟที่มีทิศทางนั้น สามารถจำแนกได้เป็น • ดีกรีขาเข้า (in-degree) คือ จำนวนเส้นเชื่อมที่มีทิศทางเข้าสู่จุด ใช้สัญลักษณ์ deg-(v) • ดีกรีขาออก (out-degree) คือ จำนวนเส้นเชื่อมที่มีทิศทางออกจากจุด ใช้สัญลักษณ์ deg+(v)

  20. a b d c ตัวอย่าง • จงหาดีกรีเข้าและดีกรีออกของจุด a, b, c, d ในกราฟต่อไปนี้ deg-(a) = 1 , deg-(b) = 4 , deg-(c) = 0 , deg-(d) = 2 deg+(a) = 2 , deg+(b) = 2 , deg+(c) = 2 , deg+(d) = 1

  21. ความสัมพันธ์ของดีกรีกับจำนวนเส้นเชื่อมความสัมพันธ์ของดีกรีกับจำนวนเส้นเชื่อม • ทฤษฎีบทที่ 1 (Handshaking Lemma) ผลรวมของดีกรีของจุดทุกๆจุดในกราฟแบบไม่มีทิศทาง จะมีค่าเป็น 2 เท่าของจำนวนเส้นเชื่อมทั้งหมดในกราฟ นั่นคือ ถ้ากราฟ G มี p จุดและ q เส้น แล้ว

  22. ตัวอย่าง กราฟที่มีเส้นเชื่อม 30 เส้น และดีกรีของทุกจุดเท่ากับ 4 จงหาว่า กราฟนี้มีทั้งหมดกี่จุดยอด วิธีทำ จากทฤษฎีบท : ผลรวมของดีกรีทุกจุดยอด = 2 x จำนวนเส้นเชื่อม สมมุติให้ v แทนจำนวนจุดยอด เมื่อแทนค่าตามทฤษฎีบทจะได้ 4v = 2 x 30 4v = 60 v = 60/4 = 15 ดังนั้น กราฟนี้มีจุดยอดทั้งหมด 15 จุด

  23. ตัวอย่าง ผลการสำรวจข้อมูลการใช้โทรศัพท์มือถือของพนักงาน 20 คน ในบริษัทแห่งหนึ่งในเดือนที่ผ่านมา พบว่า พนักงาน 15 คน แต่ละคนคุยโทรศัพท์ถึงเพื่อนในบริษัท 5 คน และ พนักงานอีก 5 คนที่เหลือ คุยโทรศัพท์กับเพื่อนในบริษัท 3 ครั้ง จงหาจำนวนการใช้โทรศัพท์มือถือของพนักงานบริษัทนี้ วิธีทำ แปลงปัญหาเป็นกราฟ โดยให้ • จุดยอดแทนพนักงาน • เส้นเชื่อมแทนการคุยโทรศัพท์ของพนักงาน (n) แทนค่าในทฤษฎีบท 1 จะได้ 15(5) + 5(3) = 2n 75 + 15 = 2n n = 45 ดังนั้น จำนวนการใช้โทรศัพท์ของพนักงานบริษัทนี้คือ 45 ครั้ง

  24. ความสัมพันธ์ของดีกรีกับจำนวนเส้นเชื่อมความสัมพันธ์ของดีกรีกับจำนวนเส้นเชื่อม • ทฤษฎีบทที่ 2 (Directed Handshaking Lemma) ในกราฟแบบมีทิศทาง เมื่อกำหนดให้กราฟ G มีจุดแทนด้วยเซต V และเส้นเชื่อมแทนด้วยเซต E จะได้ว่า

  25. ความสัมพันธ์ของดีกรีกับจำนวนเส้นเชื่อมความสัมพันธ์ของดีกรีกับจำนวนเส้นเชื่อม • ทฤษฎีบทที่ 3 จำนวนจุดที่มีดีกรีเป็นเลขคี่ ต้องเป็นเลขคู่ • ตัวอย่าง จากกราฟดังรูป ให้นับจำนวนเส้นเชื่อม ผลบวกดีกรีของทุกจุดยอด จำนวนจุดยอดคี่

  26. การพ้องรูปของกราฟ • กราฟ G1 และ G2 จะเทียบเท่ากันหรือเรียกว่าพ้องรูปกัน (isomorphic) ถ้ากราฟทั้งสองมีคุณสมบัติของกราฟเหมือนกัน นั่นคือ • กราฟทั้งสองมีจุดและเส้นเชื่อมคล้องจองกันจุดต่อจุดและเส้นต่อเส้น • ตัวอย่าง กราฟ (ก) และ (ข) พ้องรูปกัน เพราะ • มีจุด a,bและ c ตรงกับจุด 1,2 และ 3 ตามลำดับ • มีเส้นเชื่อม (a,b) และ (b,c) ตรงกับ (1,2) และ (2,3)

  27. ตัวอย่าง จงพิจารณาว่ากราฟ G และ H พ้องรูปกันหรือไม่ วิธีทำ กราฟทั้งสองมีจุด 7 จุด และเส้นเชื่อม 14 เส้น ทุกจุดมีดีกรีเป็น 4 เหมือนกัน แต่เรายังไม่สามารถสรุปได้ว่ากราฟทั้งสองพ้องรูปกัน จนกว่าจะลองจับคู่จุดต่อจุดเส้นต่อเส้น • เริ่มต้นจับคู่จุด a ของกราฟ G กับ จุด 1 ของกราฟ H แล้วพิจารณาเส้นเชื่อม ได้เส้นทาง ดังนี้ G : g-e-d-b , H : 7-6-3-2 ดังนั้น จับคู่ g กับ 7, eกับ 6, dกับ 3 และ b กับ 2 • จุดที่เหลือของกราฟที่ยังไม่ได้จับคู่กันคือ G: f , c กับ H : 5 , 4 พบว่า f ต่อกับ g-b-c-e ส่วน 4 ต่อกับ 5-6-2-3 ซึ่ง f-g-b-e-d ถูกจับคู่กับ 4-7-2-6-3 ไปแล้ว ดังนั้น c คู่กับ 5 -จากการพิจารณาทั้งหมดพบว่า เส้นเชื่อมของสองกราฟคล้องจองกัน ดังนั้น กราฟนี้พ้องรูปกัน

  28. กิจกรรม จงพิจารณาว่า กราฟที่มีทิศทางทั้งสองกราฟดังรูป พ้องรูปกันหรือไม่

  29. แนวเดิน • นิยาม แนวเดิน W ในกราฟ G คือ ลำดับสลับของจุดและเส้นของกราฟ G ดังนี้ W : v0 , e1 , v1 , e2 , v2 , …, vn-1, en , vn ซึ่งเส้น e1มีจุดปลายคือ vi-1และ viสำหรับ 1 i n

  30. ตัวอย่าง ในอำเภอหนึ่งมีตำบลอยู่ 5 ตำบล ได้แก่ ตำบล A, B, C, D และ E ระหว่างตำบลต่างๆจะมีถนนเชื่อมระหว่างตำบล ซึ่งแสดงแผนผังเป็นกราฟ ดังรูป โดยให้ จุดยอดแทนตำบล เส้นเชื่อมแทนถนน เราสามารถเขียนแต่ละเส้นทางเป็นแนวเดิน ในรูปลำดับของจุดยอดและเส้นเชื่อม ดังนี้ เส้นทางที่ 1 มีลำดับคือ A, AB, B, BA, A, AD, D, DC, C, CD, D, DC, C เส้นทางที่ 2 มีลำดับคือ A, AD, D, DB, B

  31. วงจร • สำหรับแนวเดินที่มีเส้นเชื่อมแตกต่างกัน โดยมีจุดเริ่มต้นและจุดสุดท้ายเป็นจุดเดียวกัน เราจะเรียกว่า วงจร หรือ วัฏจักร (cycle) • ตัวอย่าง กำหนดให้กราฟ G ดังรูป จงหาว่าแนวเดินในข้อใดเป็นวงจร

  32. วงจร วิธีทำ พิจารณาแนวเดิน แนวเดินนี้ไม่เป็นวงจร เพราะ จุดเริ่มต้นและจุดสุดท้ายคนละจุดกัน ไม่เป็นวงจร เพราะมีเส้นเชื่อมซ้ำกัน ไม่เป็น เพราะมีเส้นเชื่อม e7ซ้ำกัน เป็น เป็น

  33. กราฟเชื่อมโยง กราฟไม่เชื่อมโยง • นิยาม ให้ u และ v เป็นจุดใดๆในกราฟ G เรากล่าวว่า u และ v เชื่อมโยงกัน (connect) เมื่อมีแนวเดิน u-v ที่ไม่ซ้ำกัน • ถ้ามีแนวเดินระหว่างจุดสองจุดใดๆแล้ว กราฟ G เป็นกราฟเชื่อมโยง (connected graph) • ถ้าไม่มีแนวเดินระหว่างจุดสองจุดใดๆแล้ว กราฟ G เป็นกราฟไม่เชื่อมโยง (disconnected graph)

  34. ตัวอย่าง • กำหนดแผนผังของสวนสาธารณะ 2 แห่ง ดังรูป จงพิจารณาว่าส่วนสาธารณะแห่งใดสามารถเดินเที่ยวชมบริเวณสวนสาธารณะได้ทุกบริเวณ • วิธีทำ เขียนกราฟแทนแผนผังส่วนสาธารณะทั้ง 2 แห่ง ได้ดังนี้

  35. ตัวอย่าง • พิจารณากราฟ G1 และ G2 • กราฟ G1 เป็นกราฟเชื่อมโยง เพราะมีแนวเดินไปยังทุกจุด • กราฟ G2 เป็นกราฟไม่เชื่อมโยง เพราะไม่มีแนวเดินที่เชื่อมไปยังจุด C

  36. กิจกรรม • กำหนดข่ายงานการเชื่อมโยงระหว่างเสาโทรศัพท์ และ สายโทรศัพท์ ดังรูป ถ้าเกิดเหตุการณ์เสาโทรศัพท์ต้นหนึ่งล้ม จงหาว่าเสาโทรศัพท์ต้นใด เมื่อล้มแล้วจะทำให้การเชื่อมโยงของข่ายงานเสียหายมากที่สุด

  37. กราฟถ่วงน้ำหนัก นิยาม ค่าน้ำหนัก (weight) ของเส้นเชื่อม e ในกราฟ คือ จำนวนที่ไม่เป็นลบที่กำหนดไว้บนเส้นเชื่อม e กราฟถ่วงน้ำหนัก (weight graph)คือ กราฟที่เส้นเชื่อมทุกเส้นมีค่าน้ำหนัก ตัวอย่าง กราฟถ่วงน้ำหนัก

More Related