ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยThanik Kosaisook ได้เปลี่ยน 9 ปีที่แล้ว
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.
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.