TY - GEN
T1 - More applications of the polynomial method to algorithm design
AU - Abboud, Amir
AU - Williams, Ryan
AU - Yu, Huacheng
N1 - Publisher Copyright:
Copyright © 2015 by the Society for Industrial and Applied Mathmatics.
PY - 2015
Y1 - 2015
N2 - In low-depth circuit complexity, the polynomial method is a way to prove lower bounds by translating weak circuits into low-degree polynomials, then analyzing properties of these polynomials. Recently, this method found an application to algorithm design: Williams (STOC 2014) used it to compute all-pairs shortest paths in n3/2ω√log n) time on dense n-node graphs. In this paper, we extend this methodology to solve a number of problems in combinatorial pattern matching and Boolean algebra, considerably faster than previously known methods. First, we give an algorithm for Boolean Orthogonal Detection, which is to detect among two sets A, B ⊆ {0, 1 }d of size n if there is an x ∈ A and y ∈ B such that (a;, y) = 0. For vectors of dimension d = c(n) log n, we solve Boolean Orthogonal Detection in n2-1/o(logc(n)) tjme by a Monte Carlo randomized algorithm. We apply this as a subroutine in several other new algorithms: In Batch Partial Match, we are given n query strings from from {0,1,∗}c(n)log n (∗ is a "don't care"), n strings from {0, 1}c(n)log n to determine for each query whether or not there is a string matching the query. We solve this problem in n2-1/o(log c(c)) time by a Monte Carlo randomized algorithm. Let t ≤ v be integers. Given a DNF F on clogt variables with t terms, and v arbitrary assignments on the variables, F can be evaluated on all v assignments in v · t1-1/o(log n) time with high probability. There is a randomized algorithm that solves the Longest Common Substring with don't cares problem on two strings of length n in k1.5n2/2ω(√log n) time. Given two strings S, T of length n, there is a randomized algorithm that computes the length of the longest substring of S that has Edit-Distance less than k to a substring of T in Symmetric Boolean Constraint Satisfaction Problems (CSPs) with n variables and m constraints are solvable in poly(m) 2n(l-l/o(log mn)) time time.
AB - In low-depth circuit complexity, the polynomial method is a way to prove lower bounds by translating weak circuits into low-degree polynomials, then analyzing properties of these polynomials. Recently, this method found an application to algorithm design: Williams (STOC 2014) used it to compute all-pairs shortest paths in n3/2ω√log n) time on dense n-node graphs. In this paper, we extend this methodology to solve a number of problems in combinatorial pattern matching and Boolean algebra, considerably faster than previously known methods. First, we give an algorithm for Boolean Orthogonal Detection, which is to detect among two sets A, B ⊆ {0, 1 }d of size n if there is an x ∈ A and y ∈ B such that (a;, y) = 0. For vectors of dimension d = c(n) log n, we solve Boolean Orthogonal Detection in n2-1/o(logc(n)) tjme by a Monte Carlo randomized algorithm. We apply this as a subroutine in several other new algorithms: In Batch Partial Match, we are given n query strings from from {0,1,∗}c(n)log n (∗ is a "don't care"), n strings from {0, 1}c(n)log n to determine for each query whether or not there is a string matching the query. We solve this problem in n2-1/o(log c(c)) time by a Monte Carlo randomized algorithm. Let t ≤ v be integers. Given a DNF F on clogt variables with t terms, and v arbitrary assignments on the variables, F can be evaluated on all v assignments in v · t1-1/o(log n) time with high probability. There is a randomized algorithm that solves the Longest Common Substring with don't cares problem on two strings of length n in k1.5n2/2ω(√log n) time. Given two strings S, T of length n, there is a randomized algorithm that computes the length of the longest substring of S that has Edit-Distance less than k to a substring of T in Symmetric Boolean Constraint Satisfaction Problems (CSPs) with n variables and m constraints are solvable in poly(m) 2n(l-l/o(log mn)) time time.
UR - http://www.scopus.com/inward/record.url?scp=84938283811&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84938283811&partnerID=8YFLogxK
U2 - 10.1137/1.9781611973730.17
DO - 10.1137/1.9781611973730.17
M3 - Conference contribution
AN - SCOPUS:84938283811
T3 - Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms
SP - 218
EP - 230
BT - Proceedings of the 26th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2015
PB - Association for Computing Machinery
T2 - 26th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2015
Y2 - 4 January 2015 through 6 January 2015
ER -