Abstract 1 Introduction 2 Preliminaries 3 The new PRG References

Simplifying Armoni’s PRG

Ben Chen ORCID Department of Computer Science, Tel Aviv University, Israel Amnon Ta-Shma ORCID Department of Computer Science, Tel Aviv University, Israel
Abstract

We propose a simple variant of the INW pseudo-random generator, where blocks have varying lengths, and prove it gives the same parameters as the more complicated construction of Armoni’s 𝖯𝖱𝖦. This shows there is no need for the specialized 𝖯𝖱𝖦s of Nisan and Zuckerman and Armoni, and they can be obtained as simple variants of INW.

For the construction to work we need space-efficient extractors with tiny entropy loss. We use the extractors from [2] instead of [6] taking advantage of the very high min-entropy regime we work with. We remark that using these extractors has the additional benefit of making the dependence on the branching program alphabet Σ correct.

Keywords and phrases:
PRG, ROBP, read-once, random, psuedorandom, armoni, derandomization
Category:
RANDOM
Funding:
Ben Chen: Israel Science Foundation (grant number 443/22).
Amnon Ta-Shma: Israel Science Foundation (grant number 443/22).
Copyright and License:
[Uncaptioned image] © Ben Chen and Amnon Ta-Shma; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Theory of computation Pseudorandomness and derandomization
Editors:
Alina Ene and Eshan Chattopadhyay

1 Introduction

In this paper we revisit the problem of constructing pseudo-random generators (𝖯𝖱𝖦s) against bounded width read-once branching programs (𝖱𝖮𝖡𝖯s).111For a formal definition of 𝖱𝖮𝖡𝖯and 𝖯𝖱𝖦 see Definitions 1 and 2. Nisan [9] constructed a 𝖯𝖱𝖦 ε–fooling length t width w 𝖱𝖮𝖡𝖯 over Σ with seed length Θ(logtlogwt|Σ|ε) using pair-wise independence. Impagliazzo, Nisan and Wigderson [7] gave a variant of the construction with a similar seed length, but using expanders, extractors or samplers instead of pair-wise independence. The INW 𝖯𝖱𝖦 has seed length log|Σ|+Θ(logtlogwtε).

For the special case when the width w of the 𝖱𝖮𝖡𝖯 is much larger then the length of the 𝖱𝖮𝖡𝖯 and the error, i.e., tlogcw,ε2log0.9w for some constant c, Nisan and Zuckerman [10] constructed a different 𝖯𝖱𝖦 with an optimal seed length Θ(logwtε). Armoni [1] recursively used the NZ construction, and with a careful analysis obtained a 𝖯𝖱𝖦 with seed length Θ(logtlogwtεmax{loglogwlogtε,1}) for constant size Σ where t2log1εw for some constant ε>0.

In [8] Armoni’s PRG is instantiated with a specific space-explicit extractor removing the parameters limit, and the resulting seed length is 2log|Σ|+θ(logtlogwtεmax{loglogwlogtε,1}). Armoni’s 𝖯𝖱𝖦 with [8] bridges the gap between INW and NZ - it asymptotically matches INW when t/ε is large, and it matches NZ when t/ε is small compared to w.

In this paper we construct another 𝖯𝖱𝖦 that matches the parameters obtained in Armoni. The surprising thing about our construction is that it avoids altogether the NZ 𝖯𝖱𝖦, and also avoids the recursion in Armoni, and instead it is a direct, simple variant of INW. Saying it differently, Armoni interpolates between two different 𝖯𝖱𝖦 constructions: the NZ 𝖯𝖱𝖦 and the INW 𝖯𝖱𝖦, and his construction is a recursive combination of both. Instead, we show that a simple variant of INW alone gives the same bounds for all parameter regimes.

To understand our new construction, we revisit the INW construction. The main building block behind the INW construction is showing that one can recycle the randomness given to a 𝖯𝖱𝖦, where the recycling is done using an expander, or more generally, a sampler or an extractor. Specifically, instead of applying twice a 𝖯𝖱𝖦 with two independent seeds, one can apply it once (consuming s random bits) and then use a short seed (of length ds) to recycle the s bits and get from it a new seed for the second application of the 𝖯𝖱𝖦. The constructions in [9, 7] preserve the same seed lengths for the two applications of the 𝖯𝖱𝖦s (we say, in short, that INW preserves the block length).

