11. 11
ประชิด (Adjacency)
ให้ G เป็น กราฟไม่ระบุทิศทาง(undirected
graph) ซึ่งมี ด้าน E, e∈E เขียนด้วยคู่ลำาดับจุด
ยอด {u,v} แล้วจะกล่าวว่า:
u, v เป็น adjacent / neighbors / connected.
• ด้าน e เป็นด้านตกกระทบ(incident) กับ จุดยอด
u และv.
• ด้าน e จะเชื่อมต่อ(connect) ระหว่าง u และ v.
• จุดยอด u และ v ต่างก็เป็นจุดปลายของ ด้าน e.
A
B
C
D
E
e1 e2
e5
e4
e7
e3e6
G1
13. 13
Handshaking Theorem
• ให้ G เป็นกราฟไม่ระบุทิศทาง (simple, multi-,
or pseudo-) แล้ว
Ev
Vv
2)deg( =∑∈
How many vertices are there in a
graph with 30 edges and degree 4
in each vertices?
14. 14
Directed Adjacency Graph
• ให้ G เป็น กราฟระบุทิศทาง เมื่อ u, v เป็น
โหนดใดๆบน 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
15. 15
Directed Degree
• ให้ G เป็น กราฟระบุทิศทาง เมื่อ v เป็นจุดยอด
ใดๆบน 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
18. 18
กราฟสมบูรณ์ (Completed Graphs)
• กราฟแบบ Complet graph ที่มีจุดยอด n จุดซึ่ง
แทนได้ด้วยสัญลักษณ์ Kn คือ กราฟที่ประกอบ
ด้วยด้านเพียง 1 ด้านระหว่างจุดยอดแต่ละคู่ที่
แตกต่างกัน
u,v∈V: u≠v↔{u,v}∈E.
จำานวน ด้านใน Kn เท่ากับ edges.2
)1(1
1
−
=∑
−
=
nn
i
n
i
K1 K2
K3
K4
K5 K6
19. 19
Cycles
• G เป็นกราฟอย่างง่าย แล้ว G จะเป็น cycle Cn
ภายใต้ n≥3
ถ้าเซตของจุดยอด V={v1,v2,… ,vn} แล้ว
E={{v1,v2},{v2,v3},…,{vn−1,vn},{vn,v1}}.
C3 C4 C5 C6 C7
C8
How many edges are there in Cn?
20. 20
Wheels
• G เป็นกราฟอย่างง่าย แล้ว G จะเป็น wheel
Wn, ภายใต้ n≥3, ถ้ากราฟ G เป็น Cn และ
สามารถหา จุดยอด vhub ที่สามารถเชื่อมโยง
ทุกจุดยอดใน Cn เข้าด้วยกัน
{{vhub,v1}, {vhub,v2},…,{vhub,vn}}.
W3 W4 W5 W6 W7
W8
How many edges are there in Wn?
21. 21
n-cubes (hyper-cubes)
• G เป็นกราฟอย่างง่าย, n∈N แล้ว G
เป็นhypercube Qn ถ้า สามารถสร้างกราฟชุด
ที่ 2 Qn-1 โดยที่แต่ละจุดยอดถูกเชื่อมต่อเข้าด้วย
กันในทุกตำาแหน่งที่สอดคล้องกัน เช่น Q0 คือ
hypercube ประกอบด้วยจุดยอด 1 จุดยอด.
Q0
Q1 Q2
Q3
Q4
Number of vertices: 2n
. Number of edges:Exercise to try!
23. 23
• G=(V,E) เป็น bipartite (two-part) ก็ต่อเมื่อ
V = V1∩V2 เมื่อ V1∪V2=∅ และe∈E: ∃v1∈V1,v2∈V2: e={v1,v2}.
• bipartite คือกราฟที่มีสมบัติว่าสามารถแบ่งเซตของจุด
ยอดออกเป็น 2 เซ็ตย่อย โดยที่เซ็ตย่อยทั้งสองนั้นจะมี
เส้นที่เชื่อมระหว่างจุดยอด แต่ต้องไม่มีเส้นเชื่อมจุดยอด
ภายในเซ็ตย่อย เดียวกัน
กราฟสองส่วน(Bipartite Graphs)
V1 V2This definition can easily be adapted for the
case of multigraphs and directed graphs as well.
Can represent with
zero-one matrices.
24. 24
กราฟสองส่วนสมบูรณ์
(Complete Bipartite Graphs)
• เมื่อ m,n∈N, Km,n เป็น complete bipartite graph
ถ้าให้ |V1| = m และ |V2| = n,
แล้ว E = {{v1,v2}|v1∈V1 ∧ v2∈V2}.
– ถ้ามี m จุดยอดในกราฟทางซ้าย
และ n จุดยอดในกราฟทางขวา
แล้วทุกจุดยอดในกราฟทางซ้าย
จะมีเส้นเชื่อมต่อกับทุกจุดยอดกับ
กราฟทางขวา.
K4,3
34. 34
Adjacency Lists
• จัดเก็บอยู่ในรูปตาราง โดยแต่ละแถว จะเก็บจุด
ยอดที่ถูกเชื่อมโยงกับจุดยอดที่สนใจ เช่น จุด
ยอด a มีจุดยอดเชื่อมโยงกับ b และ จุดยอด c.
a b
dc
f
e
Vertex
Adjacent
Vertices
a
b
b, c
a, c, e, f
c a, b, f
d
e b
f c, b
35. 35
เมตริกซ์ประชิด
(Adjacency Matrices)
• ให้ A เป็นเมตริกซ์ และaij เป็นสมาชิกแถวที่ i ,
คอลัมภ์ที่ j แล้ว A จะเรียกว่าเมตริกซ์ประชิด
(Adjacency Matrices) ถ้า
1 เมื่อ มีเส้นเชื่อมโยงระหว่างจุดยอด i และ จุดยอด j
0 เมื่อไม่มีเส้นเชื่อมโยงระหว่างจุดยอด i และ จุดยอด j
aij =
a b
dc
f
e
a
b
c
d
e
f
a b c d e f
0 1 1 0 0 0
1 0 1 0 1 1
1 1 0 0 0 1
0 0 0 0 0 0
0 1 0 0 0 0
0 1 1 0 0 0
36. 36
เมตริกซ์กระทบ
(Incidence matrices)
• ให้ G เป็นกราฟอย่างง่าย โดยที่ v1,v2,v3,….,vn และ
e1,e2,e3,…,em เป็นจุดยอดและ ด้านต่างๆของกราฟ G
เขียนอยู่ในรูปเมตริกซ์ประชิด M (ขนาด n * m)มี
สมาชิกเป็น mij ถ้า mij = 1 เมื่อด้าน ej ตกกระทบบนจุด
vi และ ถ้า mij = 0 แสดงว่าไม่มีด้าน ej ตกกระทบบน
จุด vi
v1 1 0 1 0 0
v2 0 0 1 0 1
v3 1 1 0 1 0
v4 0 0 0 1 1
e1 e2 e3 e4 e5
จากเมตริกซ์ M กราฟประชิดมีรูปร่างอย่างไร ?
M =
41. 41
• G1 จะ ไอโซโมฟิคซ์ กับกราฟ G2 ถ้าสามารถ
แสดงได้ว่าด้าน ระหว่างจุดยอดบนกราฟเหมือน
กัน.a
b
c
d
e
G1
G2
ตัวอย่าง Isomorphism
#vertices =5
----------------
#deg(3)
{a, b, c, e}
#deg=2
{d}
#vertices=5
---------------
#deg(4)
#deg(3)
#deg=2
42. 42
ตัวอย่าง Isomorphism
• G3 จะ ไอโซโมฟิคซ์ กับกราฟ G4 ถ้า
สามารถแสดงได้ว่ามีด้าน ระหว่างจุดยอดบน
กราฟเหมือนกัน.
a
b
cd
e
f
1
2
3
4
65
G3
G4
43. 43
• Test กราฟ G5 เป็น 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
G5
1 2 3
4
5 6 7
G6
46. 46
การเชื่อมโยงบนกราฟ
(Connectivity)
• (กราฟไม่ระบุทิศทาง) ความยาวของเส้นทาง
(path) จากจุดยอด u ไปยังจุดยอด v มีค่า n
คือลำาดับของด้านประชิด จากจุดยอด u ไปยัง
จุดยอด v.
• และเส้นทางจะเป็น circuit ถ้า u=v.
• (กราฟระบุทิศทาง) : ความยาวของเส้นทาง
(path) จากจุดยอด u ไปยังจุดยอด v มีค่า n
คือลำาดับของด้านประชิด จากจุดยอด u ไปยัง
จุดยอด v โดยพิจารณาตามทิศทางของการ
ประชิดระหว่างจุดยอด
48. 48
Euler & Hamilton Paths
• Euler circuit ในกราฟ G คือวงจรอย่างง่ายที่
ประกอบด้วยด้านทุกด้านใน G.
• Euler path ในกราฟ G คือเส้นทางอย่างง่ายที่
ประกอบด้วยด้านทุกด้านใน G.
• Hamilton circuit คือวงจรที่จุดยอดทุกจุด
ในกราฟ G จะถูกเดินผ่านเพียงครั้งเดียว.
• A Hamilton path คือเส้นทางเดินที่จุดยอด
ทุกจุดในกราฟ G จะถูกเดินผ่านเพียงครั้ง
เดียว.
57. 57
ปัญหาระยะทางสั้นที่สุด
(Shortest-Path Problems)
• Single Source Short Path by Dijkstra’s
algorithm
ต้องการหาระยะทางสั้นที่สุดที่จะเดินทาง
จากจุด เริ่มต้น(source) ไปยังจุดอื่นใน G
A B
C D E
F G
G7
2
3
4
5
1
2
3
1
62
0 3 2 5 0 0 0
3 0 0 0 2 0 0
2 0 0 0 0 4 0
5 0 0 0 3 1 2
0 2 0 3 0 0 6
0 0 4 1 0 0 1
0 0 0 2 6 1 0
A B C D E F G
A
B
C
D
E
F
G
62. 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
2
3
1
62
63. 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
2
3
1
62
64. 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
2
3
1
62
Solution Paths : A -> B; A ->C; A ->D; A -> B -> E; A ->C -> F; A ->D -> G
65. 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
2
3
1
62