3 research outputs found
Quantum and approximation algorithms for maximum witnesses of Boolean matrix products
The problem of finding maximum (or minimum) witnesses of the Boolean product
of two Boolean matrices (MW for short) has a number of important applications,
in particular the all-pairs lowest common ancestor (LCA) problem in directed
acyclic graphs (dags). The best known upper time-bound on the MW problem for
n\times n Boolean matrices of the form O(n^{2.575}) has not been substantially
improved since 2006. In order to obtain faster algorithms for this problem, we
study quantum algorithms for MW and approximation algorithms for MW (in the
standard computational model). Some of our quantum algorithms are input or
output sensitive. Our fastest quantum algorithm for the MW problem, and
consequently for the related problems, runs in time
\tilde{O}(n^{2+\lambda/2})=\tilde{O}(n^{2.434}), where \lambda satisfies the
equation \omega(1, \lambda, 1) = 1 + 1.5 \, \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. Next, we consider a relaxed version of the MW
problem (in the standard model) asking for reporting a witness of bounded rank
(the maximum witness has rank 1) for each non-zero entry of the matrix product.
First, by adapting the fastest known algorithm for maximum witnesses, we obtain
an algorithm for the relaxed problem that reports for each non-zero entry of
the product matrix a witness of rank at most \ell in time
\tilde{O}((n/\ell)n^{\omega(1,\log_n \ell,1)}). Then, by reducing the relaxed
problem to the so called k-witness problem, we provide an algorithm that
reports for each non-zero entry C[i,j] of the product matrix C a witness of
rank O(\lceil W_C(i,j)/k\rceil ), where W_C(i,j) is the number of witnesses for
C[i,j], with high probability. The algorithm runs in
\tilde{O}(n^{\omega}k^{0.4653} +n^2k) time, where \omega=\omega(1,1,1).Comment: 14 pages, 3 figure
All-Pairs LCA in DAGs: Breaking through the barrier
Let be an -vertex directed acyclic graph (DAG). A lowest common
ancestor (LCA) of two vertices and is a common ancestor of and
such that no descendant of has the same property. In this paper, we
consider the problem of computing an LCA, if any, for all pairs of vertices in
a DAG. The fastest known algorithms for this problem exploit fast matrix
multiplication subroutines and have running times ranging from
[Bender et al.~SODA'01] down to [Kowaluk and Lingas~ICALP'05]
and [Czumaj et al.~TCS'07]. Somewhat surprisingly, all those
bounds would still be even if matrix multiplication could be
solved optimally (i.e., ). This appears to be an inherent barrier for
all the currently known approaches, which raises the natural question on
whether one could break through the barrier for this problem.
In this paper, we answer this question affirmatively: in particular, we
present an ( for ) algorithm
for finding an LCA for all pairs of vertices in a DAG, which represents the
first improvement on the running times for this problem in the last 13 years. A
key tool in our approach is a fast algorithm to partition the vertex set of the
transitive closure of into a collection of chains and
antichains, for a given parameter . As usual, a chain is a path while an
antichain is an independent set. We then find, for all pairs of vertices, a
\emph{candidate} LCA among the chain and antichain vertices, separately. The
first set is obtained via a reduction to min-max matrix multiplication. The
computation of the second set can be reduced to Boolean matrix multiplication
similarly to previous results on this problem. We finally combine the two
solutions together in a careful (non-obvious) manner
Quantum and Approximation Algorithms for Maximum Witnesses of Boolean Matrix Products
The problem of finding maximum (or minimum) witnesses of the Boolean product of two Boolean matrices (MW for short) has a number of important applications, in particular the all-pairs lowest common ancestor (LCA) problem in directed acyclic graphs (dags). The best known upper time-bound on the MW problem for n× n Boolean matrices of the form O(n2.575) has not been substantially improved since 2006. In order to obtain faster algorithms for this problem, we study quantum algorithms for MW and approximation algorithms for MW (in the standard computational model). Some of our quantum algorithms are input or output sensitive. Our fastest quantum algorithm for the MW problem, and consequently for the related problems, runs in time O~ (n2 + λ / 2) = O~ (n2.434), where λ satisfies the equation ω(1,λ,1)=1+1.5λ and ω(1, λ, 1 ) is the exponent of the multiplication of an n× nλ matrix by an nλ× n matrix. Next, we consider a relaxed version of the MW problem (in the standard model) asking for reporting a witness of bounded rank (the maximum witness has rank 1) for each non-zero entry of the matrix product. First, by adapting the fastest known algorithm for maximum witnesses, we obtain an algorithm for the relaxed problem that reports for each non-zero entry of the product matrix a witness of rank at most ℓ in time O~((n/ℓ)nω(1,lognℓ,1)). Then, by reducing the relaxed problem to the so called k-witness problem, we provide an algorithm that reports for each non-zero entry C[i, j] of the product matrix C a witness of rank O(⌈ WC(i, j) / k⌉ ), where WC(i, j) is the number of witnesses for C[i, j], with high probability. The algorithm runs in O~ (nωk0.4653+ n2 + o ( 1 )k) time, where ω= ω(1, 1, 1 )