Nisan and Zuckerman observe that the seed needed for the extractor has length d=O(logtε) while the string it acts upon has length s=Ω(logw), and so when t/εw, instead of applying the extractor once, it is more beneficial to apply it u=O(logwlogt/ε) times with independent seeds of length d. Extending these ideas, Armoni implements this idea recursively.

In this paper we suggest an alternative to NZ and Armoni where instead of taking a large u so that ud=s, we keep u=1 and instead track down our losses. Next, we explain this idea in detail.

Suppose we start with a seed y of length s and we want to create from it two seeds for two independent applications of the 𝖯𝖱𝖦. The way INW achieves this is by carving out d bits from y and reserving them for the extractor application. Specifically, say y=yleftyright where yright has length d. Then, in INW, the first 𝖯𝖱𝖦 is called with the seed yleft, and the second 𝖯𝖱𝖦 is called with the seed Ext(yleft,yright), where Ext is an extractor. Thus, the seed length for the first application is sd and the seed length for the second application is the extractor output size, and it suffers the losses the extractor suffers. These include:

  • The amount of information the machine knows about yleft after seeing the output of the first 𝖯𝖱𝖦. This loss amounts to =O(logtwε).

  • The extractor entropy loss, which is 2log1/ε in non-explicit constructions. For the time being let us assume we can achieve a O() loss explicitly, and then this loss is comparable with the first loss.

Thus, the seed loss in the first 𝖯𝖱𝖦 application is d=O(logtε), whereas the loss in the second 𝖯𝖱𝖦 application is larger and is O(logtwε). The two losses are quite different when t/εw.

We then do the obvious. We define a recursive construction, where starting with a seed length s we get two recursive calls, one with seed length sd and one with seed length s, where d=O(logtε) and =O(logwtε). Doing the analysis we find out that we recover the bound log|Σ|+Θ(logtlog(d+1)) in a much simpler way.

To summarize, when t/εw, it is much better to employ the INW strategy with varying block lengths, and doing so gives the correct parameters in a straight forward way. However, NZ and later Armoni try to preserve the block length throughout different calls. This forces NZ to use several calls of the extractor, and later forces Armoni to use specially crafted recursion (and a more careful analysis). What we show here is that all of that is unnecessary, and with varying block lengths the INW construction obtains the same parameters as NZ and Armoni.

For our construction to work, we require space-efficient extractors with small entropy loss. In general, there are non-explicit (k,ϵ) extractors E:{0,1}n×{0,1}d{0,1}m with entropy loss 2log1/ε+O(1), i.e., m=k+d2log1/εO(1), and notice that the entropy loss is independent of k. Kane et al. in [8] instantiated Armoni’s 𝖯𝖱𝖦 with the GUV extractor [6, Theorem 5.10] which has Ω(k) entropy-loss, and they show it is space-efficient. However, Ω(k) loss is too much for us.

In general, the best explicit extractors have Ω(kpoly(logk))) entropy-loss [5, 11]. What saves us here is that we do not need general extractors but rather extractors working in the very-high min-entropy regime, where Δ=nk is small. In this regieme one can split the source to a large block followed by a second small block of length O(Δ), and then use a block-wise extractor. This was implemented in [2]. The resulting extractor is cited in Theorem 4, has low entropy-loss and is space-efficient.

Replacing the lossy extractor used in [8] with the small entropy-loss extractor of [2] has other benefits. It turns out this also reduces the additive dependence on |Σ| from 2log|Σ| to log|Σ|. We summarize the parameters obtained by the previous constructions and by our construction in Table 1.

Table 1: 𝖯𝖱𝖦 for standard order 𝖱𝖮𝖡𝖯.
Seed Size Reference Remarks
Θ(logtlogwt|Σ|ε) [9]
log|Σ|+Θ(logtlogwtε) [7]
Θ(logw) [10] When logw=(t/ε)β for some β>0
2log|Σ|+Θ(logtlogwtεmax{loglogwlogtε,1}) [1] With the extractors of [8]
log|Σ|+Θ(logtlogwtεmax{loglogwlogtε,1}) This paper Also, [1] with the extractor of Theorem 4

We remark that while the improvement in the dependence of Σ may seem insignificant, it can help simplify certain constructions. A notable example is the recent work of Cheng and Wu [3] which employs an iterative process of alternating steps of length and alphabet reductions. Using our 𝖯𝖱𝖦 (and [2] extractor) in the length reduction, the alphabet reduction becomes unnecessary.

2 Preliminaries

