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

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

CSC201 Analysis and Design of Algorithms CSC201 Analysis and Design of Algorithms Problem Solving Problem with Graphs: Shortest Path and และ Minimum Spanning.

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


งานนำเสนอเรื่อง: "CSC201 Analysis and Design of Algorithms CSC201 Analysis and Design of Algorithms Problem Solving Problem with Graphs: Shortest Path and และ Minimum Spanning."— ใบสำเนางานนำเสนอ:

1 CSC201 Analysis and Design of Algorithms CSC201 Analysis and Design of Algorithms Problem Solving Problem with Graphs: Shortest Path and และ Minimum Spanning Tree Asst.Prof. Dr.Surasak Mungsing Aug-141

2 8/1/20142 Sparse Graphs In a sparse graph the number of edges is significantly less than |V| squared.

3 8/1/20143 Dense Graphs In a dense graph most of the vertices are connected by edges.

4 8/1/20144 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.

5 8/1/20145 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.

6 8/1/20146 Directed Graphs A directed graph the edge (u,v) is distinct from the edge (v,u). Here is an example:

7 8/1/20147 Matrix Representation

8 8/1/20148 Weighted Graphs A weighted graph has a real value associated with each edge as in this graph:

9 8/1/20149 Matrix Representation

10 8/1/ Single Source Shortest Path  กำหนด (un)weighted, directed graph G = {V, E} มาให้ซึ่งแต่ละ edge มีค่า cost ( หรือ weight) เป็น จำนวนบวก  Problem: จงหาค่ารวมของ cost ของเส้นทางทีสั้น ที่สุดจาก vertex ต้นทางไปยัง vertex ปลายทาง อื่นๆ  ความยาวของเส้นทางคือคารวมของ cost ของ edge ต่างๆบนเส้นทางนั้น  ทำไมไม่กำหนดเส้นทางใดเส้นทางหนึ่งไปยัง จุดหมายปลายทาง ?  Application: G คือแผนที่เส้นทางบินของสายการ บินซึ่งจะต้องหาเส้นทางบินจากเมืองที่กำหนดให้ ไปยังอีกเมืองอื่นๆโดยใช้เวลาเดินทางน้อยที่สุด

11 8/1/ 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)

12 8/1/ 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

13 8/1/ 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

14 8/1/ Dijkstra: Example G Shortest path from 1 to 5? In reverse direction: 5  3  4  1

15 8/1/ An Example a f e c b d s inf 2

16 8/1/ a f e c b d s inf 2

17 8/1/ a f e c b d s inf 2

18 8/1/ a f e c b d s inf 2

19 8/1/ a f e c b d s inf 2

20 8/1/ a f e c b d s

21 8/1/ a f e c b d s

22 8/1/ a f e c b d s

23 8/1/ a f e c b d s Shortest Path Tree The unique simple path from s to v in the tree is a shortest path from s to v.

24 8/1/ Minimum Spanning Tree Prim’s Algorithm (1) (2) v1 v2 v3v4 v5 v6 v7

25 8/1/ (3) (4) v1 v2 v3v4 v5 v6 v7 Prim’s Algorithm Minimum Spanning Tree

26 8/1/ (5) Minimum Spanning Tree v1 v2 v3v4 v5 v6 v7 Prim’s Algorithm

27 8/1/ Prim’s Algorithm (1) (2) (3) (4) (5) (6)

28 8/1/ Kruskal’s Algorithm

29 8/1/ (1) (2) (3) (4) (5) (6) Kruskal’s Algorithm

30 1-Aug-14 30


ดาวน์โหลด ppt CSC201 Analysis and Design of Algorithms CSC201 Analysis and Design of Algorithms Problem Solving Problem with Graphs: Shortest Path and และ Minimum Spanning.

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


Ads by Google