Next Article in Journal
Modeling Languages for Internet of Things (IoT) Applications: A Comparative Analysis Study
Next Article in Special Issue
Underwater Image Enhancement Based on the Improved Algorithm of Dark Channel
Previous Article in Journal
Multiview-Learning-Based Generic Palmprint Recognition: A Literature Review
Previous Article in Special Issue
Metric Dimensions of Bicyclic Graphs
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi de Bruijn Sequences and the Cross-Join Method

1
Department of Mathematics, American University of Beirut, Beirut 11072020, Lebanon
2
Department of Cryptology, Military Communication Institute, ul.Warszawska 22A, 05-130 Zegrze Poludniowe, Poland
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(5), 1262; https://doi.org/10.3390/math11051262
Submission received: 23 January 2023 / Revised: 23 February 2023 / Accepted: 2 March 2023 / Published: 6 March 2023
(This article belongs to the Special Issue Advanced Graph Theory and Combinatorics)

Abstract

:
We show a method to construct binary multi de Bruijn sequences using the cross-join method. We extend the proof given by Alhakim for ordinary de Bruijn sequences to the case of multi de Bruijn sequences. In particular, we establish that all multi de Bruijn sequences can be obtained by cross-joining an ordinary de Bruijn sequence concatenated with itself an appropriate number of times. We implemented the generation of all multi de Bruijn sequences of type C ( 2 , 2 , 2 ) and C ( 3 , 2 , 2 ) . We experimentally confirm that some multi de Bruijn sequences can be generated by Galois Nonlinear Feedback Shift Registers (NLFSRs). It is supposed that all multi de Bruijn sequences can be generated using Galois NLFSRs.

1. Introduction

De Bruijn sequences have been investigated for decades [1,2,3,4]. They have many applications: in combinatorial problems, in cryptography to generate pseudo-random sequences, and in biology to investigate genome sequences [5]. It is known that binary de Bruijn sequences can be generated by Nonlinear Feedback Shift Registers (NLFSRs) [6]. NLFSRs are the main components in constructing stream ciphers. Knowing a de Bruijn sequence, one can apply the cross-join method to construct new de Bruijn sequences [3,7,8,9]. In papers [10,11] It was proved first that the cross-join method generates all de Bruijn sequences of given order. In [10], an algorithm was explicitly given that begins with an arbitrary de Bruijn sequence from a finite alphabet and outputs a Hamiltonian path in the corresponding cross-join graph.
Paper [9] generalizes the notion of de Bruijn sequences to multi de Bruijn sequences, where patterns of fixed length appear m times (m = 1 for ordinary de Bruijn sequences), that paper presents formulas for the total number of possible multi de Bruijn sequences with a specified set of parameters. However, it does not provide a method to generate any such sequence. Although the notion of multi de Bruijn sequences appears to be more complex than ordinary ones and may cater to more applications (they appear in some biological sequences investigations [5],) one important consequence of the results of this paper is that all multi de Bruijn sequences stem, simply, from any ordinary de Bruijn sequence.
Following the proof given by Alhakim [10], we prove that all multi de Bruijn sequences can be generated starting from one such sequence by using the cross-join method. The proof is non-constructive in the sense that one has to start with a particular multi de Bruijn sequence in order to apply the cross-join method. On the positive side, it is sufficient to form a trivial multi de Bruijn sequence by concatenating an ordinary de Bruijn sequence m times with itself. Ordinary de Bruijn sequences can be constructed using various methods [7,12,13,14] (see also, [3] and references therein). We implemented this method for the case of multi de Bruijn sequences of the type C ( 2 , 2 , 2 ) and C ( 2 , 2 , 3 ) (binary multi de Bruijn sequences of order 2 and 3 with multiplicity 2 and patterns of length 2 and 3, see below for a formal definition). The drawback of the cross-join method is that to find a cross-join pair, we potentially have to run over the whole sequence. This can still be reasonably done for sequences up to the order of 40.
Galois NLFSRs were considered in papers [15,16]. We confirmed experimentally that some sequences of type C ( 2 , 2 , 3 ) can be generated by Galois NLFSRs listed in [16]. In fact, they are modified sequences where one of the patterns has a lower multiplicity. It is an open problem whether all binary multi de Bruijn sequences can be generated using suitable Galois NLFSRs.

