Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College,

Similar presentations


Presentation on theme: "A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College,"— Presentation transcript:

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

44

45 Results on Denser Random Graphs

46

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!


Download ppt "A Batch Algorithm for Maintaining a Topological Order David J. Pearce and Paul H.J. Kelly Victoria University of Wellington, New Zealand & Imperial College,"

Similar presentations


Ads by Google