Fast Exact Algorithms Using Hadamard Product of Polynomials
Abstract
Let C be an arithmetic circuit of poly(n) size given as input that computes a polynomial f∈F[X], where X=\x1,x2,…,xn\ and F is any field where the field arithmetic can be performed efficiently. We obtain new algorithms for the following two problems first studied by Koutis and Williams Kou08, Wi09, KW16. k-MLC: Compute the sum of the coefficients of all degree-k multilinear monomials in the polynomial f. k-MMD: Test if there is a nonzero degree-k multilinear monomial in the polynomial f. Our algorithms are based on the fact that the Hadamard product f Sn,k, is the degree-k multilinear part of f, where Sn,k is the kth elementary symmetric polynomial. 1. For k-MLC problem, we give a deterministic algorithm of run time O*(nk/2+c k) (where c is a constant), answering an open question of Koutis and Williams [ICALP'09]KW16. As corollaries, we show O*(n k/2)-time exact counting algorithms for several combinatorial problems: k-Tree, t-Dominating Set, m-Dimensional k-Matching. 2. For k-MMD problem, we give a randomized algorithm of run time 4.32k· poly(n,k). Our algorithm uses only poly(n,k) space. This matches the run time of a recent algorithm BDH18 for k-MMD which requires exponential (in k) space. Other results include fast deterministic algorithms for k-MLC and k-MMD problems for depth three circuits.