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

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

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 1 2 0 9 6 8 37

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) 1 2 0 9 6 8 37 1 2 0 9 6 8 37

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

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

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

13 Terminology 13 8. 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 เชื่อมต่ออยู่ 1 2 0 9 6 8 37 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 P001001000 Q000000100 R000000100 S000010000 T000001000 W000100010 X000000000 Y001000001 Z000000000 count out-degree

21 adjacency matrix 21 Z Y W PT S R XQ PQRSTWXYZ P001001000 Q000000100 R000000100 S000010000 T000001000 W000100010 X000000000 Y001000001 Z000000000 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 2 4 5 6 7 3 1

27 Topological sort 27 - 1, 2, 5, 4, 3, 7, 6 - 1, 2, 5, 4, 7, 3, 6 2 4 5 6 7 3 1 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 28 - 1, 2, 5, 4, 3, 7, 6 - 1, 2, 5, 4, 7, 3, 6 2 4 5 6 7 3 1 In-degree with stack 1234567 1 0000000 2 1000000 3 1001000 4 1100100 5 0100000 6 0011001 7 0001100 sort Find in-degree vertex is 0 Put this vertex in the array. Delete the vertex from the graph. 1254376

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

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

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 4. 10 must follow 2. Make a directed graph and then a list of ordered pairs that represent these relationships.

32 9 1 7 3 5 4 6 8 2 10 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 4. 10 must follow 2.

33 33 Topological Animation http://droidsans.com/dtac-trinet-explained

34 Example 34

35 Example 35

36 Example 36 14 2

37 Example 37 14 2 14 3

38 Example 38 37 0 14 2 14 3

39 Example 39 37 8 37 0 14 2 14 3

40 Example 40 37 8 37 0 14 2 14 3 32 1

41 Example 41 37 8 37 0 14 2 14 3 32 1 34 1

42 Example 42 37 8 37 0 14 2 14 3 32 1 34 1 32 6

43 Example 43 37 8 37 0 14 2 14 3 32 1 34 1 32 6 32 2

44 Example 44 37 8 37 0 14 2 14 3 32 1 34 1 32 6 32 2 42 1 40 1

45 Example 45 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000

46 Example 46 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142

47 Example 47 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143

48 Example 48 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321

49 Example 49 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322

50 Example 50 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326

51 Example 51 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341

52 Example 52 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341370

53 Example 53 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341370378

54 Example 54 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341370378401

55 Example 55 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341370378401402

56 Example 56 142143321322326341370378401402 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341370378401402

57 Example 57 142143321322326341370378401402 142143321322326341370378401421 1420100000000 1430010011100 3210001100000 3220000000011 3260000000011 3410000000010 3700000000000 3780000000010 4010000000000 4210000000000 sort142143321322326341370378401402

58 58 In-degree with stack 12345 1 00000 2 10000 3 10010 4 11000 5 01010

59 59 In-degree with stack 12345 1 00000 2 10000 3 10010 4 11000 5 01010 1 st sort 1

60 60 In-degree with stack 12345 1 00000 2 10000 3 10010 4 11000 5 01010 1 st sort 12

61 61 In-degree with stack 12345 1 00000 2 10000 3 10010 4 11000 5 01010 1 st sort 124

62 62 In-degree with stack 12345 1 00000 2 10000 3 10010 4 11000 5 01010 1 st sort 124

63 63 In-degree with stack 12345 1 00000 2 10000 3 10010 4 11000 5 01010 1 st sort 12435

64 64 out-degree with stack 12345 1 01110 2 00011 3 00000 4 00101 5 00000

65 65 out-degree with stack 12345 1 01110 2 00011 3 00000 4 00101 5 00000 sort 1

66 66 out-degree with stack 12345 1 01110 2 00011 3 00000 4 00101 5 00000 sort 12

67 67 out-degree with stack 12345 1 01110 2 00011 3 00000 4 00101 5 00000 sort 124

68 68 out-degree with stack 12345 1 01110 2 00011 3 00000 4 00101 5 00000 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