graphs
TRANSCRIPT
![Page 1: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/1.jpg)
1
กราฟ กราฟ ((Graphs)Graphs)
![Page 2: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/2.jpg)
2
วั�ตถุประสงค์�
•เพื่��อศึ�กษาหลั กการเบื้��องต้�นเก��ยวก บื้กราฟ (graphs)
•ประย�กต้�ความสั มพื่ นธ์�ของข�อม#ลัในร#ปกราฟสั%าหร บื้กระบื้วนการทางคอมพื่'วเต้อร�
![Page 3: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/3.jpg)
3
กราฟค์�ออะไร?
• ไม)ใช่)กราฟในความหมายทางคณิ'ต้ศึาสัต้ร�ท��เก'ดจากการ Plot จ�ดลังบื้นแกน x,y
• กราฟในว'ช่าคณิ'ต้ศึาสัต้ร�ไม)ต้)อเน��องจะหมายถึ�งโครงสัร�างความสั มพื่ นธ์�ซึ่��งประกอบื้ด�วย จ�ด(หร�อจ�ดยอด) แลัะเสั�นเช่��อมโยงระหว)างจ�ดหร�อจ�ดยอด เพื่��ออธ์'บื้ายความสั มพื่ นธ์�ของสั'�งท��เราสันใจ
http://th.wikipedia.org/wiki/กราฟ_ คณิ'ต้ศึาสัต้ร�( )
![Page 4: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/4.jpg)
4
การประยุกต�ของกราฟ
• เพื่��อแสัดงความสั มพื่ นธ์�ของสั'�งท��เราสันใจ.
• เคร�อข)าย(คอมพื่'วเต้อร� ธ์�รก'จ) การจ ดการต้าราง(scheduling) การจ ดการระบื้บื้งาน(flow optimization) การออกแบื้บื้วงจร.
![Page 5: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/5.jpg)
5
กราฟอยุ�างง�ายุ (Simple Graphs)
• กราฟอยุ�างง�ายุ ค�อ G=(V,E) ซึ่��งประกอบื้ด�วย
– เซึ่ต้ของจ�ดยอด(vertices) หร�อจ�ดยอด(nodes) แทนด�วยสั ญญลั กณิ� V
– เซึ่ต้ของเสั�นเช่��อมโยงระหว)างจ�ดยอดหร�อ เร�ยกอ�กอย)างว)า ด�าน(edges) หร�อ ด�าน แทนด�วยสั ญญลั กณิ� E ซึ่��งแทนด�วยค#)ลั%าด บื้ u,v V
Visual Representationof a Simple Graph
![Page 6: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/6.jpg)
6
มั�ลต�กราฟ(Multi-graphs)
• มั�ลต�กราฟ ค�อ กราฟอย)างง)าย ซึ่��งอย)างน�อยจะต้�องม�ด�านมากกว)า หน��งด�าน เช่��อมระหว)างจ�ดยอดค#)เด�ยวก นบื้นกราฟ.
• G=(V, E, f ) f:E{{u,v}|u,vV uv}.
• ต้ วอย)าง เช่)น ถึ�าให�จ�ดยอดแทนเม�องแลัะให�ถึนนแทนด�าน ในความเป3นจร'งก4อาจม�ถึนนเช่��อมเม�องได�มากกว)าหน��ง เสั�นทาง.
Paralleledges
![Page 7: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/7.jpg)
7
กราฟเที�ยุมั(Pseudo-graphs)
• กราฟเที�ยุมั หมายถึ�ง ม ลัต้'กราฟท��ม�จ�ดยอดหน��งจ�ดยอดใดท��ยอมให�ม� ด�านเข�าแลัะออกไปย งต้ วเอง. (R may be reflexive.)
• G=(V, E, f ) เม��อf:E{{u,v}|u,vV}. eE เร�ยกว)า ลั#บื้(loop) ถึ�า f(e)={u,u}={u}.
![Page 8: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/8.jpg)
8
กราฟระบุที�ศทีาง(Directed Graphs)
• กราฟระบื้�ท'ศึทาง(directed graph) หร�อ digraph
ซึ่��งจะสัอดคลั�องก บื้ความสั มพื่ นธ์�แบื้บื้ทว'ภาค (binary relations).
• กราฟระบื้�ท'ศึทาง(V,E) ประกอบื้ด�วย จ�ดยอด V แลัะความสั มพื่ นธ์�ทว'ภาค E บื้น V โดยม�การระบื้�ท'ศึทางความสั มพื่ นธ์�ว)าเป3นความสั มพื่ นธ์�จากจ�ดยอดใดไปย งจ�ดยอดใด.
• ต้ วอย)างเช่)น: V = เซึ่ต้ของคน,E={(x,y) | x loves y}
![Page 9: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/9.jpg)
9
มั�ลต�กราฟระบุที�ศทีาง(Directed Multi-graphs)
• ม ลัต้'กราฟระบื้�ท'ศึทาง ค�อกราฟระบื้�ท'ศึทาง ซึ่��งอย)างน�อยจะต้�องม� ด�านมากกว)าหน��งด�าน ระหว)างจ�ดยอดค#)หน��งบื้นกราฟ
• G=(V, E, f ) ประกอบื้ด�วยเซึ่ต้ของ V แลัะ E ท�� f:EVV.
• ต้ วอย)าง เช่)นให� V=web pages แลัะE=hyperlinks โดย WWW เป3นdirected multigraph...
![Page 10: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/10.jpg)
10
ค์�าศ�พที�ที�!เก�!ยุวัข"องกราฟ(terminology)
• Adjacent, connects, endpoints, degree, initial, terminal, in-degree, out-degree, complete, cycles, wheels, n-cubes, bipartite, sub-graph, union.
http://oneweb.utc.edu/~Christopher-Mawata/petersen/lesson12b.htm
![Page 11: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/11.jpg)
11
ประชิ�ด (Adjacency)
ให� G เป3น กราฟไม)ระบื้�ท'ศึทาง(undirected graph) ซึ่��งม� ด�าน E, eE เข�ยนด�วยค#)ลั%าด บื้จ�ดยอด {u,v} แลั�วจะกลั)าวว)า:
u, v เป3น adjacent / neighbors / connected.
• ด�าน e เป3นด�านต้กกระทบื้(incident) ก บื้ จ�ดยอด u แลัะv.
• ด�าน e จะเช่��อมต้)อ(connect) ระหว)าง u แลัะ v.
• จ�ดยอด u แลัะ v ต้)างก4เป3นจ�ดปลัายของ ด�าน e.
A
B
C
DE
e1 e2
e5
e4
e7
e3e6
G1
![Page 12: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/12.jpg)
12
ด�กร�ของจุดยุอด(Degree of a Vertex)
• เม��อG เป3นกราฟไม)ระบื้�ท'ศึทาง,แลัะ vV.
• ด�กร�ของ vใดๆ เข�ยนด�วย deg(v) หมายถึ�งจ%านวนของด�านต้กกระทบื้(incident edges) ยกเว�นกรณิ� self-loops น บื้เพื่�ยงสัองคร �ง
• จ�ดยอดท��ม�ด�กร� 0 เร�ยกว)า isolated.
• จ�ดยอดท��ม�ด�กร� 1 เร�ยกว)า pendant.
![Page 13: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/13.jpg)
13
Handshaking Theorem
• ให� G เป3นกราฟไม)ระบื้�ท'ศึทาง (simple, multi-, or pseudo-) แลั�ว
EvVv
2)deg(
How many vertices are there in a graph with 30 edges and degree 4 in each vertices?
![Page 14: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/14.jpg)
14
Directed Adjacency Graph
• ให� G เป3น กราฟระบื้�ท'ศึทาง เม��อ u, v เป3นโหนดใดๆบื้น G เราจะกลั)าวว)า:– u is adjacent to v, v is adjacent from u– e comes from u, e goes to v.– e connects u to v, e goes from u to v– the initial vertex of e is u– the terminal vertex of e is v
u v
e
![Page 15: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/15.jpg)
15
Directed Degree
• ให� G เป3น กราฟระบื้�ท'ศึทาง เม��อ v เป3นจ�ดยอดใดๆบื้น G เราจะกลั)าวว)า:– in-degree ของv, deg(v), ค�อจ%านวน ด�าน ท��พื่� )งเข�าสั#)
v.– out-degree ของv, deg(v), ค�อจ%านวน ด�าน ท��พื่� )ง
ออกจาก v.– ด�กร�ของ v เท)าก บื้ deg(v) deg(v) + deg(v).
A
B
C
DE
e1 e2
e5
e4
e7 e3e6
G2
![Page 16: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/16.jpg)
16
Directed Handshaking Theorem
• ให� G เป3น กราฟระบื้�ท'ศึทางแลั�ว ได�ว)า:
EvvvVvVvVv
)deg(2
1)(deg)(deg
![Page 17: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/17.jpg)
17
Special Graph Structures
กราฟอยุ�างง�ายุที�!มั�ล�กษณะพ�เศษบุางร(ปแบุบุ :
• Complet graphs Kn
• Cycles Cn
• Wheels Wn
• n-Cubes Qn
• Bipartite graphs
• Complete bipartite graphs Km,n
![Page 18: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/18.jpg)
18
กราฟสมับุ(รณ� (Completed Graphs)
• กราฟแบื้บื้ Complet graph ท��ม�จ�ดยอด n จ�ดซึ่��งแทนได�ด�วยสั ญลั กษณิ� Kn ค�อ กราฟท��ประกอบื้ด�วยด�านเพื่�ยง 1 ด�านระหว)างจ�ดยอดแต้)ลัะค#)ท��แต้กต้)างก น u,vV: uv{u,v}E.
จ%านวน ด�านใน Kn เท)าก บื้ edges.2
)1(1
1
nni
n
i
K1 K2K3
K4 K5 K6
![Page 19: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/19.jpg)
19
Cycles
• G เป3นกราฟอย)างง)าย แลั�ว G จะเป3น cycle Cn ภายใต้� n3
ถึ�าเซึ่ต้ของจ�ดยอด V={v1,v2,… ,vn} แลั�ว E={{v1,v2},{v2,v3},…,{vn1,vn},{vn,v1}}.
C3 C4 C5 C6 C7C8
How many edges are there in Cn?
![Page 20: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/20.jpg)
20
Wheels
• G เป3นกราฟอย)างง)าย แลั�ว G จะเป3น wheel Wn, ภายใต้� n3, ถึ�ากราฟ G เป3น Cn แลัะสัามารถึหา จ�ดยอด vhub ท��สัามารถึเช่��อมโยงท�กจ�ดยอดใน Cn เข�าด�วยก น
{{vhub,v1}, {vhub,v2},…,{vhub,vn}}.
W3 W4 W5 W6 W7W8
How many edges are there in Wn?
![Page 21: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/21.jpg)
21
n-cubes (hyper-cubes)
• G เป3นกราฟอย)างง)าย , nN แลั�ว Gเป3นhypercube Qn ถึ�า สัามารถึสัร�างกราฟช่�ดท��
2 Qn-1 โดยท��แต้)ลัะจ�ดยอดถึ#กเช่��อมต้)อเข�าด�วยก นในท�กต้%าแหน)งท��สัอดคลั�องก น เช่)น Q0 ค�อ hypercube ประกอบื้ด�วยจ�ดยอด 1 จ�ดยอด.
Q0Q1 Q2 Q3
Q4
Number of vertices: 2n. Number of edges:Exercise to try!
![Page 22: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/22.jpg)
22
n-cubes (hyper-cubes)กราฟแบื้บื้ n-Cubes ซึ่��งแทนได�ด�วยสั ญลั กษณิ� Qn เป3นกราฟท��ม�จ%านวนจ�ด เป3น 2n โดย n แทนค)าความยาวของบื้'ต้ เช่)นถึ�ากราฟม� 2 จ�ด แสัดงว)า กราฟแบื้บื้ n-Cubes ม�ด�านเพื่�ยง 1 ด�าน แลัะม�ความยาวเพื่�ยง 1 บื้'ต้ ด งกราฟ Q1แลัะ n-Cubes ม�ด�าน4ด�านจะม�ความยาวบื้'ต้เป3น 2
เช่)น Q2 แลัะ n-Cubes ม�ด�าน 4 จะม�ความยาวบื้'ต้เป3น 3 เช่)น Q
3.
![Page 23: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/23.jpg)
23
• G=(V,E) เป3น bipartite (two-part) ก4ต้)อเม��อ V = V1∩V2 เม��อ V1V2= แลัะeE: v1V1,v2V2:
e={v1,v2}.
• bipartite ค�อกราฟท��ม�สัมบื้ ต้'ว)าสัามารถึแบื้)งเซึ่ต้ของจ�ดยอดออกเป3น 2 เซึ่4ต้ย)อย โดยท��เซึ่4ต้ย)อยท �งสัองน �นจะม�เสั�นท��เช่��อมระหว)างจ�ดยอด แต้)ต้�องไม)ม�เสั�นเช่��อมจ�ดยอดภายในเซึ่4ต้ย)อย เด�ยวก น
กราฟสองส�วัน(Bipartite Graphs)
V1 V2This definition can easily be adapted for the case of multigraphs and directed graphs as well.
Can represent withzero-one matrices.
![Page 24: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/24.jpg)
24
กราฟสองส�วันสมับุ(รณ�(Complete Bipartite Graphs)
• เม��อ m,nN, Km,n เป3น complete bipartite graph ถึ�าให� |V1| = m แลัะ |V2| = n,
แลั�ว E = {{v1,v2}|v1V1 v2V2}.– ถึ�าม� m จ�ดยอดในกราฟทางซึ่�าย แลัะ n จ�ดยอดในกราฟทางขวา แลั�วท�กจ�ดยอดในกราฟทางซึ่�าย จะม�เสั�นเช่��อมต้)อก บื้ท�กจ�ดยอดก บื้ กราฟทางขวา.
K4,3
![Page 25: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/25.jpg)
25
ต�วัอยุ�าง กราฟสองส�วันสมับุ(รณ�
![Page 26: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/26.jpg)
26
ต�วัอยุ�าง : กราฟสองส�วัน
กราฟ G เป3นกราฟสัองสั)วนหร�อไม) ?
ตอบุ G เป+น กราฟสองส�วัน เพราะสามัารถุแบุ�งเซตของจุดยุอดเป+นสองเซต ค์�อ V1 = {a, d, e, f} และ V2 = {b, c, g} โดยุที�!แต�ละจุดภายุในเซต V1 ไมั�มั�เส"นเชิ�!อมัก�น และแต�ละจุดภายุในเซต V2 ก0ไมั�มั�เส"นเชิ�!อมัเชิ�นเด�ยุวัก�น
![Page 27: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/27.jpg)
27
ต�วัอยุ�าง : กราฟสองส�วัน
กราฟ Gแลัะ H เป3นกราฟสัองสั)วนหร�อไม) ?
![Page 28: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/28.jpg)
28
เฉลยุ : กราฟสองส�วัน• ว'ธ์�ท%า กราฟ G เป3นกราฟสัองสั)วน เพื่ราะสัามารถึ
แบื้)งเซึ่ต้ของจ�ดเป3นสัองเซึ่ต้ ค�อ • V1 = {a, b, d} แลัะ V2 ={c, e, f, g}• โดยท��แต้)ลัะจ�ดยอดในเซึ่ต้ V1 ไม)ม�เสั�นเช่��อม แลัะ
แต้)ลัะจ�ดยอดในเซึ่ต้ V2 ก4ไม)ม�เสั�นเช่��อมเช่)นเด�ยวก น (กราฟ G เป3นกราฟสัองสั)วน
• ไม)จ%าเป3นว)าท�กๆ จ�ดในเซึ่ต้ {a, b, d}ต้�องอย#)ต้'ดก บื้ท�กๆจ�ดในเซึ่ต้ {c, e, f, g}
• ต้ วอย)างเช่)น b แลัะ g ไม)ได�อย#)ต้'ดก น)
![Page 29: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/29.jpg)
29
• กราฟ H ไม)ใช่)กราฟสัองสั)วน เพื่ราะเซึ่ต้ของจ�ดยอดไม)สัามารถึแบื้)งได�เป3น 2 เซึ่ต้ย)อยได� โดยท��แต้)ลัะเซึ่ต้ย)อย 2 เซึ่ต้ย)อยน �น จ�ดใดๆในเซึ่ต้ย)อยน �นไม)ม�เสั�นเช่��อมก น
• ด งน �นจะไม)สัามารถึต้'ดต้)อจ�ดสัองจ�ดจาก เซึ่ต้ย)อยเด�ยวก น (ผู้#�เร�ยนควรพื่'สั#จน�โดยพื่'จารณิาจากจ�ด a, b, f)
เฉลยุ : กราฟสองส�วัน
![Page 30: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/30.jpg)
30
กราฟยุ�อยุ (Subgraphs)
• Subgraph ของกราฟ G=(V,E) ค�อกราฟ H=(W,F) เม��อ WV แลัะ FE.
G H
![Page 31: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/31.jpg)
31
ประยุกต�ของ Subgraph
• บื้างคร �งเราต้�องการเพื่�ยงบื้างสั)วนของกราฟเพื่��อใช่�ในการแก�ป8ญหา เช่)น เราต้�องการเพื่�ยงบื้างสั)วนของศึ#นย�คอมพื่'วเต้อร�ขนาดใหญ)ในกร�งเทพื่ฯ เช่�ยงใหม) ขอนแก)นแลัะสังขลัา เราสัามารถึเพื่'กเฉยก บื้คอมพื่'วเต้อร�ในศึ#นย�คอมพื่'วเต้อร�ท��อ��นๆ แลัะสัายโทรศึ พื่ท�ท �งหมดท��ไม)เช่��อมก บื้ศึ#นย�คอมพื่'วเต้อร�ท �ง 4 แห)ง ในกราฟสั%าหร บื้ระบื้บื้ขนาดใหญ) เราสัามารถึก%าจ ดสั'�งท��เหม�อนก นท��เราสันใจของศึ#นย�คอมพื่'วเต้อร�ท �ง 4 แห)งท��เหม�อนก นได�แลัะสัามารถึก%าจ ดเสั�นทางท �งหมดได�เม��อเสั�นถึ#กจ%าก ดออกจากกราฟ กราฟท��ได�ออกมาจะเร�ยกว)ากราฟย)อยท��ได�จากกราฟเด'ม
![Page 32: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/32.jpg)
32
Graph Unions
• G1G2 เป3น graph union ของกราฟอย)างง)าย G1=(V1, E1) แลัะ G2=(V2,E2) โดยท�� (V1V2, E1E2).
![Page 33: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/33.jpg)
33
ร(ปแทีนของกราฟ และไอโซมัอฟ2ค์ซ�(Graph Representations & Isomorphism)
• Graph representations:– Adjacency lists.– Adjacency matrices.– Incidence matrices.
• Graph isomorphism:– กราฟสัองกราฟจะ isomorphic ก4ต้)อเม��อ กราฟท �ง
สัองเป3นกราฟเด�ยวก น.
![Page 34: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/34.jpg)
34
Adjacency Lists
• จ ดเก4บื้อย#)ในร#ปต้าราง โดยแต้)ลัะแถึว จะเก4บื้จ�ดยอดท��ถึ#กเช่��อมโยงก บื้จ�ดยอดท��สันใจ เช่)น จ�ดยอด a ม�จ�ดยอดเช่��อมโยงก บื้ b แลัะ จ�ดยอด c.
a b
dc
fe
VertexAdjacentVertices
ab
b, ca, c, e, f
c a, b, fde bf c, b
![Page 35: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/35.jpg)
35
เมัตร�กซ�ประชิ�ด(Adjacency Matrices)
• ให� A เป+นเมต้ร'กซึ่� แลัะaij เป3นสัมาช่'กแถึวท�� i , คอลั มภ�ท�� j แลั�ว A จะเร�ยกว)าเมต้ร'กซึ่�ประช่'ด (Adjacency Matrices)
ถุ"า1 เม��อ ม�เสั�นเช่��อมโยงระหว)างจ�ดยอด i แลัะ จ�ดยอด j
0 เม��อไม)ม�เสั�นเช่��อมโยงระหว)างจ�ดยอด i แลัะ จ�ดยอด jaij =
a b
dc
fe
abcdef
a b c d e f
0 1 1 0 0 01 0 1 0 1 11 1 0 0 0 1
0 0 0 0 0 00 1 0 0 0 00 1 1 0 0 0
![Page 36: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/36.jpg)
36
เมัตร�กซ�กระทีบุ(Incidence matrices)
• ให� G เป3นกราฟอย)างง)าย โดยท�� v1,v2,v3,….,vn แลัะ e1,e2,e3,…,em เป3นจ�ดยอดแลัะ ด�านต้)างๆของกราฟ G เข�ยนอย#)ในร#ปเมต้ร'กซึ่�ประช่'ด M (ขนาด n * m)ม�สัมาช่'กเป3น mij ถึ�า mij = 1 เม��อด�าน ej ต้กกระทบื้บื้นจ�ด vi แลัะ ถึ�า mij = 0 แสัดงว)าไม)ม�ด�าน ej ต้กกระทบื้บื้นจ�ด vi
v1 1 0 1 0 0v2 0 0 1 0 1v3 1 1 0 1 0v4 0 0 0 1 1
e1 e2 e3 e4 e5
จากเมต้ร'กซึ่� M กราฟประช่'ดม�ร#ปร)างอย)างไร ?
M =
![Page 37: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/37.jpg)
37
เฉลยุ : เมัตร�กซ�กระทีบุ
v1
v3
v2
v4
e1
e2
e4
e5
e3
e1 e2 e3 e4 e5
1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 1
v1v2v3v4
![Page 38: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/38.jpg)
38
เมัตร�กซ�กระทีบุTest: จากกราฟ G ท��ก%าหนดให�จงหา เมต้ร'กซึ่�
ประช่'ด แลัะ เมต้ร'กซึ่�กระทบื้v1
v3
v2
v4
e1
e2
e4e5
e3
G:
v1 v2 v3 v4 v5
0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 1 0 0
v1v2v3v4
e1 e2 e3 e4 e5
1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0
v1v2v3v4
Ans
![Page 39: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/39.jpg)
39
กราฟถุอดแบุบุ(Graph Isomorphism)
น�ยุามั ให� G1=(V1, E1) แลัะ G2=(V2, E2) เป3นกราฟอย)างง)าย แลัะให� f:V1V2 ในแบื้บื้สัมน ยก นระหว)างเซึ่ต้ของจ�ดยอดของกราฟ G
1แลัะกราฟG2 ซึ่��งถึ�า 1e ก บื้ 2e เป3น
ด�านประช่'ดของ G1
แลั�วได�ว)า 1f(e ) ก บื้ 2f(e ) จะเป3นด�านประช่'ดของ G
2 แลั�วจะกลั)าวได�ว)ากราฟ G
1 ม� isomo
rphic ก บื้กราฟ G2
หร�ออาจกลั)าวได�ว)ากราฟท �งสัองต้)างเป3นกราฟถึอดแบื้บื้ก น.
v1
v3
v2
v4
e1
e2
e4e5
e3
G:v1
v3
v2
v4
e1
e2
e4e5
e3
H:
![Page 40: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/40.jpg)
40
กราฟ G1 แลัะ G2 เป3นกราฟถึอดแบื้บื้ก นก4ต้)อเม��อ การเร�ยงลั%าด บื้ของจ�ดแลัะด�าน ท%าให�เมต้ร'กซึ่�ประช่'ดแลัะเมต้ร'กซึ่�ต้กกระทบื้ของกราฟสัองช่�ดน�� เหม�อนก นโดยต้รวจสัอบื้ว)า 1. ม�ด�านเท)าก นหร�อไม)?2. ม�จ�ดเท)าก นหร�อไม)?3. ม� degrees ของแต้)ลัะจ�ดเม��อเปร�ยบื้เท�ยบื้ระหว)างกราฟ 2 ร#ปเท)าก นหร�อไม) ?4. เมต้ร'กซึ่�ประช่'ดระหว)างกราฟ 2 ร#ปเท)าก นหร�อไม) ?(โดยการเท�ยบื้ระหว)างจ�ดท��สัมน ยก น)
กราฟถุอดแบุบุ(Graph Isomorphism)
![Page 41: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/41.jpg)
41
• G1 จะ ไอโซึ่โมฟ;คซึ่� ก บื้กราฟ G2 ถึ�าสัามารถึแสัดงได�ว)าด�าน ระหว)างจ�ดยอดบื้นกราฟเหม�อนก น.a
b
c
d
e
G1G2
ต�วัอยุ�าง Isomorphism
#vertices =5----------------#deg(3){a, b, c, e}#deg=2{d}
#vertices=5---------------#deg(4)#deg(3) #deg=2
![Page 42: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/42.jpg)
42
ต�วัอยุ�าง Isomorphism
• G3 จะ ไอโซึ่โมฟ;คซึ่� ก บื้กราฟ G4 ถึ�าสัามารถึแสัดงได�ว)าม�ด�าน ระหว)างจ�ดยอดบื้นกราฟเหม�อนก น.
a
b
cd
ef
1
2
3
465
G3G4
![Page 43: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/43.jpg)
43
• Test กราฟ G5 เป3น isomorphic ก บื้ กราฟ G6หร�อไม)?
ต�วัอยุ�าง Isomorphism
ANS: A - 7, B - 4, C - 3, D - 6, E - 5, F - 2, G - 1
A B
C D E
F G
G51 2 3
4
5 6 7
G6
![Page 44: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/44.jpg)
44
ให้"เล�อกทีดสอบุอยุ�างน"อยุ 1 ข"อ1.ก%าหนดกราฟแบื้บื้ระบื้�ท'ศึทางมาให� ให�แสัดงการ
แทนกราฟด�วย adjacency matrices แลัะ incidence matrices
2.ให�กราฟแบื้บื้ไม)ระบื้�ท'ศึทางมาให�สัองกราฟ ให�แสัดงว)ากราฟท �งสัองเป3นกราฟถึอดแบื้บื้ก น
(15 นาท�)
Quiz -V
![Page 45: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/45.jpg)
45
![Page 46: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/46.jpg)
46
การเชิ�!อมัโยุงบุนกราฟ (Connectivity)
• (กราฟไมั�ระบุที�ศทีาง) ความยาวของเสั�นทาง (path)จากจ�ดยอด u ไปย งจ�ดยอด v ม�ค)า n ค�อลั%าด บื้ของด�านประช่'ด จากจ�ดยอด u ไปย งจ�ดยอด v.
• แลัะเสั�นทางจะเป3น circuit ถึ�า u=v.• (กราฟระบุที�ศทีาง) : ความยาวของเสั�นทาง (path)
จากจ�ดยอด u ไปย งจ�ดยอด v ม�ค)า n ค�อลั%าด บื้ของด�านประช่'ด จากจ�ดยอด u ไปย งจ�ดยอด v โดยพื่'จารณิาต้ามท'ศึทางของการประช่'ดระหว)างจ�ดยอด
![Page 47: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/47.jpg)
47
ค์วัามัเชิ�!อมัโยุงบุนกราฟ(Connectedness)
•connected graph หมายถึ�งกราฟท��ท�กจ�ดยอดบื้นกราฟม�เสั�นทางท��สัามารถึเช่��อมโยงไปย งจ�ดยอดหน��งจ�ดยอดใดบื้นกราฟ.
• ให� A เป3นเมต้ร'กซึ่�ประช่'ด บื้นกราฟ G เสั�นทางม�ความยาวขนาด k จาก vi ไป vj จะเท)าก บื้ (Ak)i,j.
•cut vertex or cut edge ค�อจ�ดยอดหร�อด�านท��เม��อโดนลับื้หร�อต้ ดออกไปแลั�วจะท%าให�เก'ดการแบื้)งกราฟออกเป3นสัองสั)วน.
![Page 48: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/48.jpg)
48
Euler & Hamilton Paths
• Euler circuit ในกราฟ G ค�อวงจรอย)างง)ายท��ประกอบื้ด�วยด"านทีกด"านใน G.
• Euler path ในกราฟ G ค�อเสั�นทางอย)างง)ายท��ประกอบื้ด�วยด"านทีกด"านใน G.
• Hamilton circuit ค�อวงจรท��จุดยุอดทีกจุดในกราฟ G จะถึ#กเด'นผู้)านเพื่�ยงคร �งเด�ยว.
• A Hamilton path ค�อเสั�นทางเด'นท��จุดยุอดทีกจุดในกราฟ G จะถึ#กเด'นผู้)านเพื่�ยงคร �งเด�ยว.
![Page 49: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/49.jpg)
49
ต�วัอยุ�าง: Euler circuit
A B
C D
AB
C
DE
F
G
H
![Page 50: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/50.jpg)
50
ต�วัอยุ�าง: Euler path
?
![Page 51: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/51.jpg)
51
โจุทียุ�ค์�าถุามั• กราฟแบื้บื้ไม)ระบื้�ท'ศึทางในร#ปข�างลั)างน�� กราฟ
ใดม�วงจรออยเลัอร� กราฟใดไม)ม�วงจรออยเลัอร� แลัะกราฟใดม�เสั�นทางเด'นแบื้บื้ออยเลัอร� บื้�าง?
![Page 52: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/52.jpg)
52
ต�วัอยุ�าง: Hamilton circuit & Hamilton path
![Page 53: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/53.jpg)
53
โจุทียุ�ค์�าถุามั
• กราฟแบื้บื้ไม)ม�ท'ศึทางในร#ปข�างลั)างน�� กราฟใดม�วงจรแฮมม'ลัต้ น กราฟใดไม)ม�วงจรออยเลัอร� แลัะกราฟใดม�เสั�นทางเด'นแบื้บื้แฮมม'ลัต้ น บื้�าง?
![Page 54: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/54.jpg)
54
ป4ญห้าการข"ามัสะพาน Königsberg
• จะม�ว'ธ์�การเด'นข�ามสัะพื่านท �งเจ4ดแบื้บื้ไม)ซึ่%�าก น โดยม�จ�ดเร'�มต้�นแลัะจ�ดสั�ดท�ายเป3นจ�ดเด�ยวก นได�หร�อไม)?
A
B
C
D
The original problem Equivalent multigraph
![Page 55: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/55.jpg)
55
Euler Circuit & Euler Path Theorems
• ทีฤษฎี�: ม ลัต้'กราฟของกราฟเช่��อมต้)อจะม�วงจรออยเลัอร�(euler circuit ) ถึ�าท�กจ�ดยอดต้)างก4ม�จ%านวนด�กร�เป3นจ%านวนค#).
• ทีฤษฎี�: ม ลัต้'กราฟของกราฟเช่��อมต้)อจะม�เสั�นทางออยเลัอร�(euler path) ถึ�าหาได�ว)าม�จ�ดยอดสัองจ�ดท��ม�ด�กร�เป3นจ%านวนค��.
![Page 56: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/56.jpg)
56
ป4ญห้าระยุะทีางส�8นที�!สด(Shortest-Path Problems)
• Single Source Shortest Path by Dijkstra’s algorithm
ต"องการห้าระยุะทีางส�8นที�!สดที�!จุะเด�นทีาง จุากจุด เร�!มัต"น (source) ไปยุ�งจุดอ�!นใน G จุะที�าอยุ�างไร ?
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 57: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/57.jpg)
57
ป4ญห้าระยุะทีางส�8นที�!สด(Shortest-Path Problems)
• Single Source Short Path by Dijkstra’salgorithm
ต้�องการหาระยะทางสั �นท��สั�ดท��จะเด'นทาง จากจ�ด เร'�มต้�น (source) ไปย งจ�ดอ��นใน G จะท%าอย)างไร ?
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
0 3 2 5 0 0 03 0 0 0 2 0 02 0 0 0 0 4 05 0 0 0 3 1 20 2 0 3 0 0 60 0 4 1 0 0 10 0 0 2 6 1 0
A B C D E F G
ABCDEFG
![Page 58: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/58.jpg)
58
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1
2
3
4
5
6
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 59: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/59.jpg)
59
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2
3
4
5
6
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 60: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/60.jpg)
60
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2 {A,C,B} B 3 2 5 5 6
3
4
5
6
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 61: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/61.jpg)
61
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2 {A,C,B} B 3 2 5 5 6
3 {A,C,B,D} D 3 2 5 5 6 7
4
5
6
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 62: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/62.jpg)
62
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2 {A,C,B} B 3 2 5 5 6
3 {A,C,B,D} D 3 2 5 5 6 7
4 {A,C,B,D,E} E 3 2 5 5 6 7
5
6
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 63: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/63.jpg)
63
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2 {A,C,B} B 3 2 5 5 6
3 {A,C,B,D} D 3 2 5 5 6 7
4 {A,C,B,D,E} E 3 2 5 5 6 7
5 {A,C,B,D,E,F} F 3 2 5 5 6 7
6
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
![Page 64: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/64.jpg)
64
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2 {A,C,B} B 3 2 5 5 6
3 {A,C,B,D} D 3 2 5 5 6 7
4 {A,C,B,D,E} E 3 2 5 5 6 7
5 {A,C,B,D,E,F} F 3 2 5 5 6 7
6 {A,C,B,D,E,F,G} G 3 2 5 5 6 7
A B
C D E
F G
G7
2
3
4
5
1
23
1
62
Solution Paths : A -> B; A ->C; A ->D; A -> B -> E; A ->C -> F; A ->D -> G
![Page 65: Graphs](https://reader035.vdocuments.us/reader035/viewer/2022070321/558e3ec01a28ab8c068b4668/html5/thumbnails/65.jpg)
65
Dijkstra’s algorithm
No. Source min weight
Distance from A
B C D E F G
0 {A} - 3 2 5
1 {A,C} C 3 2 5 6
2 {A,C,B} B 3 2 5 5 6
3 {A,C,B,D} D 3 2 5 5 6 7
4 {A,C,B,D,E} E 3 2 5 5 6 7
5 {A,C,B,D,E,F} F 3 2 5 5 6 7
6 {A,C,B,D,E,F,G} G 3 2 5 5 6 7
A B
C D E
F G
G7
2
3
4
5
1
23
1
62