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).
翻译:(n\\\\\\2.575}) 找到两个运算器(MW) 的最大(或最小) 证人的布尔级产品的问题有许多重要的应用, 特别是导向环形图( dags) 中所有帕最低的普通始发者( LCA) 问题。 在表O(n\\\\\\2.575}) 的ntime 上已知的MW问题的上限时间范围( 或最低) 。 2006年以来, 在为此问题获取快速的算法时, 我们为 MW 和 MW 近似算法研究量算法( 在标准计算模型中 ) 。 我们的一些量算法是输入的或输出的 。 我们对于 MWA 问题, 因此, 我们最快的量算算法在时间 {\\\\\ lambda} 中运行的量值运算, 时间 (n\\\\\\ a lama) 时间, 时间的每个解算器解算器解算器解算器的下, 。