ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Asst.Prof. Dr.Surasak Mungsing E-mail: Surasak.mu@spu.ac.th
CSC201 Analysis and Design of Algorithms Problem Solving Problem with Graphs: Shortest Path and และ Minimum Spanning Tree Asst.Prof. Dr.Surasak Mungsing Apr-17
2
Sparse Graphs In a sparse graph the number of edges is significantly less than |V| squared. 4/4/2017
3
Dense Graphs In a dense graph most of the vertices are connected by edges. 4/4/2017
4
Adjacency List Representation
In order to run algorithms on graphs we can use one of two representations of them. The first is an adjacency list. Here each vertex has an entry in an array that contains a linked list to the adjacent vertices. 4/4/2017
5
Adjacency-Matrix Representation
Another method of storing the information about the graph is called an adjacency-matrix. Here a V by V matrix is formed with entries 0 or 1. 4/4/2017
6
Directed Graphs A directed graph the edge (u,v) is distinct from the edge (v,u). Here is an example: 4/4/2017
7
Matrix Representation
4/4/2017
8
Weighted Graphs A weighted graph has a real value associated with each edge as in this graph: 4/4/2017
9
Matrix Representation
4/4/2017
10
Single Source Shortest Path
กำหนด (un)weighted, directed graph G = {V, E} มาให้ซึ่งแต่ละ edge มีค่า cost (หรือ weight) เป็นจำนวนบวก Problem: จงหาค่ารวมของ cost ของเส้นทางทีสั้นที่สุดจาก vertex ต้นทางไปยัง vertex ปลายทางอื่นๆ ความยาวของเส้นทางคือคารวมของ cost ของedge ต่างๆบนเส้นทางนั้น ทำไมไม่กำหนดเส้นทางใดเส้นทางหนึ่งไปยังจุดหมายปลายทาง? Application: G คือแผนที่เส้นทางบินของสายการบินซึ่งจะต้องหาเส้นทางบินจากเมืองที่กำหนดให้ไปยังอีกเมืองอื่นๆโดยใช้เวลาเดินทางน้อยที่สุด 4/4/2017
11
รักษา set S ของ vertices ซึ่งรู้ค่าของเส้นทางที่สั้นทีสุดจากต้นทางแล้ว
Dijkstra’s Algorithm รักษา set S ของ vertices ซึ่งรู้ค่าของเส้นทางที่สั้นทีสุดจากต้นทางแล้ว ตอนเริ่มต้น S มีเพียง vertex ต้นทาง เท่านั้น ในแต่ละ step, เราเพิ่ม vertex w ที่เหลือซึ่งมีเส้นทางจาก vertex ต้นทางสั้นทีสุดเข้าไปใน S สมมติว่าทุก edge มี cost เป็นบวก เราสามารถหาเส้นทางที่สั้นที่สุดจากต้นทางไปยัง vertex อื่นโดยผ่านเส้นทางใน S (special path) เท่านั้นได้เสมอ ในทุกๆ step เราใช้ array บันทึกค่าระยะทางที่สั้นที่สุดของ special path ไปยังแต่ละ vertex เสร็จสิ้นการคำนวณเมื่อใน S ครอบคลุมทุก vertex (all paths are special) 4/4/2017
12
Algorithm Directed graph G={V, E}
V={1, 2, …, n}, Vertex 1 is the source Cost-adjacency matrix A[0:n][0:n] Array D[1:n]; at each step D[i] contains the length of the current shortest special path to vertex i Initially D[i] = A[s][i] Array P[1:n] of vertices, such that P[v] contains the vertex immediately before v in the shortest path Initially P[v]=1, v1 4/4/2017
13
Explanations How do we compute D[v]?
At each step: D[v] := min(D[v], D[w]+A[w][v]) How do we update P? After computing D[v], if D[w]+A[w][v]< D[v] then P[v] :=w 4/4/2017
14
Dijkstra: Example G 1 2 5 3 4 Shortest path from 1 to 5?
10 100 30 2 5 10 50 60 3 4 20 Shortest path from 1 to 5? In reverse direction: 53 4 1 4/4/2017
15
An Example inf inf a 7 d 5 2 2 inf 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf
1 7 4 e c 4 inf inf 4/4/2017
16
2 inf a 7 d 5 2 2 5 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 4 4/4/2017
17
2 9 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 4 4/4/2017
18
2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 7 4 4/4/2017
19
2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 7 4 4/4/2017
20
2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 14 1 7 4 e c 4 7 4 4/4/2017
21
2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 13 1 7 4 e c 4 7 4 4/4/2017
22
2 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 13 1 7 4 e c 4 7 4 4/4/2017
23
Shortest Path Tree The unique simple path from s to v in the tree is a shortest path from s to v. 2 8 a d 2 5 2 4 4 b f s 3 13 4 e c 7 4 4/4/2017
24
Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 (1) (2)
Prim’s Algorithm 4/4/2017
25
Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 (3) (4)
Prim’s Algorithm 4/4/2017
26
Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 (5)
Prim’s Algorithm 4/4/2017
27
Prim’s Algorithm (1) (2) (3) (4) (5) (6) 4/4/2017
28
Kruskal’s Algorithm 4/4/2017
29
Kruskal’s Algorithm (2) (3) (1) (4) (6) (5) 4/4/2017
30
4-Apr-17
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.