ครั้งที่ 14

Download Report

Transcript ครั้งที่ 14

887110
Introduction to discrete
structure
บทที่ 8 กราฟ
1
ภาพรวมเนื้อหา
•
•
•
•
กาเนิดของทฤษฎีกราฟ
นิยามและชนิดของกราฟ
คาศั พทเกี
่ วกับกราฟ (Graph Terminology)
์ ย
การเชือ
่ มตอของกราฟ
(Connectivity)
่
2
กาเนิดของทฤษฎีกราฟ
• เกิดขึน
้ เมือ
่ ค.ศ. 1736 โดยนักคณิตศาสตร ์
ชาวสวิสเซอรแลนด
่ เลออนฮารด
์
์ ชือ
์ ออย
เลอร ์ (Leonhard Euler)
• ออยเลอร ์ ไดสร
ทเี่ รียกวา่ “ทฤษฎี
้ างทฤษฎี
้
ออยเลอร”์ (ทฤษฎีกราฟ) ขึน
้ มาเพือ
่ แกปั
้ ญหา
สะพานเคอนิกส์เบอรก
์ “Konigsberg Bridge
problem” ไดเป็
้ นผลสาเร็จ
• ดังนั้น ออยเลอร ์ จึงไดชื
่ วาเป็
้ อ
่ นบิดาของ
ทฤษฎีกราฟ
3
กาเนิดของทฤษฎีกราฟ
• ปัญหาสะพานเคอนิกส์เบอรก
์ (Konigsberg)
– มีเกาะ 2 เกาะ อยูกลางแม
น
่
่ ้าพรีเกล (Pregel)
ในเมืองเคอนิกส์เบอรก
่ ม
์ มีสะพาน 7 แหง่ เชือ
ระหวางเกาะกั
บแผนดิ
่
่ น ดังรูป
คาถามคือ “เป็ นไปไดไหมที
ค
่ นๆหนึ่งจะเดิน
้
จากจุดหนึ่งแลววนกลั
บมาทีจ
่ ุดเดิมโดยข้าม
้
สะพานทัง้ 7 เพียงสะพานละ 1 ครัง้ ”
4
กาเนิดของทฤษฎีกราฟ 2
• ออยเลอรแก
์ ปั
้ ญหานี้โดยแปลงเป็ นกราฟ โดย
ใช้จุดยอดแทนพืน
้ ดิน และ เส้นเชือ
่ มแทน
สะพาน ดังรูป
– ออยเลอรท
ู นเพื
่ ยืนยันวาเป็
่ ะ
่ นไปไมได
่ ที
้ จ
์ าการพิสจ
์ อ
เดินทางในลักษณะดังกลาว
่
– หากจะทาได้ กราฟนี้จะตองมี
จานวนเส้นของแตละ
้
่
จุดเป็ นจานวนคู่
5
การประยุกตใช
์ ้งานทฤษฎีกราฟ
•
•
•
•
•
ประยุกตใช
์ ้แกปั
้ ญหาเครือขาย
่
การออกแบบวงจร
การวางแผนการเดินทาง
การจัดตารางเวลา
ฯลฯ
6
นิยามของกราฟ
• ข้อตกลง
– Family หมายถึง กลุมของสมาชิ
ก โดยทีแ
่ ตละ
่
่
สมาชิกอาจซา้ กันได้ เช่น {a,a,a,b,c,c}
– สั ญลักษณ ์ (a,b) แทนคูล
่ าดับของ a และ b
– สั ญลักษณ ์ {a,b} แทนคูไม
่ ล
่ าดับของ a และ b
7
นิยามของกราฟ
• นิยาม 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 ดังรูป
8
้
นิยามของกราฟ
• หมายเหตุ
– เพือ
่ ความสะดวกเราสามารถเขียนแทนเส้นเชือ
่ ม
{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 เราสามารถทาได้ ดังนี้
9
นิยามของกราฟ
• หมายเหตุ (ตอ)
่
– เส้นเชือ
่ ม 2 เส้นของกราฟ อาจลากตัดกันได้
– จุดตัดของเส้นเชือ
่ มทัง้ สองไมถื
่ อวาเป็
่ นจุดยอดของ
กราฟ
ไมเป็
่ นจุดยอดขอ
– สามารถเขียนภาพของกราฟไดหลายแบบ
เช่น
้
กาหนดกราฟ G เมือ
่ v(G) = {a,b,c} E(G) =
{ab, ac, bc} สามารถเขียนไดหลายรู
ปแบบ ดังนี้
้
10
นิยามของกราฟ
• นิยาม 2 วงวน (loop) คือ เส้นเชือ
่ มทีอ
่ ยูใน
่
รูป uu หรือ เส้นทีม
่ จ
ี ุดตนจุ
้ ดปลายเป็ นจุด
เดียวกัน
• นิยาม 3 เส้นขนาน (parallel edges) หรือเส้น
หลายชัน
้ (multiple edges) คือ เส้นเชือ
่ มทีม
่ ี
มากวา่ 1 เส้นทีเ่ ชือ
่ มจุดคูเดี
่ ยวกัน
วงวน
เส้นขนาน
11
ชนิดของกราฟ
• กราฟเชิงเดีย
่ ว (Simple graph) คือ กราฟทีไ่ มมี
่
เส้นขนานและไมมี
่ วงวน
• กราฟเทียม (Pseudograph) คือ กราฟทีม
่ วี งวน
• กราฟผสม (Multigraph) คือ กราฟทีม
่ เี ส้นขนาน
และไมมี
่ วงวน
12
ชนิดของกราฟ
• นิยาม 4 ถากราฟ
G เป็ นกราฟเชิงเดีย
่ ว เรา
้
จะเรียกกราฟ G วาเป็
่ นกราฟสมบูรณ ์
่ ทุกๆจุดของกราฟ
(Complete Graph) ก็ตอเมื
่ อ
มีเส้นเชือ
่ มหมด
• จานวนเส้นของกราฟ (kp) = p(p-1) / 2
– เมือ
่ kp แทนกราฟสมบูรณที
่ ี p จุด
์ ม
– p แทน จานวนจุดยอดของกราฟ
13
ชนิดของกราฟ
• กราฟทีไ่ มมี
ิ ทาง (undirected graph) คือ
่ ทศ
กราฟทีแ
่ ตละเส
่ มไมมี
ู ศรระบุทศ
ิ ทาง
่
้ นเชือ
่ ลก
กากับอยู่
• กราฟทีม
่ ท
ี ศ
ิ ทาง (directed graph) คือ กราฟ
ทีแ
่ ตละเส
่ มจะมีลก
ู ศรระบุทศ
ิ ทางกากับอยู่
่
้ นเชือ
14
ดีกรี
• เราเรียกจุดยอดสองจุดวา่ ประชิดกัน
(adjacent) ถามี
่ มเส้นหนึ่งเชือ
่ มระหวางจุ
้ เส้นเชือ
่ ด
ทัง้ สอง
• เรียกจุดยอดทีเ่ ป็ นจุดปลายของเส้นเชือ
่ มวา่ ติด
กับ (incident) เส้นเชือ
่ มนั้น
• ตัวอยาง
เช่น กราฟดังรูปจะบอกไดว
่
้ า่
– V4 ประชิดกับ v2
– v2 ติดกับ e2, e3 และ e6
15
ดีกรีของกราฟไมมี
ิ ทาง
่ ทศ
• ดีกรี(degree) ของจุด v มีคาเท
่ ากั
่ บ จานวน
ของเส้นเชือ
่ มทีต
่ ด
ิ กับจุด v
• ในกรณีทเี่ ส้นเชือ
่ มนั้นเป็ นวงวนจะวามี
่ คาเป็
่ น
2
• ตัวอยาง
จากกราฟ ดังรูป พบวา่
่
– ดีกรีของจุด v1, v2, v3 และ v4 มีคา่
เป็ น 5, 3, 3 และ 1 ตามลาดับ
• จุดยอดใดทีม
่ ด
ี ก
ี รีเป็ น 1 จะเรียกวา่ จุดค้าง
(pendant vertex)
16
ตัวอยาง
่
กราฟตอไปนี
้จุดใดเป็ นจุดโดดเดีย
่ ว จุดใดเป็ นจุด
่
คาง
และจุดใดมีดก
ี รีมากทีส
่ ุด และกราฟที
f
้
h ่
d
กาหนดให้เป็ นกราฟชนิ
ดใด
a
e
b
c
i
g
j
ตอบ จุด i เป็ นจุดโดดเดีย
่ ว และ จุด a, d, j
เป็ นจุดคาง
้
จุดทีม
่ ด
ี ก
ี รีมากสุดคือจุด g ซึง่ deg(g) = 5
17
กิจกรรม
จงพิจารณากราฟเดิมอีกครัง้ และหาจานวนดาน
้
ทัง้ หมด และผลรวมของดีกรีของทุ
f กจุดในกราฟ
h
วาเท
่ ากั
่ บa เทาไหร
่
่ d
e
b
c
i
g
j
18
ดีกรีของกราฟมีทศ
ิ ทาง
• ดีกรีของจุดในกราฟทีม
่ ท
ี ศ
ิ ทางนั้น สามารถ
จาแนกไดเป็
้ น
– ดีกรีขาเขา้ (in-degree) คือ จานวนเส้นเชือ
่ มทีม
่ ี
-(v)
ทิศทางเขาสู
จุ
ด
ใช
สั
ญ
ลั
ก
ษณ
deg
้ ่
้
์
– ดีกรีขาออก (out-degree) คือ จานวนเส้นเชือ
่ มที่
มีทศ
ิ ทางออกจากจุด ใช้สั ญลักษณ ์ deg+(v)
19
ตัวอยาง
่
• จงหาดีกรีเขาและดี
กรีออกของจุด a, b, c, d
้
ในกราฟตอไปนี
่ a้
b
d
c
deg-(a) = 1 , deg-(b) = 4 , deg-(c) = 0 , deg(d) = 2
20
ความสั มพันธของดี
กรีกบ
ั จานวนเส้น
์
เชือ
่ ม
• ทฤษฎีบทที่ 1 (Handshaking Lemma)
ผลรวมของดีกรีของจุดทุกๆจุดในกราฟแบบ
ไมมี
ิ ทาง จะมีคาเป็
านวนเส้น
่ ทศ
่ น 2 เทาของจ
่
เชือ
่ มทัง้ หมดในกราฟ นั่นคือ ถากราฟ
G มี
้
p จุดและ q เส้น แลว
้
21
ตัวอยาง
่
กราฟทีม
่ เี ส้นเชือ
่ ม 30 เส้น และดีกรีของทุกจุด
เทากั
ี ง้ั หมดกีจ
่ ุดยอด
่ บ 4 จงหาวา่ กราฟนี้มท
วิธท
ี า จากทฤษฎีบท : ผลรวมของดีกรีทุกจุด
ยอด = 2 x จานวนเส้นเชือ
่ ม
สมมุตใิ ห้ v แทนจานวนจุดยอด เมือ
่ แทนคาตาม
่
ทฤษฎีบทจะได้
4v = 2 x 30
4v = 60
v = 60/4 = 15
ดังนั้น กราฟนี้มจ
ี ุดยอดทัง้ หมด 15 จุด
22
ตัวอยาง
่
ผลการสารวจขอมู
้ ลการใช้โทรศัพทมื
์ อถือของพนักงาน 20
คน ในบริษท
ั แหงหนึ
่งในเดือนทีผ
่ านมา
พบวา่ พนักงาน
่
่
15 คน แตละคนคุ
ยโทรศัพทถึ
่ นในบริษท
ั 5 คน
่
์ งเพือ
และ พนักงานอีก 5 คนทีเ่ หลือ คุยโทรศัพทกั
่ นใน
์ บเพือ
บริษท
ั 3 ครัง้ จงหาจานวนการใช้โทรศัพทมื
์ อถือของ
พนักงานบริษท
ั นี้
วิธท
ี า
แปลงปัญหาเป็ นกราฟ โดยให้
- จุดยอดแทนพนักงาน
- เส้นเชือ
่ มแทนการคุยโทรศัพทของพนั
กงาน (n)
์
แทนคาในทฤษฎี
บท 1 จะได้
่
15(5) + 5(3) = 2n
75 + 15 = 2n
n = 45
ดังนั้น จานวนการใช้โทรศัพทของพนั
กงานบริษท
ั นี้คอ
ื 4523
์
ความสั มพันธของดี
กรีกบ
ั จานวนเส้น
์
เชือ
่ ม
• ทฤษฎีบทที่ 2 (Directed Handshaking
Lemma)
ในกราฟแบบมีทศ
ิ ทาง เมือ
่ กาหนดให้กราฟ
G มีจุดแทนดวยเซต
V และเส้นเชือ
่ มแทนดวย
้
้
1


(v ) ว
เซต Edegจะได
้  า่  deg ( v )  2  deg( v )  E
vV
vV
vV
24
ความสั มพันธของดี
กรีกบ
ั จานวนเส้น
์
เชือ
่ ม
• ทฤษฎีบทที่ 3 จานวนจุดทีม
่ ด
ี ก
ี รีเป็ นเลขคี่
ตองเป็
นเลขคู่
้
• ตัวอยาง
จากกราฟดังรูป ให้นับจานวนเส้น
่
เชือ
่ ม ผลบวกดีกรีของทุกจุดยอด จานวนจุด
ยอดคี่
25
การพองรู
ปของกราฟ
้
• กราฟ G1 และ G2 จะเทียบเทากั
่ นหรือเรียกวา่
พ้องรูปกัน (isomorphic) ถากราฟทั
ง้ สองมี
้
คุณสมบัตข
ิ องกราฟเหมือนกัน
นั่นคือ
– กราฟทัง้ สองมีจุดและเส้นเชือ
่ มคลองจองกั
นจุดตอจุ
้
่ ด
และเส้นตอเส
่ ้น
• ตัวอยาง
กราฟ (ก) และ (ข) พองรู
ปกัน
่
้
เพราะ
– มีจุด a,b และ c ตรงกับจุด 1,2 และ 3 ตามลาดับ
– มีเส้นเชือ
่ ม (a,b) และ (b,c) ตรงกับ (1,2) และ
(2,3)
26
ตัวอยาง
่
จงพิจารณาวากราฟ
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
27
กิจกรรม
จงพิจารณาวา่ กราฟทีม
่ ท
ี ศ
ิ ทางทัง้ สองกราฟดัง
รูป พองรู
ปกันหรือไม่
้
28
แนวเดิน
• นิยาม แนวเดิน W ในกราฟ G คือ ลาดับ
สลับของจุดและเส้นของกราฟ G ดังนี้
W : v0 , e1 , v1 , e2 , v2 , …, vn-1, en , vn
ซึง่ เส้น e1 มีจุดปลายคือ vi-1 และ vi สาหรับ
1 i n
29
ตัวอยาง
่
ในอาเภอหนึ่งมีตาบลอยู่ 5 ตาบล ไดแก
้ ่ ตาบล A,
B, C, D และ E ระหวางต
าบลตางๆจะมี
ถนนเชือ
่ ม
่
่
ระหวางต
าบล ซึง่ แสดงแผนผังเป็ นกราฟ ดังรูป โดย
่
่ มแทนถนน
ให้ จุดยอดแทนตาบล เส้นเชือ
เราสามารถเขียนแตละเส
่
้ นทางเป็ นแนวเดิน ในรูปลาดับ
ของจุดยอดและเส้นเชือ
่ ม ดังนี้
30
เส้นทางที่ 1 มีลาดับคือ A, AB, B, BA, A, AD, D, DC,
วงจร
• สาหรับแนวเดินทีม
่ เี ส้นเชือ
น โดยมี
่ มแตกตางกั
่
จุดเริม
่ ตนและจุ
ดสุดทายเป็
นจุดเดียวกัน เราจะ
้
้
เรียกวา่ วงจร หรือ วัฏจักร (cycle)
• ตัวอยาง
กาหนดให้กราฟ G ดังรูป จงหาวา่
่
แนวเดินในขอใดเป็
นวงจร
้
31
วงจร
วิธท
ี า พิจารณาแนวเดิน
แนวเดินนี้ไมเป็
่ ตนและจุ
ดสุดทาย
่ นวงจร เพราะ จุดเริม
้
้
คนละจุดกัน
ไมเป็
่ นวงจร เพราะมี
เส้นเชือ
่ มซา้ กัน
ไมเป็
่ น เพราะมีเส้น
เชือ
่ ม e7 ซา้ กัน
32
กราฟเชือ
่ มโยง กราฟไมเชื
่ มโยง
่ อ
• นิยาม ให้ u และ v เป็ นจุดใดๆในกราฟ G
เรากลาวว
า่ u และ v เชือ
่ มโยงกัน
่
(connect) เมือ
่ มีแนวเดิน u-v ทีไ่ มซ
่ า้ กัน
– ถามี
ดสองจุดใดๆแลว
้ แนวเดินระหวางจุ
่
้ กราฟ G
เป็ นกราฟเชือ
่ มโยง (connected graph)
– ถาไม
มี
ดสองจุดใดๆแลว
้
่ แนวเดินระหวางจุ
่
้ กราฟ
G เป็ นกราฟไมเชื
่ มโยง (disconnected graph)
่ อ
33
ตัวอยาง
่
• กาหนดแผนผังของสวนสาธารณะ 2 แหง่
ดังรูป จงพิจารณาวาส
่ ่ วนสาธารณะแหงใด
่
สามารถเดินเทีย
่ วชมบริเวณสวนสาธารณะได้
ทุกบริเวณ
• วิธท
ี า เขียนกราฟแทนแผนผังส่วนสาธารณะ
ทัง้ 2 แหง่ ไดดั
้ งนี้
34
ตัวอยาง
่
• พิจารณากราฟ G1 และ G2
• กราฟ G1 เป็ นกราฟเชือ
่ มโยง เพราะมีแนว
เดินไปยังทุกจุด
• กราฟ G2 เป็ นกราฟไมเชื
่ มโยง เพราะไมมี
่ อ
่
แนวเดินทีเ่ ชือ
่ มไปยังจุด C
35
กิจกรรม
• กาหนดขายงานการเชื
อ
่ มโยงระหวางเสา
่
่
โทรศัพท ์ และ สายโทรศัพท ์ ดังรูป ถาเกิ
้ ด
เหตุการณเสาโทรศั
พทต
่งลม
์
์ นหนึ
้
้ จงหาวาเสา
่
โทรศัพทต
เมือ
่ ลมแล
วจะท
าให้การ
์ นใด
้
้
้
เชือ
่ มโยงของขายงานเสี
ยหายมากทีส
่ ุด
่
36
กราฟถวงน
้าหนัก
่
นิยาม คาน
่ ม e ใน
่ ้าหนัก (weight) ของเส้นเชือ
กราฟ คือ จานวนทีไ่ มเป็
่ าหนดไวบนเส
่ นลบทีก
้
้น
เชือ
่ ม e
กราฟถวงน
้าหนัก (weight graph) คือ กราฟทีเ่ ส้น
่
เชือ
่ มทุกเส้นมีคาน
่ ้าหนัก
ตัวอยาง
กราฟถวงน
้าหนัก
่
่
37