2. Multi de Bruijn Sequences

We introduce multi de Bruijn sequences following Tesler’s paper [9]. Let Ω be a totally ordered alphabet of size q 1 . A linear sequence is an ordinary sequence of elements of Ω denoted a 1 a 2 a n . Define the cyclic shift of a linear sequence by ρ ( a 1 a 2 a n ) = a n a 1 a n 1 . In a cyclic sequence, we treat all rotations of a given linear sequence as equivalent. A k- m e r is a sequence of length k over Ω . The set of all k- m e r s over Ω is Ω k . A de Bruijn sequence is a cyclic sequence over alphabet Ω in which all k- m e r s occur exactly once. The length of such a sequence is N = q k .
Definition 1. 
A multi de Bruijn sequence is a cyclic sequence over an alphabet Ω of size q in which each k- m e r occurs exactly m-times with m , q , k 1 . k is the order of the sequence.
Let C ( m , q , k ) denote the set of all such sequences. The length of such a sequence is N = m q k , since each of the q k k- m e r s accounts for m starting positions. Tesler [9] derived the formula for the cardinality of C ( m , q , k ) . In the following, we consider multi de Bruijn sequences over an alphabet Ω with q symbols { 0 , 1 , q 1 } , addition modulo q is used.
Definition 2. 
Let a sequence ( x i ) C ( m , q , k ) be represented as a sequence of its states ( S i ) , where each state is a k-mer S i = ( x i , x i + 1 , , x i + k 1 ) . It is conjugate to a state S j = ( x j , x j + 1 , , x j + k 1 ) if x i = x j + 1 and ( x i + 1 , , x i + k 1 ) = ( x j + 1 , , x j + k 1 ) . We denote this S i = S j ^ . The state S i is a companion of the state S j if x i + k 1 = x j + k 1 + 1 and ( x i , x i + 1 , , x i + k 2 ) = ( x j , x j + 1 , , x j + k 2 ) .
Definition 3. 
Two pairs of vertices that allow the transformation of a de Bruijn cycle to another de Bruijn cycle are called cross-join pairs. Let a multi de Bruijn sequence ( x i ) be considered a cyclic sequence and represented as a sequence of states ( S i ) . Then the four states ( S i , S j , S i ^ , S j ^ ) , form a cross-join pair for the sequence ( x i ) if they occur in the sequence in the listed order.
Definition 4. 
Let ( x i ) C ( m , q , k ) and ( S i , S j , S i ^ , S j ^ ) be a cross-join pair. We construct a new multi de Bruijn sequence ( y i ) by swapping the successors of S i and S i ^ and the successors of S j and S j ^ . That is, by going from S i to the successor of S i ^ , then from S j ^ to the successor of S j and so on until closing the cycle. This construction is called the cross-join method.
To be more precise, let us denote S i ^ = S p and S j ^ = S q . Then the original sequence has states that proceed as:
S i , S i + 1 , , S j , S j + 1 , , S p , S p + 1 , , S l , S q + 1 , , S i 1 .
After the cross-join operation, the modified sequence has states that proceed as:
S i , S p + 1 , , S q , S j + 1 , , S p , S i + 1 , , S j , S q + 1 , , S i 1 .
The conjugate pair of states S i , S i ^ splits the full cycle into two shorter cycles after interchanging their successors. Then the states S j , S j ^ are on different cycles, and after interchanging their successors, we obtain a new de Bruijn cycle (see Figure 1).

3. The Main Theorem

Definition 5. 
Let ( x i ) , ( y i ) be two sequences from C ( m , q , k ) . The length of the sequences is N = m q k . We take the least lexicographical representatives of both sequences and consider the length L of the longest common initial path of these sequences
( x 1 , x 2 , , x L , , x N ) , ( x 1 , x 2 , , x L , y L + 1 , , y N ) .
We define the function (pseudo-distance) of the sequences as d ( x , y ) = N L .
Proposition 1. 
The function d ( x , y ) has the properties:
  • For all x , y in C ( m , q , k ) , d ( x , y ) = 0 if and only if x = y .
  • d ( x , y ) = d ( y , x ) f o r   a l l x , y C ( m , q , k ) .