[k] denotes the set {1,,k}. For a k×k matrix M and i,j[k], M[i,j] is the value of M at the i’th row and j’th column. M is the spectral norm of M. For every f:[w][w] there is a corresponding w×w boolean matrix Mf such that Mf[i,j]=1 iff f(j)=i. We denote the set of such matrices by SBMw×w (stochastic, boolean matrices).

Definition 1 (𝖱𝖮𝖡𝖯).

Let Σ be an arbitrary subset, w,t. B is a width w length t read once branching program (𝖱𝖮𝖡𝖯) on alphabet Σ if it is a sequence of t functions (B1,B2,,Bt), with Bi:ΣSBMw×w. The evaluation of B on input σ1,σtΣt is the linear operator B(σ1,,σt)=defBt(σt)B1(σ1). We also say B is a (w,t,Σ)𝖱𝖮𝖡𝖯.

Definition 2 (PRG).

Let Σ be an arbitrary subset and s,t. A (s,t,Σ) pseudo random generator is a function PRG:{0,1}sΣt. For ϵ>0 a we say PRG ϵ-fools (w,t,Σ)𝖱𝖮𝖡𝖯 if for every (w,t,Σ)𝖱𝖮𝖡𝖯 B we have:

𝐄σΣtB(σ)𝐄x{0,1}sB(PRG(x)) ϵ

2.1 Extractors

Un denotes the uniform distribution on n bits. The min-entropy of a random source X, denoted (X), is (X)=defminωSupp(X)log1PrxX(x=ω). The statistical distance between two random random variables defined over a domain Ω is SDΩ(X,Y)=def12ωΩ|PrxX[x=ω]PryY[y=ω]|. The statistical distance can be equivalently defined as SDΩ(X,Y)=defmaxf:Ω{0,1}|𝐄xXf(x)𝐄yYf(y)|.

Definition 3 (extractor).

Let n,d,k,m and ϵ>0. A function Ext:{0,1}n×{0,1}d{0,1}m is a (k,ϵ) extractor if for every random variable X over {0,1}n with (X)k it holds that

SD{0,1}m(Ext(X,Ud),Um) ϵ
Theorem 4 ([2] High min-entropy extractor with a small entropy loss).

For n>k, ϵ>0, there is a family of extractors Ehigh:{0,1}n×{0,1}d{0,1}m that is a (k,ϵ) extractor with d=O(log(nk)+log1ϵ) and entropy loss n+dmO(nk+log1/ε). Furthermore, Ehigh(x,y) can be computed in time poly(nlog1ϵ) and space O(nk+logn+log1ε) for all x,y.

Cohen et al. in [4] used a more careful space analysis to show a different space bound O(logm+logmlog1ε). For our analysis the bound of Chattopadhyay and Liao is sufficient.

3 The new PRG

As explained in the introduction, we apply the INW approach, each time replacing a seed with two different (shorter) seeds. Unlike INW the two seeds have different lengths. Specifically, if we start with an initial seed of length s, then we can only pass sd bits to the first application of the 𝖯𝖱𝖦, because we need to keep d independent bits for the recycling step. When we recycle the randomness, say with an extractor, and get a new seed for the second 𝖯𝖱𝖦, we can recover these d bits but we have two new losses:

  • An entropy loss of order O(log1ε), where ε is the extractor error, which we take to be Θ(εt), where ε is the final error, and t is the final number of blocks, and,

  • A logwε loss, that is due because of the information collected in the width w branching program after seeing the output of the first 𝖯𝖱𝖦.

Thus, for the second application we lose =O(logwtε) bits. As d=O(logtε) it is significantly smaller than when wtε. To summarize, we replace a length s seed, with two seeds, one of length sd and the other of length s where d=O(logtε) and =O(logwtε), where the constants behind the big O notation are essentially determined by the seed length and the entropy loss of the explicit extractor that we use (plus an additive logwε added to ).

Having the recycling building block, we use it recursively and define a sequence of 𝖯𝖱𝖦s. Applying this idea in a tree-like construction, we have the following construction:

Construction 5 (INW with varying block lengths).

Given a set Σ of size 2σ, parameters d, and a family

{Exts:{0,1}sd×{0,1}d{0,1}s}s

define a family {Ps:{0,1}sΣt(s)}s of 𝖯𝖱𝖦s by

