Faster algorithms for finding lowest common ancestors in directed acyclic graphs

Artur Czumaj, Miroslaw Kowaluk, Andrzej Lingas

    Forskningsoutput: TidskriftsbidragArtikel i vetenskaplig tidskriftPeer review

    Sammanfattning

    We present two new methods for finding a lowest common ancestor (LCA) for each pair of vertices of a directed acyclic graph (dag) on n vertices and m edges. The first method is surprisingly natural and solves the all-pairs LCA problem for the input dag on n vertices and m edges in time 0 (n m). The second method relies on a novel reduction of the all-pairs LCA problem to the problem of finding maximum witnesses for Boolean matrix product. We solve the latter problem (and hence also the all-pairs LCA problem) in time 0 (n (2+lambda)), where A satisfies the equation to (1, lambda, I) = 1 + 2 lambda and w (1, lambda, 1) is the exponent of the multiplication of an n x n (lambda) matrix by an n (lambda) x n matrix. By the currently best known bounds on w 1, lambda, 1), the running time of our algorithm is O (n (2.575)). Our algorithm improves the previously known O (n (2.688)) time-bound for the general all-pairs LCA problem in dags by Bender et al. Our additional contribution is a faster algorithm for solving the all-pairs lowest common ancestor problem in dags of small depth, where the depth of a dag is defined as the length of the longest path in the dag. For all dags of depth at most h <= n alpha where alpha approximate to 0.294, our algorithm runs in a time that is asymptotically the same as that required for multiplying two n x n matrices, that is, O (n (w)); we also prove that this running time is optimal even for dags of depth 1. For dags with depth h > n (alpha) the running time of our algorithm is at most O (n (w) ho (0.468)). This algorithm is faster than our algorithm for arbitrary dags for all values of h <= n (0.42). (C) 2007 Elsevier B. V. All rights reserved.
    Originalspråkengelska
    Sidor (från-till)37-46
    TidskriftTheoretical Computer Science
    Volym380
    Nummer1-2
    DOI
    StatusPublished - 2007

    Ämnesklassifikation (UKÄ)

    • Datavetenskap (datalogi)

    Fingeravtryck

    Utforska forskningsämnen för ”Faster algorithms for finding lowest common ancestors in directed acyclic graphs”. Tillsammans bildar de ett unikt fingeravtryck.

    Citera det här