One can find examples of three multi de Bruijn sequences, which are concatenations of de Bruijn sequences of lower order for which the triangle inequality is not satisfied. It turns out that the pseudo-distance suffices to get our connectedness result. Unlike the case of ordinary de Bruijn cycles, the absence of the triangle inequality does not allow for the construction of a Hamiltonian path of multi de Bruijn cycles.
Definition 6. 
Let x and y be two distinct multi de Bruijn sequences. We say that y is a neighbor of x if y can be obtained from x by applying a sequence of cross-join operations.
We adapt the following proposition and its proof from the paper [10].
Proposition 2. 
Let x = ( x i ) and y = ( y i ) be two distinct multi de Bruijn sequences from the set C ( m , q , k ) . Then there exists a multi de Bruijn sequence u C ( m , q , k ) , which is a neighbor of x in C ( m , q , k ) such that d ( u , y ) < d ( x , y ) .
Proposition 2 is crucial in the proof of following.
Theorem 1. 
Any two distinct multi de Bruijn sequences in C ( m , q , k ) can be connected by applying a sequence of the cross-join operations.
Proof. 
Let x and y be two distinct sequences in C ( m , q , k ) . By Proposition 2, x has a neighbor u 1 such that d ( u 1 , y ) < d ( x , y ) . If u 1 = y , then we are done; otherwise, the same argument can be iterated to get a sequence u 2 , which is a neighbor of u 1 , with d ( u 2 , y ) < d ( u 1 , y ) . Due to the strict inequality, and since the number of sequences in C ( m , q , k ) is finite, it is evident that this iterative process must end at y after a finite number of steps l, leading to the desired path u 0 = x , u 1 , , u l = y . □
Proof of Proposition 2. 
Let x and y be state sequences of multi de Bruijn sequences. We take the least lexicographical representatives of the sequences x = ( X i ) and y = ( Y i ) , where X i and Y i are successive states of the multi de Bruijn sequences. Let M 0 be the maximal common initial sequence of x and y. Suppose that the sequence
M 0 : 0 = X 1 X 2 X L 0
is common to x and y and L 0 is maximal, where 0 is the state of zeros ( 0 , , 0 ) . Since x y , L 0 < N and for the successors of X L 0 in x and y at least one is distinct from the state 0. Let us refer to these successors as X ( 1 ) and Y L 0 + 1 . Since x is a multi de Bruijn sequence, it contains every state m times, so it must contain Y L 0 + 1 . The latter is at least one of the states in M ˜ 0 , the complement of M 0 in x; that is, the subsequence of x that starts with X ( 1 ) and extends till the end of the sequence, just before cycling back to M 0 . Let * X 0 be the predecessor of the first occurrence of Y L 0 + 1 in x. Since Y L 0 + 1 belongs to M ˜ 0 , the state * X 0 is either in M ˜ 0 or it is X L 0 itself. However, the latter would make the common initial sub-sequence of x, and y would extend to Y L 0 + 1 , which contradicts the maximality of M 0 . Now X L 0 and * X 0 are predecessors of the same state so they form a conjugate pair. Swapping their successors, we split x into two cycles, a cycle C 1 that includes the initial subsequence M 0 , and another cycle C ˜ 1 that includes the edge * X 0 X ( 1 ) .
The cycle C 1 aligned to start with the initial subsequence M 0 and the multi de Bruijn cycle y have a maximal common initial sequence of states
M 1 : 0 = X 1 X 2 X L 0 X L 1
where L 1 L 0 + 1 . Let M ˜ 1 be a complement of M 1 in C 1 . The rest of the proof depends on establishing the following. □
Claim 1. 
It is possible to join C 1 and C ˜ 1 by using a state in M ˜ 1 and a conjugate state in C ˜ 1 , i.e., there is a state in M ˜ 1 that has a conjugate in C ˜ 1 .
To show this, suppose we cannot. Then let the successors of X L 1 in y and C 1 be Y L 1 + 1 and X ( 2 ) , respectively. Obviously, since M 1 is common to y and C 1 and since Y L 1 + 1 is not on the path M 1 of y, there is at least one occurrence of the word Y L 1 + 1 in M ˜ 1 , the complement of M 1 in C 1 , as it cannot be on C ˜ 1 , by our assumption. Let * X 1 be the predecessor of Y L 1 + 1 in C 1 . As before, we can argue that * X 1 is in M ˜ 1 .
Interchanging the successors of X L 1 and * X 1 , we further split the cycle C 1 into two cycles C 2 and C ˜ 2 with the former being the cycle that includes the initial subsequence M 0 and that shares a larger still initial path with y:
M 2 : 0 = X 1 X 2 X L 2 , L 2 > L 1 .
In essence, this process can be iterated, arranging and re-arranging vertices on the initial cycle C 1 but without using vertices C ˜ 1 , only a finite number of times. Let k be the maximal number of iterations and let C k be the resulting cycle that includes M 0 with maximal initial path
M k : 0 = X 1 X 2 X L k L k > L k 1
that is common with the multi de Bruijn sequence y. Under the assumption that the above claim is not valid, we prove the following: the sub-path of the cycle C k that begins with X L k and ends with 0 is simply an edge ( X L k , 0 ) . That is, X L k is the last vertex before rounding back to M k .
To see this, suppose that X ( k + 1 ) 0 is the successor of X L k in C k . Let Y L k + 1 be the successor of X L k in y, so that Y L k + 1 and X ( k + 1 ) are companion vertices. We then see that X L k is not the last vertex in y for otherwise, the multi de Bruijn sequence y would be shorter than C k . Hence, Y L k + 1 is not the initial 0 of M k . Consequently, one occurrence of Y L k + 1 is either in C ˜ 1 or in the part M ˜ 1 of C 1 . If the first case is true, swapping the predecessor of Y L k + 1 in C ˜ 1 with the predecessor of X ( k + 1 ) (which is evidently one of the vertices of M ˜ 1 ) shows that C 1 and C ˜ 1 can be joined into multi de Bruijn sequence using a vertex outside M 1 , contradicting the original assumption of the Claim.
If the second case is true, that is, if Y L k + 1 belongs to M ˜ k or any of the cycles made by the previous iteration and that are at most C 2 , , C k 1 , C ˜ 2 , , C ˜ k 1 (equivalently, it is one of the vertices of M ˜ 1 ), then we can swap the predecessors of X ( k + 1 ) and Y L k + 1 to get yet another cycle C k + 1 that shares a longer initial segment with y, contradicting the maximality of C k . It follows that X L k is the last vertex in C k .
We now prove the following: C k includes all predecessors of 0. We prove this in a way similar to the proof of the previous statement. In effect, suppose that U is a predecessor of 0 that is not on C k . If U belongs to C ˜ 1 , we get a contradiction because we could have joined C 1 and C ˜ 1 by swapping, for example, the successors of U and the last vertex in C 1 before the initial subsequence M 1 , which is, of course, in M ˜ 1 . Likewise, the presence of U on any of the intermediate cycles C 2 , , C k 1 , C ˜ 2 , , C ˜ k 1 contradicts the maximality of k.
The validity of this last means that the sequence M k cannot be continued into a multi de Bruijn sequence as it cannot cycle back to 0 without using one of the predecessors of zero. This, of course, is not true because M k is already the initial path of the multi de Bruijn sequence y. This contradiction means that the Claim must be true.
We have thus proven that C 1 and C ˜ 1 can be joined by swapping the successors of a vertex in M ˜ 1 with that of a conjugate vertex in C ˜ 1 . This makes a new multi de Bruijn sequence z which is a neighbor of x. Since L 0 < L 1 , N L 1 < N L 0 and z satisfies the inequality
d ( z , y ) < d ( x , y )
as desired.
Proposition 3. 
Starting with a multi de Bruijn sequence in C ( m , q , k ) and applying the cross-join method generates all sequences in C ( m , q , k ) .
We present now the formula for the number of elements of C ( m , q , k ) [9].
| C ( m , q , k ) | = 1 m q k r | m ϕ ( m / r ) · W ( r , q , k )
where ϕ is the Euler totient function and
W ( r , q , k ) = ( r q ) ! r ! q q k 1 = m q m , , m q k 1 ,
where m is repeated m times. We calculate
| C ( 2 , 2 , 2 ) | = 1 2 · 2 r | 2 ϕ ( 2 / r ) 2 r r , r 2 1 = 1 8 ϕ ( 1 ) 2 · 2 2 , 2 2 + ϕ ( 2 ) 2 · 1 1 , 1 2
= 1 8 1 · 4 1 , 1 2 + 1 · 2 1 , 1 2 = 1 8 ( 6 2 + 2 ) = 40 8 = 5 .
Next we calculate
| C ( 2 , 2 , 3 ) | = 1 2 · 2 3 r | 2 ϕ ( 2 / r ) W ( r , 2 , 3 ) = 1 16 ( ϕ ( 2 ) W ( 1 , 2 , 3 ) + W ( 2 , 2 , 3 ) )
= 1 16 2 · 2 2 , 2 2 2 + 2 · 2 2 , 2 2 2 = 1 16 ( 2 4 + 6 4 ) = 1 16 ( 16 + 1292 ) = 1312 16 = 82 .
We have implemented the cross-join method for the multi de Bruijn sequences of the type C ( 2 , 2 , 2 ) and C ( 2 , 2 , 3 ) . The implementation has been done in SAGE [17]. For each sequence, the succeeded states are represented as decimals, and the sequence representative is the least lexicographical one. We have started from the first sequences in the list in Table 1 and generated all sequences. First, we find the cross-join pairs from the chosen sequence and generate the corresponding sequences. Then we choose a new de Bruijn sequence and repeat the process. We then check whether all the sequences are different and throw away the repeated ones. After a few steps of this process, we find all sequences of a given type.
The List. The feedback functions of NLFSRs generated the sequences shown in Table 2. + is understood as modulo 2 addition. This table is a part of the Table 3 of Dubrova et al. [16].
# f 3 f 2 f 1 f 0
1 x 0 1 + x 0 + x 1 + x 3 + x 0 x 1 1 + x 1 + x 2 + x 3 1 + x 0 + x 1 + x 2 + x 0 x 2
2 x 0 x 3 + x 0 x 2 x 2 + x 3 + x 1 x 1 + x 0 + x 0 x 2
3 x 0 x 3 + x 0 x 2 x 2 + 1 + x 3 + x 0 x 3 x 1 + 1 + x 2 + x 0 + x 2 x 0
4 x 0 x 3 + x 0 x 2 x 2 + 1 + x 0 + x 1 x 0 x 1 + 1 + x 2 + x 0 x 2
5 x 0 x 3 + 1 + x 1 + x 2 + x 1 x 2 x 2 + x 1 + x 0 x 1 x 1 + 1 + x 0 + x 0 x 2
6 x 0 x 3 + x 1 x 2 x 2 + x 1 + x 1 x 0 x 1 + x 2 x 0
7 x 0 x 3 + x 1 x 2 x 2 + 1 + x 0 x 1 + 1 + x 2 + x 3 + x 2 x 3
8 x 0 x 3 + x 1 + x 0 x 1 x 2 + 1 + x 3 + x 1 x 1 + x 2 + x 0 x 2
9 x 0 x 3 + x 2 + x 0 x 2 x 2 + 1 + x 0 + x 1 + x 0 x 1 x 1 + 1 + x 0 + x 0 x 2
10 x 0 x 3 + x 2 + x 1 x 2 x 2 + x 3 x 1 x 1 + x 2 + x 3 + x 2 x 3
11 x 0 x 3 + x 2 + x 1 x 2 x 2 + x 0 x 1 x 1 + x 2 + x 0 x 2
12 x 0 x 3 + x 2 + x 1 x 2 x 2 + x 0 x 1 + x 2 + x 0 x 2
13 x 0 x 3 + x 2 + x 2 x 0 x 2 x 1 + x 2 x 0
14 x 0 x 3 + 1 + x 1 + x 2 + x 1 x 2 x 2 + 1 + x 0 + x 1 x 0 x 1 + 1 + x 0 + x 2 + x 2 x 0
15 x 0 + x 1 x 2 x 3 + x 0 x 2 x 2 x 1 + 1 + x 0 + x 2 + x 2 x 0
16 x 0 + 1 + x 1 + x 2 + x 1 x 2 x 3 + 1 + x 1 + x 2 + x 1 x 2 x 2 x 1 + x 2
17 x 0 + 1 + x 1 + x 3 + x 1 x 3 x 3 + x 0 x 1 x 2 + 1 + x 0 x 1 + 1 + x 2 + x 0
18 x 0 + x 2 x 3 x 3 + x 1 + x 2 + x 1 x 2 x 2 + x 1 + x 1 x 3 x 1 + x 0

