Treffer: Faster algorithms for finding lowest common ancestors in directed acyclic graphs

Title:
Faster algorithms for finding lowest common ancestors in directed acyclic graphs
Source:
Automata, languages and programming (ICALP 2005)Theoretical computer science. 380(1-2):37-46
Publisher Information:
Amsterdam: Elsevier, 2007.
Publication Year:
2007
Physical Description:
print, 18 ref
Original Material:
INIST-CNRS
Document Type:
Konferenz Conference Paper
File Description:
text
Language:
English
Author Affiliations:
Department of Computer Science, University of Warwick, Coventry CV4 7AL, United Kingdom
Institute of Informatics, Warsaw University, Warsaw, Poland
Department of Computer Science, Lund University, 22100 Lund, Sweden
ISSN:
0304-3975
Rights:
Copyright 2008 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems

Mathematics
Accession Number:
edscal.18821612
Database:
PASCAL Archive

Weitere Informationen

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 O(nm). 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 O (n2+λ), where A satisfies the equation ω (1, A, 1) = 1 + 2 A and w (1, A, 1) is the exponent of the multiplication of an n x nλ matrix by an nλ x n matrix. By the currently best known bounds on ω(1, λ, 1), the running time of our algorithm is O (n2.575). Our algorithm improves the previously known O (n2.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 It ≤ nα, where α ≈ 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ω); we also prove that this running time is optimal even for dags of depth 1. For dags with depth h > nα , the running time of our algorithm is at most O (nω. h0.468). This algorithm is faster than our algorithm for arbitrary dags for all values of h> n0.42..