SlideShare a Scribd company logo
1 of 65
1
กราฟกราฟ ((Graphs)Graphs)
2
วัตถุประสงค์
•เพื่อศึกษาหลักการเบื้องต้นเกี่ยวกับ
กราฟ (graphs)
•ประยุกต์ความสัมพันธ์ของข้อมูลในรูป
กราฟสำาหรับกระบวนการทาง
คอมพิวเตอร์
3
กราฟคืออะไร?
• ไม่ใช่กราฟในความหมายทางคณิตศาสตร์ที่เกิด
จากการ Plot จุดลงบนแกน x,y
• กราฟในวิชาคณิตศาสตร์ไม่ต่อเนื่องจะหมายถึง
โครงสร้างความสัมพันธ์ซึ่งประกอบด้วย
จุด(หรือจุดยอด) และเส้นเชื่อมโยงระหว่างจุด
หรือจุดยอด เพื่ออธิบายความสัมพันธ์ของสิ่งที่
เราสนใจ
4
การประยุกต์ของกราฟ
• เพื่อแสดงความสัมพันธ์ของสิ่งที่เราสนใจ.
• เครือข่าย(คอมพิวเตอร์ ธุรกิจ) การจัดการ
ตาราง(scheduling) การจัดการระบบ
งาน(flow optimization) การออกแบบวงจร.
5
กราฟอย่างง่าย (Simple Graphs)
• กราฟอย่างง่าย คือ G=(V,E) ซึ่งประกอบด้วย
– เซตของจุดยอด(vertices) หรือจุดยอด(nodes) แทน
ด้วยสัญญลักณ์ V
– เซตของเส้นเชื่อมโยงระหว่างจุดยอดหรือ เรียกอีกอย่าง
ว่า ด้าน(edges) หรือ ด้าน แทนด้วยสัญญลักณ์ E ซึ่ง
แทนด้วยคู่ลำาดับ u,v ∈ V
Visual Representation
of a Simple Graph
6
มัลติกราฟ(Multi-graphs)
• มัลติกราฟ คือ กราฟอย่างง่าย ซึ่งอย่างน้อย
จะต้องมีด้านมากกว่า หนึ่งด้าน เชื่อมระหว่าง
จุดยอดคู่เดียวกันบนกราฟ.
• G=(V, E, f )
f:E→{{u,v}|u,v∈V ∧ u≠v}.
• ตัวอย่าง เช่น ถ้าให้จุดยอดแทนเมืองและให้
ถนนแทนด้าน ในความเป็นจริงก็อาจมีถนน
เชื่อมเมืองได้มากกว่าหนึ่ง เส้นทาง.
Parallel
edges
7
กราฟเทียม(Pseudo-graphs)
• กราฟเทียม หมายถึง มัลติกราฟที่มีจุดยอดหนึ่งจุด
ยอดใดที่ยอมให้มี ด้านเข้าและออกไปยังตัวเอง. (R
may be reflexive.)
• G=(V, E, f ) เมื่อ
f:E→{{u,v}|u,v∈V}. e∈E เรียกว่า ลูบ(loop) ถ้า
f(e)={u,u}={u}.
8
กราฟระบุทิศทาง(Directed
Graphs)
• กราฟระบุทิศทาง(directed graph) หรือ
digraph
ซึ่งจะสอดคล้องกับความสัมพันธ์แบบทวิภาค
(binary relations).
• กราฟระบุทิศทาง(V,E) ประกอบด้วย จุดยอด V
และความสัมพันธ์ทวิภาค E บน V โดยมีการระบุ
ทิศทางความสัมพันธ์ว่าเป็นความสัมพันธ์จากจุด
ยอดใดไปยังจุดยอดใด.
• ตัวอย่างเช่น: V = เซตของคน,
E={(x,y) | x loves y}
9
มัลติกราฟระบุทิศทาง(Directed Multi-
graphs)
• มัลติกราฟระบุทิศทาง คือกราฟระบุทิศทาง
ซึ่งอย่างน้อยจะต้องมี ด้านมากกว่าหนึ่งด้าน
ระหว่างจุดยอดคู่หนึ่งบนกราฟ
• G=(V, E, f ) ประกอบด้วยเซตของ V และ E
ที่ f:E→V×V.
• ตัวอย่าง เช่นให้ V=web pages และ
E=hyperlinks โดย WWW เป็น
directed multigraph...
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
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
12
ดีกรีของจุดยอด(Degree of a
Vertex)
• เมื่อG เป็นกราฟไม่ระบุทิศทาง,และ v∈V.
• ดีกรีของ vใดๆ เขียนด้วย deg(v) หมายถึง
จำานวนของด้านตกกระทบ(incident edges)
ยกเว้นกรณี self-loops นับเพียงสองครั้ง
• จุดยอดที่มีดีกรี 0 เรียกว่า isolated.
• จุดยอดที่มีดีกรี 1 เรียกว่า pendant.
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
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
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
16
Directed Handshaking Theorem
• ให้ G เป็น กราฟระบุทิศทางแล้ว ได้ว่า:
Evvv
VvVvVv
=== ∑∑∑ ∈∈
+
∈
−
)deg(
2
1
)(deg)(deg
17
Special Graph Structures
กราฟอย่างง่ายที่มีลักษณะพิเศษบางรูปแบบ
:
• Complet graphs Kn
• Cycles Cn
• Wheels Wn
• n-Cubes Qn
• Bipartite graphs
• Complete bipartite graphs Km,n
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
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
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
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!
22
n-cubes (hyper-cubes)
กราฟแบบ n-Cubes ซึ่งแทนได้ด้วยสัญลักษณ์ Qn เป็น
กราฟที่มีจำานวนจุด เป็น 2n
โดย n แทนค่าความยาว
ของบิต เช่นถ้ากราฟมี 2 จุด แสดงว่า กราฟแบบ n-
Cubes มีด้านเพียง 1 ด้าน และมีความยาวเพียง 1 บิต
ดังกราฟ Q1และ n-Cubes มีด้าน4ด้านจะมีความยาว
บิตเป็น 2 เช่น Q2 และ n-Cubes มีด้าน 4 จะมีความ
ยาวบิตเป็น 3 เช่น Q3.
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
กราฟสองส่วนสมบูรณ์
(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
25
ตัวอย่าง กราฟสองส่วนสมบูรณ์
26
ตัวอย่าง : กราฟสองส่วน
กราฟ G เป็นกราฟสองส่วนหรือไม่ ?
ตอบ G เป็น กราฟสองส่วน เพราะสามารถแบ่ง
เซตของจุดยอดเป็นสองเซต คือ V1 = {a, d, e, f}
และ V2 = {b, c, g} โดยที่แต่ละจุดภายในเซต
V1 ไม่มีเส้นเชื่อมกัน และแต่ละจุดภายในเซต V2
ก็ไม่มีเส้นเชื่อมเช่นเดียวกัน
27
ตัวอย่าง : กราฟสองส่วน
กราฟ Gและ H เป็นกราฟสองส่วนหรือไม่ ?
28
เฉลย : กราฟสองส่วน
• วิธีทำา กราฟ G เป็นกราฟสองส่วน เพราะ
สามารถแบ่งเซตของจุดเป็นสองเซต คือ
• V1 = {a, b, d} และ V2 ={c, e, f, g}
• โดยที่แต่ละจุดยอดในเซต V1 ไม่มีเส้นเชื่อม
และแต่ละจุดยอดในเซต V2 ก็ไม่มีเส้นเชื่อมเช่น
เดียวกัน (กราฟ G เป็นกราฟสองส่วน
• ไม่จำาเป็นว่าทุกๆ จุดในเซต {a, b, d}ต้องอยู่ติด
กับทุกๆจุดในเซต {c, e, f, g}
• ตัวอย่างเช่น b และ g ไม่ได้อยู่ติดกัน)
29
• กราฟ H ไม่ใช่กราฟสองส่วน เพราะเซตของจุด
ยอดไม่สามารถแบ่งได้เป็น 2 เซตย่อยได้ โดยที่
แต่ละเซตย่อย 2 เซตย่อยนั้น จุดใดๆในเซต
ย่อยนั้นไม่มีเส้นเชื่อมกัน
• ดังนั้นจะไม่สามารถติดต่อจุดสองจุดจาก เซต
ย่อยเดียวกัน (ผู้เรียนควรพิสูจน์โดยพิจารณา
จากจุด a, b, f)
เฉลย : กราฟสองส่วน
30
กราฟย่อย (Subgraphs)
• Subgraph ของกราฟ G=(V,E) คือกราฟ
H=(W,F) เมื่อ W⊆V และ F⊆E.
G H
31
ประยุกต์ของ Subgraph
• บางครั้งเราต้องการเพียงบางส่วนของกราฟเพื่อ
ใช้ในการแก้ปัญหา เช่น เราต้องการเพียงบาง
ส่วนของศูนย์คอมพิวเตอร์ขนาดใหญ่ใน
กรุงเทพฯ เชียงใหม่ ขอนแก่นและสงขลา เรา
สามารถเพิกเฉยกับคอมพิวเตอร์ในศูนย์
คอมพิวเตอร์ที่อื่นๆ และสายโทรศัพท์ทั้งหมดที่
ไม่เชื่อมกับศูนย์คอมพิวเตอร์ทั้ง 4 แห่ง ใน
กราฟสำาหรับระบบขนาดใหญ่ เราสามารถกำาจัด
สิ่งที่เหมือนกันที่เราสนใจของศูนย์คอมพิวเตอร์
ทั้ง 4 แห่งที่เหมือนกันได้และสามารถกำาจัดเส้น
32
Graph Unions
• G1∪G2 เป็น graph union ของกราฟอย่างง่าย
G1=(V1, E1) และ G2=(V2,E2) โดยที่ (V1∪V2, E1∪E2).
33
รูปแทนของกราฟ และไอโซ
มอฟิคซ์
(Graph Representations & Isomorphism)
• Graph representations:
– Adjacency lists.
– Adjacency matrices.
– Incidence matrices.
• Graph isomorphism:
– กราฟสองกราฟจะ isomorphic ก็ต่อเมื่อ กราฟทั้ง
สองเป็นกราฟเดียวกัน.
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
เมตริกซ์ประชิด
(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
เมตริกซ์กระทบ
(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 =
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
v1
v2
v3
v4
38
เมตริกซ์กระทบ
Test: จากกราฟ G ที่กำาหนดให้จงหา เมตริกซ์
ประชิด และ เมตริกซ์กระทบ
v1
v3
v2
v4
e1
e2
e4
e5
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
v1
v2
v3
v4
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
v1
v2
v3
v4
Ans
39
กราฟถอดแบบ(Graph Isomorphism)
นิยาม ให้ G1=(V1, E1) และ G2=(V2, E2) เป็นกราฟ
อย่างง่าย และให้ f:V1→V2 ในแบบสมนัยกัน
ระหว่างเซตของจุดยอดของกราฟ G1และ
กราฟG2 ซึ่งถ้า e1 กับ e2 เป็นด้านประชิดของ
G1 แล้วได้ว่า f(e1) กับ f(e2) จะเป็นด้าน
ประชิดของ G2 แล้วจะกล่าวได้ว่ากราฟ G1 มี
isomorphic กับกราฟ G2 หรืออาจกล่าวได้ว่า
กราฟทั้งสองต่างเป็นกราฟถอดแบบกัน.
v1
v3
v2
v4
e1
e2
e4
e5
e3
G:
v1
v3
v2
v4
e1
e2
e4
e5
e3
H:
40
กราฟ G1 และ G2 เป็นกราฟถอดแบบกันก็ต่อเมื่อ การ
เรียงลำาดับของจุดและด้าน ทำาให้เมตริกซ์ประชิดและเมตริ
กซ์ตกกระทบของกราฟสองชุดนี้ เหมือนกัน
โดยตรวจสอบว่า
1. มีด้านเท่ากันหรือไม่?
2. มีจุดเท่ากันหรือไม่?
3. มี degrees ของแต่ละจุดเมื่อเปรียบเทียบระหว่างกราฟ
2 รูปเท่ากันหรือไม่ ?
4. เมตริกซ์ประชิดระหว่างกราฟ 2 รูปเท่ากันหรือไม่ ?
(โดยการเทียบระหว่างจุดที่สมนัยกัน)
กราฟถอดแบบ(Graph
Isomorphism)
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
ตัวอย่าง Isomorphism
• G3 จะ ไอโซโมฟิคซ์ กับกราฟ G4 ถ้า
สามารถแสดงได้ว่ามีด้าน ระหว่างจุดยอดบน
กราฟเหมือนกัน.
a
b
cd
e
f
1
2
3
4
65
G3
G4
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
44
ให้เลือกทดสอบอย่างน้อย 1
ข้อ
1.กำาหนดกราฟแบบระบุทิศทางมาให้ ให้แสดง
การแทนกราฟด้วย adjacency matrices และ
incidence matrices
2.ให้กราฟแบบไม่ระบุทิศทางมาให้สองกราฟ ให้
แสดงว่ากราฟทั้งสองเป็นกราฟถอดแบบกัน
(15 นาที)
Quiz -V
45
46
การเชื่อมโยงบนกราฟ
(Connectivity)
• (กราฟไม่ระบุทิศทาง) ความยาวของเส้นทาง
(path) จากจุดยอด u ไปยังจุดยอด v มีค่า n
คือลำาดับของด้านประชิด จากจุดยอด u ไปยัง
จุดยอด v.
• และเส้นทางจะเป็น circuit ถ้า u=v.
• (กราฟระบุทิศทาง) : ความยาวของเส้นทาง
(path) จากจุดยอด u ไปยังจุดยอด v มีค่า n
คือลำาดับของด้านประชิด จากจุดยอด u ไปยัง
จุดยอด v โดยพิจารณาตามทิศทางของการ
ประชิดระหว่างจุดยอด
47
ความเชื่อมโยงบน
กราฟ(Connectedness)
•connected graph หมายถึงกราฟที่
ทุกจุดยอดบนกราฟมีเส้นทางที่สามารถเชื่อม
โยงไปยังจุดยอดหนึ่งจุดยอดใดบนกราฟ.
• ให้ A เป็นเมตริกซ์ประชิด บนกราฟ G เส้น
ทางมีความยาวขนาด k จาก vi ไป vj จะ
เท่ากับ (Ak
)i,j.
•cut vertex or cut edge คือจุดยอด
หรือด้านที่เมื่อโดนลบหรือตัดออกไปแล้วจะ
48
Euler & Hamilton Paths
• Euler circuit ในกราฟ G คือวงจรอย่างง่ายที่
ประกอบด้วยด้านทุกด้านใน G.
• Euler path ในกราฟ G คือเส้นทางอย่างง่ายที่
ประกอบด้วยด้านทุกด้านใน G.
• Hamilton circuit คือวงจรที่จุดยอดทุกจุด
ในกราฟ G จะถูกเดินผ่านเพียงครั้งเดียว.
• A Hamilton path คือเส้นทางเดินที่จุดยอด
ทุกจุดในกราฟ G จะถูกเดินผ่านเพียงครั้ง
เดียว.
49
ตัวอย่าง: Euler circuit
A B
C D
A
B
C
D
E
F
G
H
50
ตัวอย่าง: Euler path
?
51
โจทย์คำาถาม
• กราฟแบบไม่ระบุทิศทางในรูปข้างล่างนี้
กราฟใดมีวงจรออยเลอร์ กราฟใดไม่มีวง
จรออยเลอร์ และกราฟใดมีเส้นทางเดินแบ
บออยเลอร์ บ้าง?
52
ตัวอย่าง: Hamilton circuit & Hamilton
path
53
โจทย์คำาถาม
•กราฟแบบไม่มีทิศทางในรูปข้างล่างนี้ กราฟ
ใดมีวงจรแฮมมิลตัน กราฟใดไม่มีวงจรออย
เลอร์ และกราฟใดมีเส้นทางเดินแบบแฮมมิล
ตัน บ้าง?
54
ปัญหาการข้ามสะพาน
Königsberg
• จะมีวิธีการเดินข้ามสะพานทั้งเจ็ดแบบไม่ซำ้ากัน
โดยมีจุดเริ่มต้นและจุดสุดท้ายเป็นจุดเดียวกันได้
หรือไม่?
A
B
C
D
The original problem
Equivalent multigraph
55
Euler Circuit & Euler Path Theorems
• ทฤษฎี: มัลติกราฟของกราฟเชื่อมต่อจะมี
วงจรออยเลอร์(euler circuit ) ถ้าทุกจุด
ยอดต่างก็มีจำานวนดีกรีเป็นจำานวนคู่.
• ทฤษฎี: มัลติกราฟของกราฟเชื่อมต่อจะมี
เส้นทางออยเลอร์(euler path) ถ้าหาได้ว่า
มีจุดยอดสองจุดที่มีดีกรีเป็นจำานวนคี่.
56
ปัญหาระยะทางสั้นที่สุด
(Shortest-Path Problems)
• Single Source Shortest Path by
Dijkstra’s algorithm
ต้องการหาระยะทางสั้นที่สุดที่จะเดินทาง
จากจุด เริ่มต้น(source) ไปยังจุดอื่นใน G
จะทำาอย่างไร ?
A B
C D E
F G
G7
2
3
4
5
1
2
3
1
62
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
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
2
3
1
62
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
2
3
1
62
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
2
3
1
62
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
2
3
1
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
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
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
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

More Related Content

What's hot

ฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดY'Yuyee Raksaya
 
ใบความรู้ที่ 02
ใบความรู้ที่ 02ใบความรู้ที่ 02
ใบความรู้ที่ 02witthawat silad
 
แนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไป
แนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไปแนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไป
แนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไปประพันธ์ เวารัมย์
 
ชุดที่ 1 อัตราส่วน
ชุดที่ 1 อัตราส่วนชุดที่ 1 อัตราส่วน
ชุดที่ 1 อัตราส่วนSataporn Butsai
 
แบบทดสอบเรื่องฟังก์ชัน
แบบทดสอบเรื่องฟังก์ชันแบบทดสอบเรื่องฟังก์ชัน
แบบทดสอบเรื่องฟังก์ชันJiraprapa Suwannajak
 
แสงและการหักเห2
แสงและการหักเห2แสงและการหักเห2
แสงและการหักเห2DAWKAJAY20
 
แบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชัน
แบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชันแบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชัน
แบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชันphaephae
 
ฟังก์ชันต่อเนื่อง (continuous function)
ฟังก์ชันต่อเนื่อง (continuous function)ฟังก์ชันต่อเนื่อง (continuous function)
ฟังก์ชันต่อเนื่อง (continuous function)CC Nakhon Pathom Rajabhat University
 
การคำนวณกระจกนูน
การคำนวณกระจกนูนการคำนวณกระจกนูน
การคำนวณกระจกนูนsripai52
 
ความน่าจะเป็น_9วิชาสามัญ(55-58)
ความน่าจะเป็น_9วิชาสามัญ(55-58)ความน่าจะเป็น_9วิชาสามัญ(55-58)
ความน่าจะเป็น_9วิชาสามัญ(55-58)Thanuphong Ngoapm
 
อนุพันธ์
อนุพันธ์อนุพันธ์
อนุพันธ์krurutsamee
 
แบบฝึกหัด เรื่อง สัดส่วน
แบบฝึกหัด เรื่อง สัดส่วนแบบฝึกหัด เรื่อง สัดส่วน
แบบฝึกหัด เรื่อง สัดส่วนMath and Brain @Bangbon3
 
ทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้นทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้นพัน พัน
 
เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2นายเค ครูกาย
 

What's hot (20)

ฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันไดฟังก์ชันขั้นบันได
ฟังก์ชันขั้นบันได
 
ใบความรู้ที่ 02
ใบความรู้ที่ 02ใบความรู้ที่ 02
ใบความรู้ที่ 02
 
วิชาต้นทุน บทที่ 2 ต้นทุนและงบ 1
วิชาต้นทุน บทที่ 2 ต้นทุนและงบ 1วิชาต้นทุน บทที่ 2 ต้นทุนและงบ 1
วิชาต้นทุน บทที่ 2 ต้นทุนและงบ 1
 
31201mid531
31201mid53131201mid531
31201mid531
 
31201mid521
31201mid52131201mid521
31201mid521
 
แนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไป
แนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไปแนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไป
แนวข้อสอบภาค ก. เล่มที่ 2 ความรู้ความสามารถทั่วไป
 
ชุดที่ 1 อัตราส่วน
ชุดที่ 1 อัตราส่วนชุดที่ 1 อัตราส่วน
ชุดที่ 1 อัตราส่วน
 
แบบทดสอบเรื่องฟังก์ชัน
แบบทดสอบเรื่องฟังก์ชันแบบทดสอบเรื่องฟังก์ชัน
แบบทดสอบเรื่องฟังก์ชัน
 
แสงและการหักเห2
แสงและการหักเห2แสงและการหักเห2
แสงและการหักเห2
 
แบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชัน
แบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชันแบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชัน
แบบทดสอบ พร้อมเฉลย ความสัมพันธ์และฟังก์ชัน
 
ฟังก์ชันต่อเนื่อง (continuous function)
ฟังก์ชันต่อเนื่อง (continuous function)ฟังก์ชันต่อเนื่อง (continuous function)
ฟังก์ชันต่อเนื่อง (continuous function)
 
การคำนวณกระจกนูน
การคำนวณกระจกนูนการคำนวณกระจกนูน
การคำนวณกระจกนูน
 
ความน่าจะเป็น_9วิชาสามัญ(55-58)
ความน่าจะเป็น_9วิชาสามัญ(55-58)ความน่าจะเป็น_9วิชาสามัญ(55-58)
ความน่าจะเป็น_9วิชาสามัญ(55-58)
 
อนุพันธ์
อนุพันธ์อนุพันธ์
อนุพันธ์
 
แบบฝึกทักษะ เรื่อง เอกนาม โดยครูวาสนา พูลศรี
แบบฝึกทักษะ เรื่อง เอกนาม โดยครูวาสนา พูลศรีแบบฝึกทักษะ เรื่อง เอกนาม โดยครูวาสนา พูลศรี
แบบฝึกทักษะ เรื่อง เอกนาม โดยครูวาสนา พูลศรี
 
ค่ามาตรฐาน
ค่ามาตรฐานค่ามาตรฐาน
ค่ามาตรฐาน
 
แบบฝึกหัด เรื่อง สัดส่วน
แบบฝึกหัด เรื่อง สัดส่วนแบบฝึกหัด เรื่อง สัดส่วน
แบบฝึกหัด เรื่อง สัดส่วน
 
รากที่สอง..
รากที่สอง..รากที่สอง..
รากที่สอง..
 
ทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้นทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้น
 
เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2เอกสารประกอบการเรียน พหุนาม ม.2
เอกสารประกอบการเรียน พหุนาม ม.2
 

Viewers also liked

สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้นสรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้นพัน พัน
 
ประมวลการสอน
ประมวลการสอนประมวลการสอน
ประมวลการสอนAkkradet Keawyoo
 
ระบบเลขฐาน
ระบบเลขฐานระบบเลขฐาน
ระบบเลขฐานAkkradet Keawyoo
 
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติAkkradet Keawyoo
 
Distruct week 15 graphs theory (updated)
Distruct week 15 graphs theory (updated)Distruct week 15 graphs theory (updated)
Distruct week 15 graphs theory (updated)Robert Almazan
 
ความน่าจะเป็น
ความน่าจะเป็นความน่าจะเป็น
ความน่าจะเป็นAkkradet Keawyoo
 
กฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s Equationsกฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s EquationsThepsatri Rajabhat University
 

Viewers also liked (14)

สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้นสรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
 
SET
SETSET
SET
 
ประมวลการสอน
ประมวลการสอนประมวลการสอน
ประมวลการสอน
 
Relations
RelationsRelations
Relations
 
Logic
LogicLogic
Logic
 
ระบบเลขฐาน
ระบบเลขฐานระบบเลขฐาน
ระบบเลขฐาน
 
Trees
TreesTrees
Trees
 
Function
FunctionFunction
Function
 
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
 
Distruct week 15 graphs theory (updated)
Distruct week 15 graphs theory (updated)Distruct week 15 graphs theory (updated)
Distruct week 15 graphs theory (updated)
 
ความน่าจะเป็น
ความน่าจะเป็นความน่าจะเป็น
ความน่าจะเป็น
 
58210401119
5821040111958210401119
58210401119
 
กฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s Equationsกฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s Equations
 
Probability
ProbabilityProbability
Probability
 

Similar to Graphs (14)

Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
ทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้นทฤษฎีกราฟเบื้องต้น
ทฤษฎีกราฟเบื้องต้น
 
Graph
GraphGraph
Graph
 
เมทริกซ์ (Matrix)
เมทริกซ์ (Matrix)เมทริกซ์ (Matrix)
เมทริกซ์ (Matrix)
 
Graph
GraphGraph
Graph
 
เวกเตอร์
เวกเตอร์เวกเตอร์
เวกเตอร์
 
Matrix
MatrixMatrix
Matrix
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
Graph
GraphGraph
Graph
 
ทฤษฎีกราฟเบื้องต้น/Graph
ทฤษฎีกราฟเบื้องต้น/Graphทฤษฎีกราฟเบื้องต้น/Graph
ทฤษฎีกราฟเบื้องต้น/Graph
 

Graphs