4. Galois NLFSRs

Following Dubrova et al. [16] and Dubrova [15], we introduce Galois NLFSRs. A Galois NLFSR is described by the set f 0 , f 1 , , f n 1 of Boolean functions of n binary variables and n cells which keep bits (Figure 2). The state of an NLFSR consists of the content of n cells at a given time. After the next clock, each bit i in the state of Galois NLFSR is updated to its next-state function, which is a Boolean function of state variables.
We considered Galois NLFSRs of order 4 given by Dubrova ([16], Table 1) which have period 15. We checked experimentally that some of them generate modified multi de Bruijn sequences of type C ( 2 , 2 , 3 ) . In Table 2 at all sequences, state 000 appears once, and other states appear twice beyond line 15, where state 000 appears twice, and state 111 appears once.
Conjecture: All binary multi de Bruijn sequences can be generated by some Galois NLFSRs.
The digital numbers in Table 2 are the states of NLFSRs regarded as generating sequences from C ( 2 , 2 , 3 ) . Each d { 0 , 1 , , 7 } can be represented as d = c 0 + c 1 · 2 + c 3 · 4 . We explain the representation in the example. Let us take the first line in Table 2. The digit 0 from the left-hand side of the Decimal column is represented as the binary 000, and they are the first digitals in Binary. Then we take the decimal 4 and represent it as 001, and we add 1 to the sequence 000. Then we take 6 and represent it as 011 and add 1 to the sequence 0001. This way, each triple of binary digits from Binary, taking it from Decimal and going with one position from left to right, is a representation of a decimal digit from Decimal. The binary representation is treated as a cycle. The same representation can be done in Table 1 and Table 3.

