{"@context":"https:\/\/schema.org\/","@type":"ScholarlyArticle","@id":"#article8445","name":"Pseudorandomness When the Odds are Against You","abstract":"Impagliazzo and Wigderson (STOC 1997) showed that if E=DTIME(2^O(n)) requires size 2^Omega(n) circuits, then every time T constant-error randomized algorithm can be simulated deterministically in time poly(T). However, such polynomial slowdown is a deal breaker when T=2^(alpha*n), for a constant alpha>0, as is the case for some randomized algorithms for NP-complete problems. Paturi and Pudlak (STOC 2010) observed that many such algorithms are obtained from randomized time T algorithms, for T < 2^o(n), with large one-sided error 1-epsilon, for epsilon=2^(-alpha*n), that are repeated 1\/epsilon times to yield a constant-error randomized algorithm running in time T\/epsilon=2^((alpha+o(1))*n). \r\n\r\nWe show that if E requires size 2^Omega(n) nondeterministic circuits, then there is a poly(n)-time epsilon-HSG (Hitting-Set Generator) H:{0,1}^(O(log(n)) + log(1\/epsilon) -> {0,1}^n, implying that time T randomized algorithms with one-sided error 1-epsilon can be simulated in deterministic time poly(T)\/epsilon. In particular, under this hardness assumption, the fastest known constant-error randomized algorithm for k-SAT (for k > 3) by Paturi et al. (J. ACM 2005) can be made deterministic with essentially the same time bound. This is the first hardness versus randomness tradeoff for algorithms for NP-complete problems. We address the necessity of our assumption by showing that HSGs with very low error imply hardness for nondeterministic circuits with \"few\" nondeterministic bits.\r\n\r\nApplebaum et al. (CCC 2015) showed that \"black-box techniques\" cannot achieve poly(n)-time computable epsilon-PRGs (Pseudo-Random Generators) for epsilon=n^-omega(1), even if we assume hardness against circuits with oracle access to an arbitrary language in the polynomial time hierarchy. We introduce weaker variants of PRGs with relative error, that do follow under the latter hardness assumption. Specifically, we say that a function G:{0,1}^r -> {0,1}^n is an (epsilon,delta)-re-PRG for a circuit C if (1-epsilon)*Pr[C(U_n)=1] - delta < Pr[C(G(U_r)=1] < (1+epsilon)*Pr[C(U_n)=1] + delta. We construct poly(n)-time computable (epsilon,delta)-re-PRGs with arbitrary polynomial stretch, epsilon=n^-O(1) and delta=2^(-n^Omega(1)). We also construct PRGs with relative error that fool non-boolean distinguishers (in the sense introduced by Dubrov and Ishai (STOC 2006)).\r\n\r\nOur techniques use ideas from Paturi and Pudlak (STOC 2010), Trevisan and Vadhan (FOCS 2000), Applebaum et al. (CCC 2015). Common themes in our proofs are \"composing\" a PRG\/HSG with a combinatorial object such as dispersers and extractors, and the use of nondeterministic reductions in the spirit of Feige and Lund (Comp. Complexity 1997).","keywords":["Derandomization","pseudorandom generator","hitting-set generator","relative error"],"author":[{"@type":"Person","name":"Artemenko, Sergei","givenName":"Sergei","familyName":"Artemenko"},{"@type":"Person","name":"Impagliazzo, Russell","givenName":"Russell","familyName":"Impagliazzo"},{"@type":"Person","name":"Kabanets, Valentine","givenName":"Valentine","familyName":"Kabanets"},{"@type":"Person","name":"Shaltiel, Ronen","givenName":"Ronen","familyName":"Shaltiel"}],"position":9,"pageStart":"9:1","pageEnd":"9:35","dateCreated":"2016-05-19","datePublished":"2016-05-19","isAccessibleForFree":true,"license":"https:\/\/creativecommons.org\/licenses\/by\/3.0\/legalcode","copyrightHolder":[{"@type":"Person","name":"Artemenko, Sergei","givenName":"Sergei","familyName":"Artemenko"},{"@type":"Person","name":"Impagliazzo, Russell","givenName":"Russell","familyName":"Impagliazzo"},{"@type":"Person","name":"Kabanets, Valentine","givenName":"Valentine","familyName":"Kabanets"},{"@type":"Person","name":"Shaltiel, Ronen","givenName":"Ronen","familyName":"Shaltiel"}],"copyrightYear":"2016","accessMode":"textual","accessModeSufficient":"textual","creativeWorkStatus":"Published","inLanguage":"en-US","sameAs":"https:\/\/doi.org\/10.4230\/LIPIcs.CCC.2016.9","publisher":"Schloss Dagstuhl \u2013 Leibniz-Zentrum f\u00fcr Informatik","isPartOf":{"@type":"PublicationVolume","@id":"#volume6253","volumeNumber":50,"name":"31st Conference on Computational Complexity (CCC 2016)","dateCreated":"2016-05-19","datePublished":"2016-05-19","editor":{"@type":"Person","name":"Raz, Ran","givenName":"Ran","familyName":"Raz"},"isAccessibleForFree":true,"publisher":"Schloss Dagstuhl \u2013 Leibniz-Zentrum f\u00fcr Informatik","hasPart":"#article8445","isPartOf":{"@type":"Periodical","@id":"#series116","name":"Leibniz International Proceedings in Informatics","issn":"1868-8969","isAccessibleForFree":true,"publisher":"Schloss Dagstuhl \u2013 Leibniz-Zentrum f\u00fcr Informatik","hasPart":"#volume6253"}}}