Abstract

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 × 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(n2.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(n2.842) time algorithm for real vertex-weighted APSP, which slightly improves a recent result of Chan [STOC-07]. A set of permutations P ⊆ Sn 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 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.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.