Weizmann Logo
ECCC
Electronic Colloquium on Computational Complexity

Under the auspices of the Computational Complexity Foundation (CCF)

Login | Register | Classic Style



REPORTS > DETAIL:

Revision(s):

Revision #2 to TR06-111 | 6th September 2006 00:00

Faster algorithms for finding lowest common ancestors in directed acyclic graphs Revision of: TR06-111

RSS-Feed

Abstract:

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(n^{2+\lambda})$, where $\lambda $
satisfies the equation $\omega(1, \lambda, 1) = 1 + 2 \, \lambda $
and $\omega(1, \lambda, 1)$ is the exponent of the multiplication of
an $n \times n^{\lambda}$ matrix by an $n^{\lambda} \times n$
matrix. By the currently best bounds on $\omega(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 \emph{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 \le n^{\alpha}$,
where $\alpha \approx 0.294$, our algorithm runs in time
asymptotically the same as that of multiplying two $n \times n$
matrices, that is, $O(n^{\omega})$; 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^{\omega} \cdot h^{0.468})$. This algorithm is faster than our
algorithm for arbitrary dags for all values of $h \le n^{0.42}$.


Revision #1 to TR06-111 | 1st September 2006 00:00

Faster algorithms for finding lowest common ancestors in directed acyclic graphs Revision of: TR06-111





Revision #1
Authors: Artur Czumaj, Miroslaw Kowaluk, Andrzej Lingas
Accepted on: 1st September 2006 00:00
Downloads: 1419
Keywords: 


Abstract:

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(n^{2+\lambda})$, where $\lambda $
satisfies the equation $\omega(1, \lambda, 1) = 1 + 2 \, \lambda $
and $\omega(1, \lambda, 1)$ is the exponent of the multiplication of
an $n \times n^{\lambda}$ matrix by an $n^{\lambda} \times n$
matrix. By the currently best bounds on $\omega(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 \emph{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 \le n^{\alpha}$,
where $\alpha \approx 0.294$, our algorithm runs in time
asymptotically the same as that of multiplying two $n \times n$
matrices, that is, $O(n^{\omega})$; 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^{\omega} \cdot h^{0.468})$. This algorithm is faster than our
algorithm for arbitrary dags for all values of $h \le n^{0.42}$.


Paper:

TR06-111 | 18th July 2006 00:00

Faster algorithms for finding lowest common ancestors in directed acyclic graphs





TR06-111
Authors: Artur Czumaj, Miroslaw Kowaluk, Andrzej Lingas
Publication: 31st August 2006 15:50
Downloads: 3485
Keywords: 


Abstract:

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 a natural approach that solves the all-pairs LCA
problem for the input dag 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(n^{2.575}).

Our additional contribution is a faster algorithm for solving the all-pairs LCA problem in graphs of small depth.



ISSN 1433-8092 | Imprint