The design of pseudorandom generators and deterministic approximate counting algorithms for DNF formulas are important challenges in unconditional derandomization. Numerous works on these problems have focused on the subclass of small-read DNF formulas, which are formulas in which each variable occurs a bounded number of times.
Our first main result is a pseudorandom generator which $\eps$-fools $M$-term read-$k$ DNFs using seed length $\poly(k, \log(1/\eps)) \cdot \log M + O(\log n)$. This seed length is exponentially shorter, as a function of both $k$ and $1/\eps$, than the best previous PRG for read-$k$ DNFs. We also give a deterministic algorithm that approximates the number of satisfying assignments of an $M$-term read-$k$ DNF to any desired $(1+\eps)$-multiplicative accuracy in time
\[ \poly(n)\cdot \min\left\{ (M/\eps)^{\poly(k,\log(k/\eps))}, (M/\eps)^{\tilde{O}(\log((k\log M)/\eps))} \right\}. \]
For any constant $k$ this is a PTAS, and our runtime remains almost-polynomial ($M^{\tilde{O}(\log \log M)}$) for $k$ as large as any $\polylog(M)$. Prior to our work, the fastest deterministic algorithm ran in time $M^{\tilde{\Omega}(\log M)}$ even for $k=2$, and no PTAS was known for any non-trivial subclass of DNFs.