SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

การลำเลียงอาหารในพืช
การลำเลียงอาหารในพืชการลำเลียงอาหารในพืช
การลำเลียงอาหารในพืชdnavaroj
 
ศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนา
ศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนาศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนา
ศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนาpentanino
 
แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่
แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่
แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่Chon Chom
 
บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2
บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2
บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2Princess Chulabhorn's College, Chiang Rai Thailand
 
การนำหลักสูตรไปใช้
การนำหลักสูตรไปใช้การนำหลักสูตรไปใช้
การนำหลักสูตรไปใช้DuangdenSandee
 
การแก้สมการ
การแก้สมการการแก้สมการ
การแก้สมการAon Narinchoti
 
หลักการแก้สมการเกี่ยวกับเลขยกกำลัง
หลักการแก้สมการเกี่ยวกับเลขยกกำลังหลักการแก้สมการเกี่ยวกับเลขยกกำลัง
หลักการแก้สมการเกี่ยวกับเลขยกกำลังkroojaja
 
แบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยม
แบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยมแบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยม
แบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยมKamolthip Boonpo
 
โครงสร้างและหน้าที่ของใบ
โครงสร้างและหน้าที่ของใบโครงสร้างและหน้าที่ของใบ
โครงสร้างและหน้าที่ของใบThanyamon Chat.
 
3.2 การแก้สมการกำลังสองตัวแปรเดียว 
3.2 การแก้สมการกำลังสองตัวแปรเดียว 3.2 การแก้สมการกำลังสองตัวแปรเดียว 
3.2 การแก้สมการกำลังสองตัวแปรเดียว Somporn Amornwech
 
รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...
รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...
รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...BlogAseanTraveler
 
รูปสี่เหลี่ยม ป.5.pdf
รูปสี่เหลี่ยม ป.5.pdfรูปสี่เหลี่ยม ป.5.pdf
รูปสี่เหลี่ยม ป.5.pdfssuser29b0ec
 
วิธีสอนการแก้ปัญหาแบบ 5 ขั้น
วิธีสอนการแก้ปัญหาแบบ 5 ขั้นวิธีสอนการแก้ปัญหาแบบ 5 ขั้น
วิธีสอนการแก้ปัญหาแบบ 5 ขั้นFern's Phatchariwan
 
พันธุกรรม
พันธุกรรมพันธุกรรม
พันธุกรรมIzmHantha
 
ฟังก์ชัน1
ฟังก์ชัน1ฟังก์ชัน1
ฟังก์ชัน1Inmylove Nupad
 

Was ist angesagt? (20)

การลำเลียงอาหารในพืช
การลำเลียงอาหารในพืชการลำเลียงอาหารในพืช
การลำเลียงอาหารในพืช
 
ศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนา
ศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนาศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนา
ศึกษาการพัฒนาภาวะผู้นำตามแนวพระพุทธศาสนา
 
แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่
แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่
แบบฝึกทักษะเมทริกซ์ เล่ม 1 ระบบสมการเชิงเส้น เผยแพร่
 
บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2
บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2
บทบาทสหรัฐอเมริกาหลังสงครามโลกครั้งที่ 2
 
การนำหลักสูตรไปใช้
การนำหลักสูตรไปใช้การนำหลักสูตรไปใช้
การนำหลักสูตรไปใช้
 
การแก้สมการ
การแก้สมการการแก้สมการ
การแก้สมการ
 
69 การนับและความน่าจะเป็น ตอนที่4_ทฤษฎีบททวินาม
69 การนับและความน่าจะเป็น ตอนที่4_ทฤษฎีบททวินาม69 การนับและความน่าจะเป็น ตอนที่4_ทฤษฎีบททวินาม
69 การนับและความน่าจะเป็น ตอนที่4_ทฤษฎีบททวินาม
 
หลักการแก้สมการเกี่ยวกับเลขยกกำลัง
หลักการแก้สมการเกี่ยวกับเลขยกกำลังหลักการแก้สมการเกี่ยวกับเลขยกกำลัง
หลักการแก้สมการเกี่ยวกับเลขยกกำลัง
 
Math in natural
Math in naturalMath in natural
Math in natural
 
แบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยม
แบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยมแบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยม
แบบฝึกทักษะชุดที่ 1-ค่าประจำหลักของทศนิยม
 
โครงสร้างและหน้าที่ของใบ
โครงสร้างและหน้าที่ของใบโครงสร้างและหน้าที่ของใบ
โครงสร้างและหน้าที่ของใบ
 
3.2 การแก้สมการกำลังสองตัวแปรเดียว 
3.2 การแก้สมการกำลังสองตัวแปรเดียว 3.2 การแก้สมการกำลังสองตัวแปรเดียว 
3.2 การแก้สมการกำลังสองตัวแปรเดียว 
 
16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ
16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ
16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ
 
รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...
รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...
รายงานโครงการคอมพิวเตอร์ กลุ่ม Blog 5 สถานที่ท่องเที่ยวยอดนิยมในแต่ละประเทศสม...
 
Human3
Human3Human3
Human3
 
รูปสี่เหลี่ยม ป.5.pdf
รูปสี่เหลี่ยม ป.5.pdfรูปสี่เหลี่ยม ป.5.pdf
รูปสี่เหลี่ยม ป.5.pdf
 
วิธีสอนการแก้ปัญหาแบบ 5 ขั้น
วิธีสอนการแก้ปัญหาแบบ 5 ขั้นวิธีสอนการแก้ปัญหาแบบ 5 ขั้น
วิธีสอนการแก้ปัญหาแบบ 5 ขั้น
 
44 ตรีโกณมิติ ตอนที่1_อัตราส่วนตรีโกณมิติ
44 ตรีโกณมิติ ตอนที่1_อัตราส่วนตรีโกณมิติ44 ตรีโกณมิติ ตอนที่1_อัตราส่วนตรีโกณมิติ
44 ตรีโกณมิติ ตอนที่1_อัตราส่วนตรีโกณมิติ
 
พันธุกรรม
พันธุกรรมพันธุกรรม
พันธุกรรม
 
ฟังก์ชัน1
ฟังก์ชัน1ฟังก์ชัน1
ฟังก์ชัน1
 

Andere mochten auch

สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้นสรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้นพัน พัน
 
ประมวลการสอน
ประมวลการสอนประมวลการสอน
ประมวลการสอน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
 
ทฤษฎีกราฟ
ทฤษฎีกราฟทฤษฎีกราฟ
ทฤษฎีกราฟNAMFON Supattra
 
กฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s Equationsกฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s EquationsThepsatri Rajabhat University
 

Andere mochten auch (17)

Graph1
Graph1Graph1
Graph1
 
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้นสรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
สรุปสาระสำคัญทฤษฎีกราฟเบื้องต้น
 
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
 
Graph theory
Graph theoryGraph theory
Graph theory
 
ทฤษฎีกราฟ
ทฤษฎีกราฟทฤษฎีกราฟ
ทฤษฎีกราฟ
 
กฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s Equationsกฎของ Hamilton และ Lagrange’s Equations
กฎของ Hamilton และ Lagrange’s Equations
 
Probability
ProbabilityProbability
Probability
 

Ähnlich wie Graphs (15)

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