TY - GEN
T1 - Efficient algorithms on sets of permutations, dominance, and real-weighted APSP
AU - Yuster, Raphael
PY - 2009
Y1 - 2009
N2 - Sets of permutations play an important role in the design of some efficient algorithms. In this paper we design two algorithms that manipulate sets of permutations. Both algorithms, each solving a different problem, use fast matrix multiplication techniques to achieve a significant improvement in the running time over the naive solutions. For a set of permutations P ⊂ Sn we say that i k-dominates j if the number of permutations π ∈ P for which π(i) < π(j) is k. The dominance matrix of P is the n x n matrix DP where DP(i, j) = k if and only if i k-dominates j. We give an efficient algorithm for computing Dp using fast rectangular matrix multiplication. In particular, when |P| = n our algorithm runs in O(n 2.684) time. Computing the dominance matrix of permutations is computationally equivalent to the dominance problem in computational geometry. Thus, our algorithm slightly improves upon a well-known O(n2.688) time algorithm of Matousek for the dominance problem. Permutation dominance is used, together with several other ingredients, to obtain a truly sub-cubic algorithm for the All Pairs Shortest Paths (APSP) problem in real-weighted directed graphs, where the number of distinct weights emanating from each vertex is O(n0.338). A special case of this algorithm implies an O(n 2.842) time algorithm for real vertex-weighted APSP, which slightly improves a recent result of Chan [STOC-07]. A set of permutations P ⊂ S n is fully expanding if the product of any two elements of P yields a distinct permutation. Stated otherwise, |P2| = |P|2 where P2 ⊂ Sn is the set of products of two elements of P. We present a randomized algorithm that computes |P2| and hence decides if P is fully expanding. The algorithm also produces a table that, for any σ1, σ2, σ3, σ4 ∈ P, answers the query σ1σ 2 = σ3σ4 in Õ(1) time. The algorithm uses, among other ingredients, a combination of fast matrix multiplication and polynomial identity testing. In particular, for |P| = n our algorithm runs in O(nω) time where ω < 2.376 is the matrix multiplication exponent. We note that the naive deterministic solution for this problem requires Θ(n3) time.
AB - Sets of permutations play an important role in the design of some efficient algorithms. In this paper we design two algorithms that manipulate sets of permutations. Both algorithms, each solving a different problem, use fast matrix multiplication techniques to achieve a significant improvement in the running time over the naive solutions. For a set of permutations P ⊂ Sn we say that i k-dominates j if the number of permutations π ∈ P for which π(i) < π(j) is k. The dominance matrix of P is the n x n matrix DP where DP(i, j) = k if and only if i k-dominates j. We give an efficient algorithm for computing Dp using fast rectangular matrix multiplication. In particular, when |P| = n our algorithm runs in O(n 2.684) time. Computing the dominance matrix of permutations is computationally equivalent to the dominance problem in computational geometry. Thus, our algorithm slightly improves upon a well-known O(n2.688) time algorithm of Matousek for the dominance problem. Permutation dominance is used, together with several other ingredients, to obtain a truly sub-cubic algorithm for the All Pairs Shortest Paths (APSP) problem in real-weighted directed graphs, where the number of distinct weights emanating from each vertex is O(n0.338). A special case of this algorithm implies an O(n 2.842) time algorithm for real vertex-weighted APSP, which slightly improves a recent result of Chan [STOC-07]. A set of permutations P ⊂ S n is fully expanding if the product of any two elements of P yields a distinct permutation. Stated otherwise, |P2| = |P|2 where P2 ⊂ Sn is the set of products of two elements of P. We present a randomized algorithm that computes |P2| and hence decides if P is fully expanding. The algorithm also produces a table that, for any σ1, σ2, σ3, σ4 ∈ P, answers the query σ1σ 2 = σ3σ4 in Õ(1) time. The algorithm uses, among other ingredients, a combination of fast matrix multiplication and polynomial identity testing. In particular, for |P| = n our algorithm runs in O(nω) time where ω < 2.376 is the matrix multiplication exponent. We note that the naive deterministic solution for this problem requires Θ(n3) time.
UR - http://www.scopus.com/inward/record.url?scp=70349131974&partnerID=8YFLogxK
U2 - 10.1137/1.9781611973068.103
DO - 10.1137/1.9781611973068.103
M3 - Conference contribution
AN - SCOPUS:70349131974
SN - 9780898716801
T3 - Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms
SP - 950
EP - 957
BT - Proceedings of the 20th Annual ACM-SIAM Symposium on Discrete Algorithms
PB - Association for Computing Machinery (ACM)
T2 - 20th Annual ACM-SIAM Symposium on Discrete Algorithms
Y2 - 4 January 2009 through 6 January 2009
ER -