Hostname: page-component-76d6cb85b7-kcxw8 Total loading time: 0 Render date: 2026-07-17T13:46:49.351Z Has data issue: false hasContentIssue false

Random feedback shift registers and the limit distribution for largest cycle lengths

Published online by Cambridge University Press:  14 February 2023

Richard A. Arratia*
Affiliation:
University of Southern California, Los Angeles, CA 90089, USA
E. Rodney Canfield
Affiliation:
University of Georgia, Athens, GA 30602, USA
Alfred W. Hales
Affiliation:
Center for Communications Research, La Jolla, San Diego, CA 92121, USA
*
*Corresponding author. Email: rarratia@usc.edu
Rights & Permissions [Opens in a new window]

Abstract

For a random binary noncoalescing feedback shift register of width $n$, with all $2^{2^{n-1}}$ possible feedback functions $f$ equally likely, the process of long cycle lengths, scaled by dividing by $N=2^n$, converges in distribution to the same Poisson–Dirichlet limit as holds for random permutations in $\mathcal{S}_N$, with all $N!$ possible permutations equally likely. Such behaviour was conjectured by Golomb, Welch and Goldstein in 1959.

Information

Type
Paper
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution, and reproduction in any medium, provided the original work is properly cited.
Copyright
© The Author(s), 2023. Published by Cambridge University Press
Figure 0

Figure 1. An example, one segment of length 290, where there are three leftmost $(n-1)$-tuple repeats, at (56,153), (120,260) and (135,175).

Figure 1

Figure 2. The same example: one segment of length 290, where there are three leftmost $(n-1)$-tuple repeats, at locations (56,153), (120,260) and (135,175). Now, the locations are plotted in standard Cartesian coordinates.

Figure 2

Figure 3. Coloring. An example, with $k=3$, $n=10,t=90$. The same one segment of length 290, as in Figure 1, where there are three leftmost $(n-1)$-tuple repeats, at (56,153), (120,260) and (135,175). Now the first segment is coloured red, the second yellow and the third blue.

Figure 3

Figure 4. Coloring and cutting; a succinct way to visualise both. The $k$ segments of length $t$ are still shown as they appear along the single segment of length $k(t+n)-n$. We also show the $\left(\substack{k \\[3pt] 2}\right)$$t$ by $t$ squares where matches may occur between two differently coloured length $t$ segments. Note the repeat at (56,153) is a vertex coloured both red and yellow, hence orange. The repeat at (120,260) is a vertex coloured both yellow and blue, hence green. The vertex at (135,175) is coloured yellow twice - we could show it as an extra-saturated yellow but did not. The significance of the diagonals of the small squares is explained in Section 4.3.

Figure 4

Figure 5. Take $n=34$, $N=2^n$ and $t=3 \times (n+N^{.6})-n$. The expected number of leftmost $(n-1)$-tuple repeats is about $\left(\substack{t \\[3pt] 2}\right)/N\doteq 501.4$. The picture shows 500 ‘arrival’ points, giving the locations of repeats, plotted as for one segment of long length $t$. In each $N^{.6}$ by $N^{.6}$ square, the expected number of points is $N^{.2}\doteq 111.4$. The colour scheme is intended to be purple, green, blue across the top row, orange, yellow for the middle and red (magenta) for the bottom.

Figure 5

Figure 6. About 333 of the 500 occurrences of repeats from Figure 5, but now viewed as among $k=3$ segments of length $t=N^{.6}\doteq 1.38 \times 10^6$. The $\left(\substack{k \\[3pt] 2}\right)$$t$ by $t$ above-diagonal squares from Figure 5 are superimposed, so the expected number of points is about $\left(\substack{k \\[3pt] 2}\right) \times N^{.2}\doteq 334.3$. The approximately 167.1 repeats where both occurrences lie in the same segment, corresponding to the $k$ right triangles hugging the diagonal in Figure 5, are not shown. In Section 4.5 we discuss this picture, suggesting scaling for the axes, so that in each colour, the picture is approximately a standard (rate 1 per unit area) two-dimensional Poisson process. The colour scheme is intended to be purple, green, orange.

Figure 6

Figure 7. Toggling. An example with $t=90$ and displacement $d=3$. The same repeat as shown in Figure 3 with location (56,153) and shown by the orange dot in Figure 4. When all $\left(\substack{k \\[3pt] 2}\right)$ squares are superimposed, as in Figure 6, the spatial location becomes $(i,j)=(56,53)$. Before the toggle, we have two segments of length $t=90$; after the toggle, the segments have length $t \pm d$, that is, 93 and 87.

Figure 7

Figure 8. Toggling. This is a continuation of the example in Figure 7, with one repeat with location (56,153), shown by the orange dot in Figure 4. When all $\left(\substack{k \\[3pt] 2}\right)$ squares are superimposed, as in Figure 6, the spatial location becomes $(i,j)=(56,53)$. Now suppose there were an additional repeat, (which would have been shown by a red dot at (53,58) in Figure 4,) shown here in Figure 8 by the pair of red dots for $f$. After the toggle at the orange vertex, vertex 53, along the segment that starts red and finishes yellow, is the same as vertex 55, along the segment that start yellow and finishes red. So, in the logic ${f^{*}}$, we have two matches between the two segments: the original, at (56,53), shown by the orange dots, and a new one, at (53,55), shown by the red dots.

Figure 8

Figure 9. With starting edges $e_1,e_2,e_3$, three segments under the logic $f$ are shown in the top part of the display; the red and yellow segments share a vertex $v^{\#}_1$, coloured orange, early on, the red and blue segments share a vertex $v^{\#}_2$, coloured purple, at a intermediate time, and the yellow and blue segments share a vertex $v^{\#}_3$, coloured green, at a late time. We take ${{f^{*}}}={\textrm{Toggle}}(f,\{v^{\#}_1 \})$ and ${{f^{**}}}={\textrm{Toggle}}(f,\{v^{\#}_1,v^{\#}_2 \})$ to be the logics formed by toggling at $v^{\#}_1$, and at both $v^{\#}_1$ and $v^{\#}_2$. The middle part of the display shows the three segments under ${f^{*}}$, and the bottom part of the display shows the three segments under ${f^{**}}$.

Figure 9

Figure 10. Displacements caused by a single toggle. An example with $t=90$, and three colours, red, yellow, and blue. Say the toggle is at $v^{\#}_2$ occurring at (red,blue) time $(35,40)$, similar to the purple vertex at ($35,37)$ in Figure 9, but with the displacement changed from −2 to −5, for the sake of being easier to see in the two-dimensional picture. We have thrown in several more matches between two different colours, at various earlier and later times, to show the resulting two-dimensional displacements. Red vertices at times greater than 35 have their time increased by 5, and blue vertices at times greater than 40 have their time decreased by 5. Two-dimensional match locations are indicated by a solid circle for the logic $f$ and an open circle for the logic ${f^{*}}$.