5. Conclusions

We have extended the Alhakim proof [10] to the case of multi de Bruijn sequences. Specifically, we have shown that any multi de Bruijn sequence can be obtained using a sequence of cross-joins of an ordinary de Bruijn sequence concatenated m times with itself. Additionally, we have generated the C ( 2 , 2 , 2 ) and C ( 2 , 2 , 3 ) sequences. We have experimentally found that some Galois NLFSRs generate the multi de Bruijn sequences of type C ( 2 , 2 , 3 ) .

Author Contributions

Investigation, A.A. and J.S. All authors have read and agreed to the published version of the manuscript.

Funding

Research of the first author was partially supported by the University Research Board of the American University of Beirut (Project Number 26310). Research of the second author was partially supported by the Military Institute of Communication.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. de Bruijn, N.G. A Combinatorial Problem. K. Ned. Akad. Wet. 1946, 49, 758–764. [Google Scholar]
  2. Flye-Sainte Marie, C. Solution to problem number 58. l’Intermédiare des Mathématiciens 1894, 1, 107–110. [Google Scholar]
  3. Fredricksen, H. A Survey of Full Length Nonlinear Shift Register Cycle Algorithms. SIAM Rev. 1982, 24, 195–221. [Google Scholar] [CrossRef]
  4. Nellore, A.; Ward, R. Arbitrary-length analogs of de Bruijn sequences. arXiv 2021, arXiv:2108.07759v2. [Google Scholar]
  5. Kandel, D.; Matias, Y.D.; Unger, R.; Winkler, P. Shuffling biological sequences. Discrete Appl. Math. 1996, 71, 171–185. [Google Scholar] [CrossRef] [Green Version]
  6. Golomb, S. Shift Register Sequences, Revised ed.; Aegean Park Press: Laguna Hills, CA, USA, 1981. [Google Scholar]
  7. Chang, Z.; Ezerman, M.F.; Fahreza, A.A.; Ling, S.; Szmidt, J.; Wang, H. Binary de Bruijn Sequences via Zech’s Logarithms. SN Comput. Sci. 2021, 2, 1–18. [Google Scholar] [CrossRef]
  8. Helleseth, H.; Klöve, T. The Number of Cross-join pairs in maximum length linear sequences. IEEE Trans. Inf. Theory 1991, 31, 1731–1733. [Google Scholar] [CrossRef]
  9. Tesler, G. Multi de Bruijn Sequences. J. Comb. 2017, 8, 439–474. [Google Scholar] [CrossRef] [Green Version]
  10. Alhakim, A. Hamiltonicity of the Cross-Join Graph of de Bruijn Sequences. arXiv 2020, arXiv:1805.12059v2. [Google Scholar]
  11. Mykkeltveit, J.; Szmidt, J. On Cross Joining de Bruijn Sequences. Contemp. Math. 2015, 63, 335–346. [Google Scholar]
  12. Li, C.; Zeng, X.; Li, C.; Helleseth, T. A Class of de Bruijn Sequences. IEEE Trans. Inf. Theory 2014, 60, 7955–7969. [Google Scholar] [CrossRef]
  13. Li, C.; Zeng, X.; Helleseth, T.; Li, C.; Hu, L. The Properties of a Class of Linear FSRs and Their Applications to the Construction of Nonlinear FSRs. IEEE Trans. Inf. Theory 2014, 60, 3052–3061. [Google Scholar]
  14. Li, C.; Zeng, C.; Li, C.; Helleseth, T.; Li, M. Construction of de Bruijn Sequences From LFSRs With Reducible Characteristic Polynomials. IEEE Trans. Inf. Theory 2016, 62, 610–624. [Google Scholar] [CrossRef]
  15. Dubrova, E. A scalable method for constructing Galois NLFSRs with period 2n−1 using cross-join pairs. IEEE Trans. Inform. Theory 2013, 59, 703–709. [Google Scholar] [CrossRef] [Green Version]
  16. Dubrova, E.; Teslenko, M.; Tenhunen, H. On Analysis and Synthesis of (n,k)-Non-Linear Feedback Shift Registers. In Proceedings of the Conference on Design, Automation and Test in Europe, Munich, Germany, 10–14 March 2008; pp. 1286–1291. [Google Scholar]
  17. Stein, W.; Joyner, D. SAGE. System for Algebra and Geometry Experimentation. ACM Sigsam Bull. 2005, 39, 61–64. [Google Scholar] [CrossRef]
