arXiv++ Combinatorics

Browse math.CO papers from arXiv

binary de bruijn sequence

10 papers tagged with this keyword
2022-06-09
Nonbinary Counterparts of the Prefer-Same and Prefer-Opposite de Bruijn Sequences
The well known prefer-one, prefer-opposite, and prefer-same binary de Bruijn sequences are all constructed using simple preference rules. We apply the technique of preference functions of span one to define q-ary sequences that generalize the prefer-opposite and prefer-same sequences and we present some of their basic properties that are shared with their binary versions. In particular, we show that the prefer-higher sequence (the nonbinary counter-part of the prefer-one sequence) is obtained from a homomorphic image of the proposed prefer-opposite, when repetitions are cleaned up. This mirrors a known relationship between the binary versions. We also perform calculations that demonstrate that the discrepancy profile of the proposed sequences is similar to that of the binary case.
2021-08-17 v2
Arbitrary-length analogs to de Bruijn sequences
Published in CPM 2022 • View PublicationBIB
Let $\widetildeα$ be a length-$L$ cyclic sequence of characters from a size-$K$ alphabet $\mathcal{A}$ such that the number of occurrences of any length-$m$ string on $\mathcal{A}$ as a substring of $\widetildeα$ is $\lfloor L / K^m \rfloor$ or $\lceil L / K^m \rceil$. When $L = K^N$ for any positive integer $N$, $\widetildeα$ is a de Bruijn sequence of order $N$, and when $L \neq K^N$, $\widetildeα$ shares many properties with de Bruijn sequences. We describe an algorithm that outputs some $\widetildeα$ for any combination of $K \geq 2$ and $L \geq 1$ in $O(L)$ time using $O(L \log K)$ space. This algorithm extends Lempel's recursive construction of a binary de Bruijn sequence. An implementation written in Python is available at https://github.com/nelloreward/pkl.
A Graph Joining Greedy Approach to Binary de Bruijn Sequences
Using greedy algorithms to generate de Bruijn sequences is a classical approach that has produced numerous interesting theoretical results. This paper investigates an algorithm which we call the Generalized Prefer-Opposite (GPO). It includes all prior greedy algorithms, with the exception of the Fleury Algorithm applied on the de Bruijn graph, as specific instances. The GPO Algorithm can produce any binary periodic sequences with nonlinear complexity at least two on input a pair of suitable feedback function and initial state. In particular, a sufficient and necessary condition for the GPO Algorithm to generate binary de Bruijn sequences is established. This requires the use of feedback functions with a unique cycle or loop in their respective state graphs. Moreover, we discuss modifications to the GPO Algorithm to handle more families of feedback functions whose state graphs have multiple cycles or loops. These culminate in a graph joining method. Several large classes of feedback functions are subsequently used to illustrate how the GPO Algorithm and its modification into the Graph Joining Prefer-Opposite (GJPO) Algorithm work in practice.
An Efficiently Generated Family of Binary de Bruijn Sequences
Published in Discrete Mathematics, Volume 344, Issue 6, June 2021, 112368 • View PublicationBIB
We study how to generate binary de Bruijn sequences efficiently from the class of simple linear feedback shift registers with feedback function $f(x_0, x_1, \ldots, x_{n-1}) = x_0 + x_1 + x_{n-1}$ for $n \geq 3$, using the cycle joining method. Based on the properties of this class of LFSRs, we propose two new generic successor rules, each of which produces at least $2^{n-3}$ de Bruijn sequences. These two classes build upon a framework proposed by Gabric, Sawada, Williams and Wong in Discrete Mathematics vol. 341, no. 11, pp. 2977--2987, November 2018. Here we introduce new useful choices for the uniquely determined state in each cycle to devise valid successor rules. These choices significantly increase the number of de Bruijn sequences that can be generated. In each class, the next bit costs $O(n)$ time and $O(n)$ space for a fixed $n$.
New Successor Rules to Efficiently Produce Exponentially Many Binary de Bruijn Sequences
Published • View PublicationBIB
We put forward new general criteria to design successor rules that generate binary de Bruijn sequences. Prior fast algorithms based on successor rules in the literature are then shown to be special instances. We implemented the criteria to join the cycles generated by a number of simple feedback shift registers (FSRs) of order $n$. These include the pure cycling register (PCR) and the pure summing register (PSR). For the PCR, we define a transitive relation on its cycles, based on their weights. We also extend the choices of conjugate states by using shift operations. For the PSR, we define three distinct transitive relations on its cycles, namely a run order, a necklace order, and a mixed order. Using the new orders, we propose numerous classes of successor rules. Each class efficiently generates a number, exponential in $n$, of binary de Bruijn sequences. Producing the next bit in each such sequence takes $O(n)$ memory and $O(n)$ time. We implemented computational routines to confirm the claims.
On Greedy Algorithms for Binary de Bruijn Sequences
Published in Applicable Algebra in Engineering, Communication and Computing, 2021 • View PublicationBIB
We propose a general greedy algorithm for binary de Bruijn sequences, called Generalized Prefer-Opposite (GPO) Algorithm, and its modifications. By identifying specific feedback functions and initial states, we demonstrate that most previously-known greedy algorithms that generate binary de Bruijn sequences are particular cases of our new algorithm.
Counting De Bruijn sequences as perturbations of linear recursions
Every binary De~Bruijn sequence of order n satisfies a recursion 0=x_n+x_0+g(x_{n-1}, ..., x_1). Given a function f on (n-1) bits, let N(f; r) be the number of functions generating a De Bruijn sequence of order n which are obtained by changing r locations in the truth table of f. We prove a formula for the generating function \sum_r N(\ell; r) y^r when \ell is a linear function. The proof uses a weighted Matrix Tree Theorem and a description of the in-trees (or rooted trees) in the n-bit De Bruijn graph as perturbations of the Hamiltonian paths in the same graph.
On Binary de Bruijn Sequences from LFSRs with Arbitrary Characteristic Polynomials
Published in Des. Codes and Cryptogr. 87 (2019) 1137-1160 • View PublicationBIB
We propose a construction of de Bruijn sequences by the cycle joining method from linear feedback shift registers (LFSRs) with arbitrary characteristic polynomial $f(x)$. We study in detail the cycle structure of the set $Ω(f(x))$ that contains all sequences produced by a specific LFSR on distinct inputs and provide a fast way to find a state of each cycle. This leads to an efficient algorithm to find all conjugate pairs between any two cycles, yielding the adjacency graph. The approach is practical to generate a large class of de Bruijn sequences up to order $n \approx 20$. Many previously proposed constructions of de Bruijn sequences are shown to be special cases of our construction.
2009-10-19
Counting the spanning trees of a directed line graph
The line graph LG of a directed graph G has a vertex for every edge of G and an edge for every path of length 2 in G. In 1967, Knuth used the Matrix-Tree Theorem to prove a formula for the number of spanning trees of LG, and he asked for a bijective proof. In this paper, we give a bijective proof of a generating function identity due to Levine which generalizes Knuth's formula. As a result of this proof we find a bijection between binary de Bruijn sequences of degree n and binary sequences of length 2^{n-1}. Finally, we determine the critical groups of all the Kautz graphs and de Bruijn graphs, generalizing a result of Levine.
2009-03-22
The Discrepancy of the Lex-Least De Bruijn Sequence
Published • View PublicationBIB
We answer the following question of R. L. Graham: What is the discrepancy of the lexicographically-least binary de Bruijn sequence? Here, "discrepancy" refers to the maximum (absolute) difference between the number of ones and the number of zeros in any initial segment of the sequence. We show that the answer is $Θ(2^n \log n/n)$.