Average-Case Analysis of Online Topological Ordering

Many applications like pointer analysis and incremental compilation require maintaining a topological ordering of the nodes of a directed acyclic graph (DAG) under dynamic updates. All known algorithms for this problem are either only analyzed for worst-case insertion sequences or only evaluated experimentally on random DAGs. We present the first average-case analysis of online topological ordering algorithms. We prove an expected runtime of O(n2 polylog(n)) under insertion of the edges of a complete DAG in a random order for the algorithms of Alpern et al. (SODA, 1990), Katriel and Bodlaender (TALG, 2006), and Pearce and Kelly (JEA, 2006). This is much less than the best known worst-case bound O(n2.75) for this problem.

[1]  Mikhail J. Atallah,et al.  Algorithms and Theory of Computation Handbook , 2009, Chapman & Hall/CRC Applied Algorithms and Data Structures series.

[2]  Thomas W. Reps,et al.  On Competitive On-Line Algorithms for the Dynamic Priority-Ordering Problem , 1994, Inf. Process. Lett..

[3]  B. Bollobás The evolution of random graphs , 1984 .

[4]  P. Erdos,et al.  On the evolution of random graphs , 1984 .

[5]  Uri Zwick,et al.  A fully dynamic reachability algorithm for directed graphs with an almost linear update time , 2004, STOC '04.

[6]  Daniele Frigioni,et al.  Fully Dynamic Shortest Paths and Negative Cycles Detection on Digraphs with Arbitrary Arc Weights , 1998, ESA.

[7]  Daniele Frigioni,et al.  A Uniform Approach to Semi-Dynamic Problems on Digraphs , 1998, Theor. Comput. Sci..

[8]  Boris Pittel,et al.  A phase transition phenomenon in a random directed acyclic graph , 2001 .

[9]  Thomas W. Reps,et al.  On the Computational Complexity of Dynamic Graph Problems , 1996, Theor. Comput. Sci..

[10]  Ulrich Meyer,et al.  An O(n2.75) algorithm for online topological ordering , 2006, Electron. Notes Discret. Math..

[11]  Giuseppe F. Italiano,et al.  Incremental algorithms for minimal length paths , 1991, SODA '90.

[12]  Paul H. J. Kelly,et al.  A dynamic topological sort algorithm for directed acyclic graphs , 2007, ACM J. Exp. Algorithmics.

[13]  Alan M. Frieze,et al.  Random graphs , 2006, SODA '06.

[14]  Paul F. Dietz,et al.  Two algorithms for maintaining order in a list , 1987, STOC.

[15]  Alberto Marchetti-Spaccamela,et al.  Maintaining a Topological Order Under Edge Insertions , 1996, Inf. Process. Lett..

[16]  Bowen Alpern,et al.  Incremental evaluation of computational circuits , 1990, SODA '90.

[17]  Paul Erdös,et al.  On the Maximal Number of Strongly Independent Vertices in a Random Acyclic Directed Graph , 1984 .

[18]  Chris Hankin,et al.  Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis , 2004, Software Quality Journal.

[19]  Paul H. J. Kelly,et al.  A Dynamic Algorithm for Topologically Sorting Directed Acyclic Graphs , 2004, WEA.

[20]  Alberto Marchetti-Spaccamela,et al.  On-line Graph Algorithms for Incremental Compilation , 1993, WG.

[21]  Hans L. Bodlaender,et al.  Online topological ordering , 2005, SODA '05.

[22]  A. Rbnyi ON THE EVOLUTION OF RANDOM GRAPHS , 2001 .

[23]  Béla Bollobás,et al.  Degree sequences of random graphs , 1981, Discret. Math..

[24]  Ulrich Meyer,et al.  An O(n2.75) Algorithm for Online Topological Ordering , 2006, SWAT.

[25]  Béla Bollobás,et al.  Random Graphs: Notation , 2001 .

[26]  Boris G. Pittel,et al.  A phase transition phenomenon in a random directed acyclic graph , 2001, Random Struct. Algorithms.