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

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

WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 6 Graph 1.

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


งานนำเสนอเรื่อง: "WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 6 Graph 1."— ใบสำเนางานนำเสนอ:

1 WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 6 Graph 1

2 จุดประสงค์ บทเรียนที่ 6 2 มีความรู้ความเข้าใจในเรื่องกราฟ สามารถจำแนกประเภทของกราฟได้ เข้าใจถึงการประยุกต์ใช้กราฟได้ สามารถสร้างตัวแทนของกราฟทั้ง 2 รูปแบบได้ สามารถแปลงจากกราฟไปเป็นการจัดลำดับของโทโปโลจี้ได้ สามารถประยุกต์แก้ปัญหาโจทย์ที่เกี่ยวกับกราฟ โดยวิธีลำดับของ โทโลโลจี้ได้

3 การประยุกต์ใช้ 3 เส้นทางในแผนที่กูเกิ้ล (google map) เส้นทางที่ 1 : 22.3 km เส้นทางจากมหาวิทยาลัยพะเยา ไป กว๊านพะเยา เส้นทางที่ 2 : 20.6 km

4 การประยุกต์ใช้ 4 เส้นทางในแผนที่กูเกิ้ล (google map) การค้นหาข้อมูลเว็บไซต์ของกูเกิ้ล (spider in web crawler) google searching

5 การประยุกต์ใช้ 5 เส้นทางในแผนที่กูเกิ้ล (google map) การค้นหาข้อมูลเว็บไซต์ของกูเกิ้ล (spider in web crawler) เพิ่มประสิทธิภาพเครือข่ายเน็ตเวิร์ค วิเคราะห์ความสัมพันธ์ของเพื่อนใน facebook timeline

6 การประยุกต์ใช้ 6 เส้นทางในแผนที่กูเกิ้ล (google map) การค้นหาข้อมูลเว็บไซต์ของกูเกิ้ล (spider in web crawler) เพิ่มประสิทธิภาพเครือข่ายเน็ตเวิร์ค เพิ่มประสิทธิภาพของข้อมูลที่มีการเชื่อมต่อ เช่น ฐานข้อมูล การวางระบบไฟจราจร การคำนวณหา ช่วงเวลา ในการติดไฟแดง ของสัญญาณไฟ จราจร

7 นิยาม 7 กราฟเป็นการเชื่อมต่อระหว่างจุด เมื่อจุดต่างๆ บรรจุข้อมูล โหนดทั้งหมด เรียกว่า vertices ( โหนดย่อย เรียก vertex) เส้นเชื่อมระหว่างโหนด เรียกว่า edges

8 นิยาม 8 กำหนดให้ G = (V,E) แทนกราฟ เมื่อ V แทนเซตของ vertices ในกราฟ G V = {1,2,0,3,6,8,9,7} E แทนคู่ลำดับของ edge ในกราฟ G แต่ละ edge ของ E สามารถเขียนได้เป็น e = (v,w) เช่น (1,2) หรือ (1,0) E = {(1,2),(1,0),(2,3),(2,6),(2,8),(3,6),(8,9),(9,7) }

9 ประเภทของกราฟ 9  directed graph ถ้าระหว่าง edge มีทิศทาง เช่น e = (1,0), (0,1), (1,2), (3,2)  undirected graph ถ้าระหว่าง edge ไม่มีทิศทาง เช่น e = (1,0), (0,1)

10 Terminology adjacent : vertices ที่อยู่ติดกัน เช่น 1 adjacent 0 และ 2 2. path : เส้นทางเดินระหว่าง vertex โดยมี edge เชื่อม เช่น 1-0, length : จำนวน edge ในเส้นทางนั้นๆ เช่น เส้นทาง 1-0 มี length(1) และ มี length(3) 4. loop : vertex ไป vertex โดยเป็นจุดเดียวกัน e = (v,v) เช่น

11 Terminology cycle path : directed graph มีโอกาสเป็น cycle path ตัวอย่างเช่น : undirected graph มีโอกาสเป็น cycle path มากกว่า เนื่องจากไม่มีลูกศร 6. cyclic graph : กราฟที่มี cycle path 7. acyclic graph : กราฟที่ ไม่มีเส้นทางของ vertex ใด ย้อนกลับมาที่ vertex นั้นๆ

12 Terminology cycle path : directed graph มีโอกาสเป็น cycle path ตัวอย่างเช่น : undirected graph มีโอกาสเป็น cycle path มากกว่า เนื่องจากไม่มีลูกศร 6. cyclic graph : กราฟที่มี cycle path 7. acyclic graph : กราฟที่ ไม่มีเส้นทางของ vertex ใด ย้อนกลับมาที่ vertex นั้นๆ directed acyclic graph (DAG) acyclic graph

13 Terminology in-degree : จำนวน edge ที่ชี้มาจาก vertex นั้น เช่น 2(2) 1(0) 7(1) 9. out-degree : จำนวน edge ที่ชี้ออกจาก vertex นั้น เช่น 2(2) 1(2) 7(0) 10. connected graph : ทุกๆ คู่ของ vertex มี edge เชื่อมต่ออยู่ disconnected graph