Figure 1. A geometric representation of the cross-join method.
Figure 1. A geometric representation of the cross-join method.
Mathematics 11 01262 g001
Figure 2. (Dubrova [16]). A scheme of Galois NLFSRs of order n.
Figure 2. (Dubrova [16]). A scheme of Galois NLFSRs of order n.
Mathematics 11 01262 g002
Table 1. The sequences C ( 2 , 2 , 3 ) , | C ( 2 , 2 , 3 ) | = 82 . (Tesler [9]). The green and the red sequences are the concatenation of de Bruijn sequences of C ( 1 , 2 , 3 ) . Changing from decimal representation to binary representation is descibed after Table 2.
Table 1. The sequences C ( 2 , 2 , 3 ) , | C ( 2 , 2 , 3 ) | = 82 . (Tesler [9]). The green and the red sequences are the concatenation of de Bruijn sequences of C ( 1 , 2 , 3 ) . Changing from decimal representation to binary representation is descibed after Table 2.
(0425210463567731)(0425635210467731)(0425631042567731)
(0421042563567731)(0042521463567731)(0042563521467731)
(0042563142567731)(0042563567731421)(0046314252567731)
(0046314252567731)(0046352521467731)(0046352142567731)
(0046356773521421)(0046773142563521)(0046773563521421)
(0046735214256731)(0046773521425631)(0042525631467731)
(0042567735631421)(0042567314256731)(0042567731425631)
(0042146352567731)(0042146356773521)(0042146773563521)
(0042146735256731)(0042146773525631)(0042142567356731)
(0042142567735631)(0046352567731421)(0046773146352521)
(0046735256731421)(0046773525631421)(0046773142525631)
(0042567731463521)(0042567356731421)(0042525677314631)
(0042567314673521)(0042563146773521)(0421046352567731)
(0421046356773521)(0463521046773521)(0463525210467731)
(0467310467352521)(0463104677352521)(0425677310463521)
(0425673521046731)(0425677352104631)(0425256310467731)
(0425256731046731)(0425256773104631)(0425210467356731)
(0425210467735631)(0421046773563521)(0421046735256731)
(0421046773525631)(0425673104673521)(0425631046773521)
(0421042567735631)(0421042567356731)(0425673104256731)
(0046735252146731)(0046773525214631)(0042567352146731)
(0042567735214631)(0042525673146731)(0042521467356731)
(0042521467735631)(0046352146773521)(0046314256773521)
(0046773563142521)(0046731425256731)(0046735673142521)
(0046314677352521)(0046731425673521)(0046731467352521)
(0046735214673521)(0046773521463521)(0046735673521421)
(0042146735673521)(0042142563567731)(0467352104673521)
(0421046735673521)
Table 2. The sequences generated by Galois NLFSRs from the List above.
Table 2. The sequences generated by Galois NLFSRs from the List above.
DecimalBinary
1(046773525214631)(000111101010011)
2(042525631467731)(000101011001111)
3(046773563521421)(000111101101001)
4(042146773563521)(000100111101101)
5(046773146352521)(000111100110101)
6(046314677352521)(000110011110101)
7(042142567735631)(000100101111011)
8(042142563567731)(000100101101111)
9(046352521467731)(000110101001111)
10(042563567731421)(000101101111001)
11(042146356773521)(000100110111101)
12(042525677314631)(000101011110011)
13(042567735631421)(000101111011001)
14(046356773521421)(000110111101001)
15(004252567314631)(000010101110011)
16(042563142567731)(000101100101111)
17(042567731425631)(000101111001011)
18(046352146773521)(000110100111101)
Table 3. The sequences C ( 2 , 2 , 2 ) , | C ( 2 , 2 , 2 ) | = 5 . (Tesler [9]).
Table 3. The sequences C ( 2 , 2 , 2 ) , | C ( 2 , 2 , 2 ) | = 5 . (Tesler [9]).
DecimalBinary
1(04256731)(00010111)
2(04635631)(00011011)
3(04673521)(00011101)
4(42146731)(00100111)
5(46314631)(00110011)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Alhakim, A.; Szmidt, J. Multi de Bruijn Sequences and the Cross-Join Method. Mathematics 2023, 11, 1262. https://doi.org/10.3390/math11051262

AMA Style

Alhakim A, Szmidt J. Multi de Bruijn Sequences and the Cross-Join Method. Mathematics. 2023; 11(5):1262. https://doi.org/10.3390/math11051262

Chicago/Turabian Style

Alhakim, Abbas, and Janusz Szmidt. 2023. "Multi de Bruijn Sequences and the Cross-Join Method" Mathematics 11, no. 5: 1262. https://doi.org/10.3390/math11051262

APA Style

Alhakim, A., & Szmidt, J. (2023). Multi de Bruijn Sequences and the Cross-Join Method. Mathematics, 11(5), 1262. https://doi.org/10.3390/math11051262

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop