Download presentation
Presentation is loading. Please wait.
Published byRosa Sharon Ball Modified over 9 years ago
1
A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College, London
2
Topological Orders 1 2 3 4 76 8 5 9
3
23 45678 1 9 1 2 3 4 76 8 5 9
4
Updating Topological Orders 1 2 3 4 76 8 5 9 23 45678 1 9
5
23 45678 1 9 Affected Region 1 2 3 4 76 8 5 9
6
Updating Topological Orders 23 45678 1 9 Affected Region
7
Updating Topological Orders Unit Change Problem 23 45678 1 9 2004: Pearce, et al. 1990: Alpern, et al. 1996: Marchetti-Spaccamela, et al. 2006: Ajwani, et al. 2009: Bender, et al. 2008: Haeupler, et al. 2005: Katriel, et al. 2007: Liu, et al.
8
123476859 12 3 456789
9
123476859 123456789
10
123476859 12 345 6789 123456789
11
123476859 12 345 6789 123456789 12 34 5 678 9
12
Batch Problem Definition: Given a batch of edge insertions, update the topological order Q) Can we do better than by processing them one at a time?
13
Batch Problem Definition: Given a batch of edge insertions, update the topological order Q) Can we do better than by processing them one at a time? A) Yes!
14
Previous MNR Algorithm 2 3 4 5 678 1 9 Discovery – DFS to identify nodes reachable from tail in affected region
15
Previous MNR Algorithm 23 4 5 67819 Discovery – DFS to identify nodes reachable from tail in affected region
16
Previous MNR Algorithm 23 4 5 6 7819 Discovery – DFS to identify nodes reachable from tail in affected region
17
Previous MNR Algorithm 23 4 5 6 7819 Discovery – DFS to identify nodes reachable from tail in affected region
18
Previous MNR Algorithm 23 4 5 6 7819 Discovery – DFS to identify nodes reachable from tail in affected region
19
Previous MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
20
Previous MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
21
Previous MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
22
Previous MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
23
Previous MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
24
Previous MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
25
MNR Algorithm 23 4 5 6 781 9 Shift – marked nodes up the order, unmarked nodes down the order (in affected region)
26
Our Novel Batch Algorithm Observation – edge insertions which overlap can be processed independently of others
27
Our Novel Batch Algorithm Observation – edge insertions which overlap can be processed independently of others Affected Region
28
Our Novel Batch Algorithm Discovery – identify “target node” for each node reachable from an insertion in affected region 4567213
29
Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region 4567213
30
Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region 4 567213
31
Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region 4567213 444
32
Our Novel Batch Algorithm Discovery – identify “root node” for each node reachable from an insertion in affected region 4567 2 1 3 44411
33
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 4567 2 1 3 44411
34
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 4 11
35
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 4 11
36
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 41 1
37
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 41 1
38
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 41 1
39
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 41 1
40
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 41
41
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 456 7 2 1 3 44 4
42
Our Novel Batch Algorithm Shift – marked nodes up order and unmarked nodes down order; marked nodes moved just past their target 4567 2 1 3
43
Results on Sparse Random Graphs
45
Results on Denser Random Graphs
47
Applications Extensions: –Incremental Cycle Detection Applications: –Pointer Analysis –Software Model Checking –Constraint-based Local Search Algorithms –Dead-lock Detection –Machine Learning –Multiple Sequence Alignment
48
Conclusion That’s all folks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.