14 Graph Types 14 Directed graph Directed acyclic graph cyclic graph Undirected graph cyclic graph complete connected graph weight graph connected graph cyclic graph

15 การสร้างตัวแทนกราฟ 15 Representation of graph

16 adjacency matrix 16 A DC B ABCD A0100 B0011 C1000 D1010 count out-degree

17 adjacency matrix 17 A DC B ABCD A B C D count out-degree

18 adjacency matrix 18 A DC B ABCD A0 B0 C0 D0 count out-degree ไม่มี vertex loop

19 adjacency matrix 19 A DC B ABCD A0100 B0011 C1000 D1010 count out-degree หา ความสัมพันธ์ vertex ที่มี ทิศวิ่งไปหา อีก vertex หนึ่ง

20 adjacency matrix 20 Z Y W PT S R XQ PQRSTWXYZ P Q R S T W X Y Z count out-degree

21 adjacency matrix 21 Z Y W PT S R XQ PQRSTWXYZ P Q R S T W X Y Z count out-degree

22 adjacency list 22 A DC B Out Degree Adjacency list A1B B1C, D C1A D2A, C

23 adjacency list 23 A DC B Out Degree Adjacency list A1B B1C, D C1A D2A, C

24 adjacency list 24 Z Y W PT S R XQ Out DegreeAdjacency list P1R, W Q1X R1X S1T T1W W2S, Y X0- Y1R, Z Z0-

25 adjacency list 25 Z Y W PT S R XQ Out DegreeAdjacency list P1R, W Q1X R1X S1T T1W W2S, Y X0- Y1R, Z Z0-

26 Topological sort 26 การแสดงลำดับของ vertex ใน DAG ( DAG ?) การประยุกต์ใช้งานเช่น - การสร้างคอมไพเลอร์เพื่อประมวลผล inheritance(in java programming) - prerequisites between courses of degree program - scheduling constraints between the task of project

27 Topological sort , 2, 5, 4, 3, 7, 6 - 1, 2, 5, 4, 7, 3, Topological Sort algorithm Create an array of length equal to the number of vertices. While the number of vertices is greater than 0, repeat: o Find in-degree vertex is 0 o Put this vertex in the array. o Delete the vertex from the graph.

28 Topological sort , 2, 5, 4, 3, 7, 6 - 1, 2, 5, 4, 7, 3, In-degree with stack sort Find in-degree vertex is 0 Put this vertex in the array. Delete the vertex from the graph

29 Topological sort , 2, 5, 4, 3, 7, 6 - 1, 2, 5, 4, 7, 3, Find in-degree vertex is 0 Put this vertex in the array. Delete the vertex from the graph

30 Topological sort , 2, 5, 4, 3, 7, 6 - 1, 2, 5, 4, 7, 3, Find in-degree vertex is 0 Put this vertex in the array. Delete the vertex from the graph

31 Topological Sort Example This job consists of 10 tasks with the following precedence rules: Must start with 7, 5, 4 or 9. Task 1 must follow 7. Tasks 3 & 6 must follow both 7 & 5. 8 must follow 6 & 4. 2 must follow must follow 2. Make a directed graph and then a list of ordered pairs that represent these relationships.

32 Must start with 7, 5, 4 or 9. Task 1 must follow 7. Tasks 3 & 6 must follow both 7 & 5. 8 must follow 6 & 4. 2 must follow must follow 2.

33 33 Topological Animation

34 Example 34

35 Example 35

36 Example

37 Example

38 Example

39 Example

40 Example

41 Example

42 Example

43 Example

44 Example

45 Example

46 Example sort142

47 Example sort142143

48 Example sort

49 Example sort

50 Example sort

51 Example sort

52 Example sort

53 Example sort

54 Example sort

55 Example sort

56 Example sort

57 Example sort

58 58 In-degree with stack

59 59 In-degree with stack st sort 1

60 60 In-degree with stack st sort 12

61 61 In-degree with stack st sort 124

62 62 In-degree with stack st sort 124

63 63 In-degree with stack st sort 12435

64 64 out-degree with stack

65 65 out-degree with stack sort 1

66 66 out-degree with stack sort 12

67 67 out-degree with stack sort 124

68 68 out-degree with stack sort 12435

69 Topological sort 69 Complexity - The number of operations is O(|E| + |V|), where |V| - number of vertices, |E| - number of edges. - How many operations are needed to compute the indegrees? Depends on the representation: Adjacency lists: O(|E|) Matrix: O(|V| 2 ) Note that if the graph is complete |E| = O(|V| 2 )

70 Shortest path 70 Dijkstra’s algorithm greedy algorithm

71 Dijkstra’s algorithm 71 Edsger W. Dijkstra: a few select quotes The question of whether computers can think is like the question of whether submarines can swim. Do only what only you can do.


ดาวน์โหลด ppt WATTANAPONG SUTTAPAK SOFTWARE ENGINEERING, SCHOOL OF INFORMATION COMMUNICATION TECHNOLOGY, UNIVERSITY OF PHAYAO Chapter 6 Graph 1.

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


Ads by Google