งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Asst.Prof. Dr.Surasak Mungsing

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Asst.Prof. Dr.Surasak Mungsing"— ใบสำเนางานนำเสนอ:

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, v1 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: 53 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


ดาวน์โหลด ppt Asst.Prof. Dr.Surasak Mungsing

งานนำเสนอที่คล้ายกัน


Ads by Google