Ps(xy) ={Psd(x)Ps(Exts(x,y))If |xy|σ+The first σ bits of xyIf σ|xy|<σ+

where t(s)=1 for σs<σ+ and t(s)=t(sd)+t(s) for sσ+.

Theorem 6.

Let w,t, ε>0, Σ a set of size 2σ. There is a large enough constant c s.t. setting d=clogtε, =clogwtε, and assuming a family {Exts:{0,1}sd×{0,1}d{0,1}s}s of (sdlogwε,ε) extractors, for ε=ε6t, we have that {Ps}s as in Construction 5 is a (s,t,Σ)𝖯𝖱𝖦 ε-fooling (w,t,Σ)𝖱𝖮𝖡𝖯 with s=σ+Θ(logwtεlogtlog(2+logwlogtε)).

We need to analyze the output length of the generator and to prove correctness. We start by analyzing the output length of Ps as a function of the seed length s.

3.1 The seed length

Recall that t(s) is the number of Σ symbols the 𝖯𝖱𝖦 Ps outputs. Conversely, let us denote by s(t) the seed length needed to output t symbols, i.e., the minimal integer such that t(st)t. Then,

Lemma 7 (seed size).

s(t)=σ+Θ(logtlog(d+1)).

To gain intuition, think of the recursion in Construction 5 as a tree, where at the root we have our initial seed, and every non-leaf vertex with seed length s>σ+ has two children: a left child with seed length sd, and a right child with seed length s. The leaves are vertices with σs<σ+. A path in the tree is a sequence of left and right steps from the root to a leaf. Unlike the 𝖯𝖱𝖦s of [9, 7, 1], where all paths have the same length, in our construction different paths have different lengths.

Proof.

Without a loss of generality assume is an integer multiple of d and sσ is an integer multiple of .

t(s)=kL,kRkLd+kR+σ=s(kL+kRkR)

where kL (resp. kR) is the number of left (resp. right) steps in the path. While we need a lower bound on t(s) we also derive a matching upper bound.

For the upper bound we notice that kLsσd and kRsσ. As (a+bb) is an increasing monotone function for each parameter a and b when the other is fixed, we conclude that

(kL+kRkR)(sσd+sσsσ)

Also notice that there are at most sσ legal assignments for KR.

For the lower bound we notice that kL=sσ2d and kR=sσ2 is a legal assignment. Thus,

(sσ2d+sσ2sσ2)t(s)sσ(sσd+sσsσ)

Using sσlogt(s) and (nk)k(nk)(enk)k, we get

t(s) (sσ2d+sσ2sσ2)sσ2=(d+1)sσ2
t(s) logt(s)(esσd+sσsσ)sσ=logt(s)(ed+e)sσ

Thus, for sup=σ+2logtlog(d+1) we have t(sup)(d+1)supσ2=t and therefore s(t)sup. Similarly, for slow=σ+log(t/logt)log(ed+e) we have t(slow)logt(slow)(ed+e)slowσ=tlogt and therefore s(t)slow. I.e.,

logtlogtlog(ed+e)s(t)σ2logtlog(d+1)

We conclude that

s(t)=σ+Θ(logtlog(d+1)),

proving Lemma 7.

3.2 Correctness

Lemma 8 (Following [7]).

Suppose

  • P1 is a (s1,t1,Σ)𝖯𝖱𝖦 that ϵ1-fools (w,t1,Σ)𝖱𝖮𝖡𝖯, and,

  • P2 is a (s2,t2,Σ)𝖯𝖱𝖦 that ϵ2-fools (w,t2,Σ)𝖱𝖮𝖡𝖯,

for some s1,s2,t1,t2,d and ϵ1,ϵ2>0. Further assume

  • E:{0,1}s1×{0,1}d{0,1}s2 is a (s1logwε,ε) extractor.

Then G:{0,1}s1×{0,1}dΣt1+t2 defined by

G(x,y) =P1(x)P2(E(x,y))

(3ε+ϵ1+ϵ2)-fools (w,t1+t2,Σ)𝖱𝖮𝖡𝖯.

The main difference between Lemma 8 and the corresponding lemma in [7] is that P1 and P2 take different input lengths. For completeness we give the proof:

Proof.

Let B be a (w,t=t1+t2,Σ)-𝖱𝖮𝖡𝖯. The main claim is

Claim 9.

𝐄xUs1,yUdB(P1(x)P2(E(x,y)))𝐄xUs1,yUs2B(P1(x)P2(y))3ε.

Proof.

Let v be the state in layer t1 of B reached after taking a walk on B according to P1(x). We split our expectation into two cases.

  • We reach a vertex v that has at most 2s1εw sources. Using the union bound over the states, we see that the probability over x of this event is at most ε. This gives an error of at most ε.

  • We reach a vertex v that has at least 2s1εw sources. In this case, the min-entropy of x conditioned on v is at least s1logwε. Since E is an (s1logwε,ε) extractor, from the adversary point of view, the distributions E(x,Ud) and Us2 are ε statistically close, and therefore this adds at most 2ε to the distance.

This proves Claim 9.

Thus,

𝐄x,yB(P1(x)P2(E(x,y)))𝐄σΣtB(σ)
𝐄x,yB(P1(x)P2(E(x,y)))𝐄x,yB(P1(x)P2(y))+
𝐄x,yB(P1(x)P2(y))𝐄σΣt1,yB(σP2(y))+
𝐄σΣt1,yB(σP2(y))𝐄σΣtB(σ)

The first expression is bounded by 3ε by Claim 9, the second expression by ε1 because P1 fools (w,t1,Σ)𝖱𝖮𝖡𝖯 and the third by ε2 because P2 fools (w,t2,Σ)𝖱𝖮𝖡𝖯, completing the proof of Lemma 8.

Once we know how the error accumulates in a single application we can deduce how it accumulates throughout the tree:

Lemma 10 (error accumulation).

Ps ε′′-fools (w,t(s),Σ)𝖱𝖮𝖡𝖯 for ε′′=3(t(s)1)ε.

Proof.

(of Lemma 10) By induction on s. For s<σ+ the 𝖯𝖱𝖦 returns truly uniform bits. Let us prove for sσ+. By Lemma 8, ϵsϵsd+ϵs+3ε. By induction ϵs3ε(t(sd)1)+3ε(t(s)1)+3ε=3ε(t(sd)+t(s)1). The proof is complete using t(s)=t(sd)+t(s).

Lemma 7 together with Lemma 8 prove Theorem 6, because ε′′3t(s)ε6tεε.

References

  • [1] Roy Armoni. On the derandomization of space-bounded computations. In International Workshop on Randomization and Approximation Techniques in Computer Science, pages 47–59. Springer, 1998. doi:10.1007/3-540-49543-6_5.
  • [2] Eshan Chattopadhyay and Jyun-Jie Liao. Optimal error pseudodistributions for read-once branching programs. arXiv preprint arXiv:2002.07208, 2020. arXiv:2002.07208.
  • [3] Kuan Cheng and Ruiyang Wu. Weighted pseudorandom generators for read-once branching programs via weighted pseudorandom reductions. arXiv preprint arXiv:2502.08272, 2025. doi:10.48550/arXiv.2502.08272.
  • [4] Gil Cohen, Dean Doron, Ori Sberlo, and Amnon Ta-Shma. Approximating iterated multiplication of stochastic matrices in small space. In Proceedings of the 55th Annual ACM Symposium on Theory of Computing, pages 35–45, 2023. doi:10.1145/3564246.3585181.
  • [5] Zeev Dvir, Swastik Kopparty, Shubhangi Saraf, and Madhu Sudan. Extensions to the method of multiplicities, with applications to kakeya sets and mergers. SIAM Journal on Computing, 42(6):2305–2328, 2013. doi:10.1137/100783704.
  • [6] Venkatesan Guruswami, Christopher Umans, and Salil Vadhan. Unbalanced expanders and randomness extractors from parvaresh–vardy codes. Journal of the ACM (JACM), 56(4):1–34, 2009. doi:10.1145/1538902.1538904.
  • [7] Russell Impagliazzo, Noam Nisan, and Avi Wigderson. Pseudorandomness for network algorithms. In Proceedings of the twenty-sixth annual ACM symposium on Theory of computing, pages 356–364, 1994. doi:10.1145/195058.195190.
  • [8] Daniel M Kane, Jelani Nelson, and David P Woodruff. Revisiting norm estimation in data streams. arXiv preprint arXiv:0811.3648, 2008. arXiv:0811.3648.
  • [9] Noam Nisan. Pseudorandom generators for space-bounded computations. In Proceedings of the twenty-second annual ACM symposium on Theory of computing, pages 204–212, 1990. doi:10.1145/100216.100242.
  • [10] Noam Nisan and David Zuckerman. Randomness is linear in space. Journal of Computer and System Sciences, 52(1):43–52, 1996. doi:10.1006/JCSS.1996.0004.
  • [11] Amnon Ta-Shma and Christopher Umans. Better condensers and new extractors from parvaresh-vardy codes. In 2012 IEEE 27th Conference on Computational Complexity, pages 309–315. IEEE, 2012. doi:10.1109/CCC.2012.25.