Weizmann Logo
Electronic Colloquium on Computational Complexity

Under the auspices of the Computational Complexity Foundation (CCF)

Login | Register | Classic Style



TR18-100 | 18th May 2018 06:02

Simple and efficient pseudorandom generators from Gaussian processes


Authors: Eshan Chattopadhyay, Anindya De, Rocco Servedio
Publication: 19th May 2018 15:17
Downloads: 191


We show that a very simple pseudorandom generator fools intersections of $k$ linear threshold functions (LTFs) and arbitrary functions of $k$ LTFs over $n$-dimensional Gaussian space.

The two analyses of our PRG (for intersections versus arbitrary functions of LTFs) are quite different from each other and from previous analyses of PRGs for functions of halfspaces. Our analysis for arbitrary functions of LTFs establishes bounds on the Wasserstein distance between Gaussian random vectors with similar covariance matrices, and combines these bounds with a conversion from Wasserstein distance to "union-of-orthants'' distance from [CST14]. Our analysis for intersections of LTFs uses extensions of the classical Sudakov-Fernique type inequalities, which give bounds on the difference between the expectations of the maxima of two Gaussian random vectors with similar covariance matrices.

For all values of $k$, our generator has seed length $O(\log n) + poly(k)$ for arbitrary functions of $k$ LTFs and $O(\log n) + poly(\log k)$ for intersections of $k$ LTFs. The best previous result, due to [GOWZ10], only gave such PRGs for arbitrary functions of $k$ LTFs when $k=O(\log \log n)$ and for intersections of $k$ LTFs when $k=O({\frac {\log n}{\log \log n}})$. Thus our PRG achieves an $O(\log n)$ seed length for values of $k$ that are exponentially larger than previous work could achieve.

By combining our PRG over Gaussian space with an invariance principle for arbitrary functions of LTFs and with a regularity lemma, we obtain a deterministic algorithm that approximately counts satisfying assignments of arbitrary functions of $k$ general LTFs over $\{0,1\}^n$ in time $poly(n) \cdot 2^{poly(k,1/\eps)}$ for all values of $k$. This algorithm has a $poly(n)$ runtime for $k =(\log n)^c$ for some absolute constant $c>0$, while the previous best $poly(n)$-time algorithms could only handle $k = O(\log \log n)$.

ISSN 1433-8092 | Imprint