Next Article in Journal
From Task Distributions to Expected Paths Lengths Distributions: Value Function Initialization in Sparse Reward Environments for Lifelong Reinforcement Learning
Previous Article in Journal
Exploring the Evolution-Coupling Hypothesis: Do Enzymes’ Performance Gains Correlate with Increased Dissipation?
Previous Article in Special Issue
Reconstruction of Multiple Strings of Constant Weight from Prefix–Suffix Compositions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Generalized Orthogonal de Bruijn and Kautz Sequences †

by
Yuan-Pon Chen
*,
Jin Sima
and
Olgica Milenkovic
Department of Electrical and Computer Engineering, University of Illinois Urbana-Champaign, Urbana, IL 61801, USA
*
Author to whom correspondence should be addressed.
Parts of the work have been submitted to the IEEE Symposium on Information Theory (ISIT), Ann Arbor, MI, USA, 2025. This extension contains added proofs for results on orthogonal de Bruijn sequences and a completely new section on orthogonal Kautz sequences.
Entropy 2025, 27(4), 366; https://doi.org/10.3390/e27040366
Submission received: 21 February 2025 / Revised: 24 March 2025 / Accepted: 25 March 2025 / Published: 30 March 2025
(This article belongs to the Special Issue Coding and Algorithms for DNA-Based Data Storage Systems)

Abstract

:
A de Bruijn sequence of order k over a finite alphabet is a cyclic sequence with the property that it contains every possible k-sequence as a substring exactly once. Orthogonal de Bruijn sequences are the collections of de Bruijn sequences of the same order, k, that satisfy the joint constraint that every ( k + 1 ) -sequence appears as a substring in, at most, one of the sequences in the collection. Both de Bruijn and orthogonal de Bruijn sequences have found numerous applications in synthetic biology, although the latter remain largely unexplored in the coding theory literature. Here, we study three relevant practical generalizations of orthogonal de Bruijn sequences, where we relax either the constraint that every ( k + 1 ) -sequence appears exactly once or the sequences themselves are de Bruijn rather than balanced de Bruijn sequences. We also provide lower and upper bounds on the number of fixed-weight orthogonal de Bruijn sequences. The paper concludes with parallel results for orthogonal nonbinary Kautz sequences, which satisfy similar constraints as de Bruijn sequences, except for being only required to cover all subsequences of length k whose maximum run length equals one.

1. Introduction

Parts of the work have been submitted to the IEEE Symposium on Information Theory (ISIT), Ann Arbor, MI, USA, 2025 [1]. This extension contains added proofs for results on orthogonal de Bruijn sequences and a completely new section on orthogonal Kautz sequences.
De Bruijn sequences [2,3] are combinatorial objects that have found many practical applications, which range from pesudorandomness generation, hashing, and lookup table design to DNA assembly and molecular data storage [4]. The utility of the de Bruijn sequences of order k stems from the fact that they have the property of covering all k-sequences over a finite alphabet as substrings exactly once. De Bruijn sequences have been further generalized to include balancing constraints [5]—in which case, every k-sequence is allowed to appear   1 or at most times—or general substring constraints, as described in [6]. In addition, they have been modified to accommodate other practical constraints, such as run length bounds, in which case, the sequences are known as Kautz sequences [7].
Another interesting extension of the concept of de Bruijn sequences is orthogonal de Bruijn sequences, introduced in [8] for the purpose of optimizing experimental designs in synthetic biology (they were also independently studied in the mathematics literature [9,10] under the name of arc-disjoint de Bruijn cycles). In a nutshell, orthogonal de Bruijn sequences are the de Bruijn sequences of order k that satisfy the joint (cross) property, where every ( k + 1 ) -sequence appears in at most one of the sequences in the collection. The de Bruijn property of the sequences is used to ensure both the diversity of DNA sequence binding probes of length k and the shortest sequence length property under the diversity constraint (since DNA strings have to be synthesized for testing and since the cost of synthesis prohibits the use of long strings). Interestingly, the orthogonality constraint aims to reduce the undesired cross-hybridization of longer probes designed to target only one of the sequences; although, in the definition, the constraint is imposed on length- ( k + 1 ) substrings, other constrained substring lengths (such as 2 k ) are equally relevant. From the perspective of DNA-based data storage, orthogonal de Bruijn sequences are relevant for multistage primer-based random access [11]. There, groups of strings sharing a common k-substring can be accessed together (for any possible choice of the substring), and then further partitioned into subgroups as needed, using more specialized primers that are not shared by the whole group (say, using primers of length k + s , s > 0 ). A drawback of orthogonal de Bruijn sequences is that their number is strongly restricted by the alphabet size. We can increase an orthogonal collection by relaxing the notion of orthogonality, as described in Section 3 (following the preliminaries of Section 2). There, we study orthogonal de Bruijn sequences in which ( k + 1 ) -sequences are allowed to appear at most times, with   1 . The main result is that the number of generalized orthogonal de Bruijn sequences scales with .
Another practical issue with orthogonal de Bruijn sequences is that each k-sequence has only one context in which it appears in each of the sequences. To increase the number of different contexts, we can examine b-balanced de Bruijn sequences in which each k-sequence is allowed to appear exactly b times [5]. In this case, we can investigate the (new) notion of orthogonality of balanced de Bruijn sequences, as outlined in Section 4. For ease of synthesis, it is desirable to maintain composition/weight constraints for the DNA sequences, resulting in counting and construction problems pertaining to fixed-weight (fixed composition) de Bruijn sequences, which are introduced and studied in Section 5.
We conclude our exposition with a review of Kautz and orthogonal Kautz sequences and the introduction of balanced and fixed-weight Kautz and orthogonal Kautz sequences, as described in Section 6. The relevance of the added run length constraint is that the sequences avoid what is known as homopolymers of DNA symbols, which are known to cause both DNA synthesis and sequencing errors. This is particularly the case for nanopore sequencers, as first described and experimentally evaluated in [12].

2. Preliminaries

We start by reviewing relevant concepts and definitions pertaining to (orthogonal) de Bruijn sequences and graphs.
Definition 1. 
Let k 1 , and let A be an alphabet of size σ 2 . A circular sequence s = ( s 0 , s 1 , , s σ k 1 ) is called a  ( σ , k ) -de Bruijn sequence if each sequence in A k appears as a circular substring of s exactly once. More specifically, for each sequence t = ( t 0 , , t k 1 ) A k , there is a unique index i [ 0 , σ k 1 ] such that ( s i , s i + 1 mod σ k , , s i + k 1 mod σ k ) = t . Here, we used [ a , b ] to denote the integer set { a , a + 1 , , b } for two integers a and b that satisfy a b . We do not distinguish sequences that are circular shifts of each other.
Fundamental for the study of de Bruijn sequences is the notion of a de Bruijn graph of order k and alphabet size σ , which is denoted by G σ , k . A de Bruijn graph is a directed graph ( V , A ) with vertex set V = A k 1 and arc set
A = { ( ( s 0 , s 1 , , s k 2 ) , ( s 1 , , s k 2 , s k 1 ) ) | s 0 , , s k 1 A } .
In words, for v 1 , v 2 V , there exists an arc from v 1 to v 2 if and only if the length- ( k 2 ) suffix of v 1 is the same as the length- ( k 2 ) prefix of v 2 .
Definition 2. 
A collection of ( σ , k ) -de Bruijn sequences  C = { s 1 , , s M }  is called orthogonal if each sequence in  A k + 1 appears at most once in C .
It is clear that there exists a one-to-one correspondence between ( σ , k ) -de Bruijn sequences and Eulerian circuits (i.e., closed walks that traverse each arc exactly once) in G σ , k . Furthermore, a length- ( k + 1 ) string ( s 0 , , s k ) appears in a ( σ , k ) -de Bruijn sequence if and only if the corresponding Eulerian circuit traverses from v 1 to v 2 to v 3 , where v 1 = ( s 0 , , s k 2 ) , v 2 = ( s 1 , , s k 1 ) , and v 3 = ( s 2 , , s k ) .
Similarly, there exists a one-to-one correspondence between ( σ , k ) -de Bruijn sequences and Hamiltonian cycles (i.e., closed walks that traverse each vertex exactly once) in G σ , k + 1 . The length- ( k + 1 ) string ( s 0 , , s k ) appears in a ( σ , k ) -de Bruijn sequence if and only if the corresponding Hamiltonian cycle traverses from ( s 0 , , s k 1 ) to ( s 1 , , s k ) .
The relevance of de Bruijn graphs G σ , k + 1 for the analysis of orthogonal de Bruijn sequences comes from the fact that certain arc-constrained Hamiltonian cycles correspond to orthogonal sequences. In that context, it was shown in [8] that for σ 3 , the number of orthogonal ( σ , k ) -de Bruijn sequences is bounded between σ / 2 and σ 1 .
Example 1. 
Let k = 2 and A = { 0 , 1 , 2 } . The circular sequence s = 012002211 is a ( 3 , 2 ) -de Bruijn sequence since its length-2 substrings are 01 , 12 , 20 , 00 , 02 , 22 , 21 , 11 , 10 —all the length-2 sequences over A without repetition. Figure 1a shows the de Bruijn graph G 3 , 2 used to generate the sequence. Figure 1b depicts the Eulerian circuit on G 3 , 2 that s corresponds to, which is 0 1 2 0 0 2 2 1 1 0 . Figure 1c illustrates the de Bruijn graph G 3 , 3 , where s corresponds to the Hamiltonian cycle 01 12 20 00 02 22 21 11 10 01 . The length-3 substring 012 in s corresponds to the two-step walk 0 1 2 in the Eulerian cycle on G 3 , 2 and the arc 01 12 in the Hamiltonian cycle on G 3 , 3 .
We also review the balanced de Bruijn sequence studied in [5].
Definition 3 
([5] Definition 4). Let k and A be as before, and let b 1 . A circular sequence s = ( s 0 , s 1 , , s b σ k 1 ) is called a b-balanced ( σ , k ) -de Bruijn sequence if each sequence in A k appears as a circular substring of s exactly b times.

3. Generalized Orthogonal de Bruijn Sequences

Our first result pertains to a generalization of orthogonal de Bruijn sequences, defined below.
Definition 4. 
Let ℓ 1 . A collection of ( σ , k ) -de Bruijn sequences C = { s 1 , , s M } is called ℓ-orthogonal if each sequence in A k + 1 appears at most ℓ times in C .
Let Ω ( σ , k ) denote the maximum cardinality of a collection of -orthogonal ( σ , k ) -de Bruijn sequences. We have the following bound on Ω ( σ , k ) :
Proposition 1. 
We have Ω ( σ , k ) ( σ 1 ) .
Proof. 
The proof follows a similar argument as in [8] Corollary 4. A collection of -orthogonal ( σ , k ) -de Bruijn sequences corresponds to a collection of Hamiltonian cycles in G σ , k + 1 such that each arc is used at most times. Note that the all-zero vertex 0 k in G σ , k + 1 (assuming A = [ 0 , σ 1 ] ) has σ 1 incoming arcs, σ 1 outgoing arcs, and a loop. Note that for a directed graph G and a vertex v of G, an incoming arc of v refers to an arc of the form ( w , v ) , for some w v , while an outgoing arc of v refers to an arc of the form ( v , x ) , for some x v ; a loop on v is an arc ( v , v ) . Also note that a Hamiltonian cycle cannot involve a loop. Therefore, by the pigeonhole principle, any collection of more than   ( σ 1 ) Hamiltonian cycles on G σ , k + 1 uses at least one of the σ 1 incoming arcs of 0 k more than times. □
Theorem 1. 
If   σ k 1 and σ 3 , then
Ω ( σ , k ) 2 ; Ω ( σ , k ) σ / 2 .
This result is intuitively expected, despite its proof being nontrivial. Before proceeding with the proof, we introduce the concept of “wiring” described in [8,9].
Definition 5. 
Let G be a directed graph with an Eulerian circuit C, and let v be a vertex in G. For a graph to be Eulerian, each vertex must have the same in-degree and out-degree, so that its incoming arcs and outgoing arcs are paired up in the circuit. A wiring of v [8], or a transition system at v [9], is a 1-regular bipartite undirected graph (i.e., a matching) between two vertex sets representing the incoming arcs and outgoing arcs of v. More precisely, the wiring of v induced by C, denoted by W ( v , C ) , is a wiring such that an incoming arc a i connects to an outgoing arc a o if and only if the Eulerian circuit C uses a i and a o in consecutive order. In the case that v has a self-loop, we treat that loop as both an incoming arc and an outgoing arc.
We say two Eulerian circuits are compatible [9] if the induced wirings are edge-disjoint at each vertex, i.e., two Eulerian circuits are compatible if they do not use the same in/out arc pair at any vertex. This leads to the following characterization of orthogonal de Bruijn sequences: A collection of ( σ , k ) -de Bruijn sequences is orthogonal if and only if their corresponding Eulerian circuits in G σ , k are pairwise compatible.
In our proof of Theorem 1, we will make use of the following lemmas regarding wirings.
Lemma 1 
([8] Theorem 7). Let G = ( V , A ) be a directed graph with an Eulerian circuit C and let v V . Let d e g ( v ) denote the in/out-degree of v (i.e., the in-degree of v, which is equal to the out-degree of v). If d e g ( v ) 3 , there exists an Eulerian circuit C , denoted by C ( v , C ) , such that
  • W ( v , C ) and W ( v , C ) are edge-disjoint;
  • W ( v , C ) = W ( v , C ) for all v V { v } .
In words, we can rewire v with respect to C to obtain C so that C does not use the same in/out arc pair of v as C; the wirings at other vertices in C remain the same as in C.
Lemma 2 
([8] Theorem 8; [9] Theorem 1). Let G = ( V , A ) be an directed graph with an Eulerian circuit C, and let C 1 , C 2 , , C t be compatible Eulerian circuits of G. Furthermore, let v V . If t deg ( v ) / 2 1 , then there exists an Eulerian circuit C , denoted by C ( v , C | C 1 , , C t ) such that the following holds:
  • W ( v , C ) and W ( v , C i ) are edge-disjoint for 1 i t ;
  • W ( v , C ) = W ( v , C ) for all v V { v } .
Intuitively speaking, given the current Eulerian circuit C and previous circuits C 1 , , C t , we can rewire v with respect to C to obtain C such that none of C 1 , , C t uses the same in/out arc pair of v as C .
Proof of Theorem 1. 
We first prove Ω ( σ , k ) σ / 2 for σ 4 . Let C 1 , 1 be an Eulerian circuit of G σ , k . We arbitrarily partition the vertices in G σ , k into groups, say V 1 , , V . Then, for j [ 2 , ] , we recursively define
C 1 , j : = C ( V j 1 , C 1 , j 1 | C 1 , 1 ) ,
where for a collection of vertices V the notation C ( V , C | C 1 , , C t ) refers to an Eulerian circuit obtained by rewiring each vertex in V with respect to C given C 1 , , C t . Writing V = { v 1 , , v q } , we define C ( V , C | C 1 , , C t ) : = C ( q ) , where C ( 0 ) : = C and C ( q ) : = C ( v q , C ( q 1 ) | C 1 , , C t ) , for q [ 1 , q ] .
Remark 1. 
It is noteworthy that a different labeling of elements in V may lead to different C ( V , C | C 1 , , C t ) . That is, C ( V , C | C 1 , , C t ) is not unique. However, in this proof, we can use any one of C ( V , C | C 1 , , C t ) to construct the circuits of interest.
Next, write K σ / 2 . Note that every vertex in G σ , k has in/out-degree σ . Thus, by Lemma 2, for any Eulerian circuit C and any vertex v of G σ , k , we can always rewire v with respect to C given any collection of less than K compatible Eulerian circuits. This ensures that the following recursive definitions hold: For i [ 2 , K 1 ] ,
C i , 1 : = C ( V , C i 1 , | C 1 , 1 , , C i 1 , 1 ) ,
and for j [ 2 , ] ,
C i , j : = C ( V j 1 , C i , j 1 | C 1 , 1 , , C i , 1 ) .
Next, define
C K , 1 : = C ( V , C K 1 , | C 1 , 1 , , C K 1 , 1 ) ,
and for j [ 2 , ] , let
C K , j : = C ( V j 1 , C K , j 1 | C 2 , 1 , , C K , 1 ) .
Note that in (6), the conditioned circuits start from C 2 , 1 instead of C 1 , 1 . We claim that the following collection C : = { C i , j | i [ 1 , K ] , j [ 1 , ] } is -orthogonal. Let v be in the mth group of vertices, V m , for some m [ 1 , ] . Observe that the following holds:
  • For each i [ 1 , K 1 ] , the wiring of v is the same in all C i , m + 1 , , C i , , C i + 1 , 1 , , C i + 1 , m . Denote it by W i . Denote by W 0 and W K the shared wiring of v in C 1 , 1 , , C 1 , m and C K , m + 1 , , C K , , respectively.
  • The wirings W i and W i are edge-disjoint for i [ 0 , K ] , i [ 1 , K 1 ] and i i . Thus, each in/out arc pair of v used in any W 1 , , W K 1 is used exactly times in C .
  • Even if W 0 and W K share some edge in their bipartite graphs, that edge is used only times (m times by W 0 and m times by W K ). This establishes the claim.
Now we prove Ω ( σ , k ) 2 as long as σ 3 . Again, let C 1 , 1 be an Eulerian circuit of G σ , k . We recursively apply Lemma 1 to define for j [ 2 , ] that
C 1 , j : = C ( V j 1 , C 1 , j 1 ) ,
Next, define
C 2 , 1 : = C ( V , C 1 , ) ,
and for j [ 2 , ] , let
C 2 , j : = C ( V j 1 , C 2 , j 1 ) .
A similar argument shows that C : = { C i , j | i { 1 , 2 } , j [ 1 , ] } is -orthogonal. □
Example 2. 
This example demonstrates the rewiring process from the proof of Theorem 1. Consider k = 2 , A = { 0 , 1 , 2 } , and = 2 . We seek to find 2 = 4 Eulerian circuits on G 3 , 2 such that each in/out arc pair of each vertex is used at most twice. We first partition V ( G 3 , 2 ) = { 0 , 1 , 2 } into V 1 = { 0 } and V 2 = { 1 , 2 } . Also, we select the starting circuit C 1 , 1 to be the Eulerian circuit in G 3 , 2 for the ( 3 , 2 ) -de Bruijn sequence 012002211. With a slight abuse of notation, we write C 1 , 1 = 012002211 . According to (7)–(9), the rewired circuits are C 1 , 2 = 012022110 , C 2 , 1 = 011220210 , and C 2 , 2 = 011220021 (Figure 2). Comparing Figure 1b and Figure 2, we see that each vertex has two edge-disjoint wirings (gray and violet), each of which appears twice in the collection { C 1 , 1 , C 1 , 2 , C 2 , 1 , C 2 , 2 } .

4. Orthogonal Balanced de Bruijn Sequences

We start with several definitions relevant to the balanced de Bruijn sequence defined in Definition 3.
Definition 6. 
A b-balanced ( σ , k ) -de Bruijn sequence s is self-orthogonal if any sequence in A k + 1 appears at most once in s . A collection of b-balanced ( σ , k ) -de Bruijn sequences C = { s 1 , , s M } is called orthogonal if each sequence in A k + 1 appears at most once in C .
Remark 2. 
Clearly, a b-balanced de Bruijn sequence in an orthogonal collection is self-orthogonal.
Definition 7. 
Let b 1 , G be a directed graph, and let C be a circuit of G. We say that C is ab-circuit of G if C visits each vertex of G exactly b times.
Remark 3. 
A b-circuit is sometimes referred to as an exact b-walk [13].
Proposition 2. 
There is a one-to-one correspondence between self-orthogonal b-balanced ( σ , k ) -de Bruijn sequences and b-circuits on G σ , k + 1 . A collection of b-balanced ( σ , k ) -de Bruijn sequences is orthogonal if and only if each sequence is self-orthogonal and their corresponding b-circuits are arc-disjoint.
Example 3. 
Consider k = 2 , A = { 0 , 1 , 2 } , and b = 2 . The circular sequences s 1 = 000111222020212101 and s 2 = 002211012001122021 are two 2-balanced ( 3 , 2 ) -de Bruijn sequences since each length-2 sequence over { 0 , 1 , 2 } appears exactly twice in both s 1 and s 2 . The sequence s 1 is not self-orthogonal since the length-3 sequence 202 appears twice in s 1 . On the other hand, s 2 is self-orthogonal, and it corresponds to the 2-circuit 00 02 22 21 11 10 01 12 20 00 01 11 12 22 20 02 21 10 00 on G 3 , 3 (see Figure 3).
Fix σ . Observe that when b increases, the number of length-( k + 1 ) sequences in any two b-balanced ( σ , k ) -de Bruijn sequences increases as well, making them less likely to be orthogonal. This motivates the following definition: For c 2 , define Σ ( c , b , k ) to be the minimum σ such that there exist c orthogonal b-balanced ( σ , k ) -de Bruijn sequences.
We start by establishing a lower bound on Σ ( c , b , k ) .
Proposition 3. 
If b 2 , then Σ ( c , b , k ) c b .
Proof. 
Similar to the proof of Proposition 1, we observe that there are σ outgoing arcs for each vertex in G σ , k + 1 . By Proposition 2, a self-orthogonal b-balanced de Bruijn sequence uses exactly b incoming and outgoing arcs at each vertex. Therefore, since c orthogonal b-balanced de Bruijn sequences share no arcs, they must use c b distinct outgoing arcs at each vertex. This is impossible if σ < c b . □
We also have the following upper bound on Σ ( c , b , k ) .
Theorem 2. 
For b 2 , Σ ( c , b , k ) is at most the smallest prime power that is greater than or equal to c b . Furthermore, Σ ( c , b , k ) = c b if each prime factor of c divides b.
To prove Theorem 2, we establish the following lemmas.
Lemma 3. 
Assume b 2 , σ = p m for some prime p and positive integer m, and σ c b . Then there exist c orthogonal b-balanced ( σ , k ) -de Bruijn sequences.
Proof. 
Since σ is a prime power, by [10] Lemma 2, there exist cycles C 0 , , C σ 1 on G σ , k + 1 such that the following holds:
  • For i , j [ 0 , σ 1 ] with i j , the cycles C i and C j are arc-disjoint.
  • For i [ 0 , σ 1 ] , the cycle C i does not visit the vertex representing the sequence i i i (assuming A = [ 0 , σ 1 ] ) and visits all the other vertices exactly once.
  • Then, for each t [ 0 , c 1 ] , we can construct a circuit C ^ t as follows. Let C ˜ b t + i be the cycle C b t + i with an additional transition following the loop on the vertex representing the all- ( b t + i + 1 ) sequence, where i [ 0 , b 2 ] . Note that this definition is valid since C b t + i must visit the all- ( b t + i + 1 ) sequence. Also, let C ˜ b t + b 1 be the cycle C b t + b 1 with an additional transition following the loop at the all- ( b t ) vertex. Then, let C ^ t be a combination of C ˜ b t , , C ˜ b t + b 1 (a combination of C ˜ b t , , C ˜ b t + b 1 is a closed walk whose arcs are exactly those in C ˜ b t , , C ˜ b t + b 1 ). Since each pair of C ˜ i , C ˜ j meets at some vertex, such a closed walk always exists. Then, observe the following: (a) the arcs used in C ^ t are those in C b t , , C b t + b 1 and the loops at the all- ( b t + i ) vertices for i [ 0 , b 1 ] ; (b) C b t , , C b t + b 1 are arc-disjoint and do not use any loops; (c) for i [ 0 , b 1 ] , the all- ( b t + i ) vertex is visited b times in C ^ t (twice by C ^ b t + ( ( i 1 ) mod b ) , never by C ^ b t + i , and once by each remaining C ^ b t + j ); (d) each of the remaining vertices in G σ , k + 1 is also visited b times in C ^ t (once by each C ^ b t + j ). Therefore, C ^ t is a b-circuit on G σ , k + 1 . The arc-disjointness and no-loop property of the C i s imply that C ^ t and C ^ t are arc-disjoint for t t . Thus, C ^ 0 , , C ^ c 1 are orthogonal b-balanced ( σ , k ) -de Bruijn sequences. □
Lemma 4. 
Let G 1 = ( V 1 , A 1 ) and G 2 = ( V 2 , A 2 ) be two directed graphs. Write N 1 : = | V 1 | and N 2 : = | V 2 | . Assume G 1 has n 1 arc-disjoint b 1 -circuits and G 2 has n 2 arc-disjoint b 2 -circuits. If N 1 b 1 and N 2 b 2 are coprime, then the tensor-product graph G 1 × G 2 has n 1 n 2 arc-disjoint b 1 b 2 -circuits.
Proof. 
Let C 1 ( 1 ) , , C 1 ( n 1 ) be arc-disjoint b 1 -circuits of G 1 and C 2 ( 1 ) , , C 2 ( n 2 ) be arc-disjoint b 2 -circuits of G 2 .
Then, for each i [ 1 , n 1 ] and j [ 1 , n 2 ] , define C i , j to be the subgraph of G 1 × G 2 with arc set
A i , j : = ( ( v 1 , v 2 ) , ( v 1 , v 2 ) ) | ( v 1 , v 1 ) A ( C 1 ( i ) ) and ( v 2 , v 2 ) A ( C 2 ( j ) ) ,
where for a directed graph G, we use A ( G ) to denote its arc set.
We first show that C i , j is a circuit. Since C 1 ( i ) is a circuit of length N 1 b 1 , we can traverse C 1 ( i ) following a circular sequence of distinct arcs ( a 1 , a 2 , , a N 1 b 1 ) , where each a k A 1 and the target of a k equals the source of a k + 1 . Similarly, we can represent C 2 ( j ) by a circular sequence of arcs ( d 1 , d 2 , , d N 2 b 2 ) , where each d A 2 and the target of d k equals the source of d k + 1 . Then, with a slight abuse of notation, we write A i , j = { ( a k , d ) | k [ 1 , N 1 b 1 ] , [ 1 , N 2 b 2 ] } . Now fix an arc ( a k , d ) of C i , j . We can traverse C i , j starting from ( a k , d ) and by following ( a k + 1 , d + 1 ) , ( a k + 2 , d + 2 ) , etc. Then, the next time ( a k , d ) is used is after lcm ( N 1 b 1 , N 2 b 2 ) = N 1 N 2 b 1 b 2 steps. However, note that there are exactly N 1 N 2 b 1 b 2 arcs in C i , j . Therefore, right before the next use of ( a k , d ) in C i , j , each arc in C i , j has been traversed, and thus C i , j represents a single closed walk on G 1 × G 2 . Furthermore, if some arc is repeated, starting the traversal from that arc would contradict the fact that the next use of each arc has to happen after N 1 N 2 b 1 b 2 steps. Hence, C i , j is a circuit. Then, since C 1 ( i ) and C 1 ( i ) are arc-disjoint for i i and C 2 ( j ) and C 2 ( j ) for j j , we have that C i , j and C i , j are arc-disjoint when either i i or j j .
To verify that each C i , j is a b 1 b 2 circuit, it remains to show that each C i , j visits each vertex in G 1 × G 2 exactly b 1 b 2 times. Fix a vertex v in G 1 × G 2 . Write v = ( v 1 , v 2 ) for some v 1 V 1 and v 2 V 2 . On C 1 ( i ) , the vertex v 1 has exactly b 1 outgoing arcs, say a 1 , , a b 1 . Similarly, the outgoing arcs of the vertex v 2 on C 2 ( j ) are denoted by d 1 , , d b 2 . Therefore, the outgoing arcs of ( v 1 , v 2 ) on C i , j are of the form ( a k , d ) , where k [ 1 , b 1 ] and [ 1 , b 2 ] . Since ( v 1 , v 2 ) has exactly b 1 b 2 outgoing arcs in C i , j , it is visited exactly b 1 b 2 times in C i , j . Since v is arbitrary, C i , j is a b 1 b 2 -circuit.
In conclusion, we have shown that { C i , j } i [ 1 , n 1 ] , j [ 1 , n 2 ] is a collection of n 1 n 2 arc-disjoint b 1 b 2 -circuits. □
Lemma 5. 
The tensor-product graph G σ 1 , k × G σ 2 , k is isomorphic to G σ 1 σ 2 , k .
Sketch of the proof. 
Without loss of generality, assume that the alphabets of G σ 1 , k , G σ 2 , k , and G σ 1 σ 2 , k are [ 0 , σ 1 1 ] , [ 0 , σ 2 1 ] , and [ 0 , σ 1 σ 2 1 ] , respectively. It is not hard to show that the following mapping is a graph isomorphism:
G σ 1 σ 2 , k G σ 1 , k × G σ 2 , k ( s 0 , , s k 2 ) ( ( q 0 , , q k 2 ) , ( r 0 , , r k 2 ) ) ,
where for i [ 0 , k 2 ] , we write q i and r i for the quotient and remainder of s i when divided by σ 2 , respectively. Note that the construction in (10) is related to the proofs of [10] Lemma 3 and [14] Lemma 3. □
Sketch of the proof of Theorem 2. 
Lemma 3 established the first statement in the theorem. Now, assume that each prime factor of c divides b. Then, we can write c = p 1 x 1 p m x m and b = p 1 y 1 p m y m R , where p 1 , , p m are distinct prime numbers, x 1 , , x m , y 1 , , y m are positive integers, and none of the p 1 , , p m divides R.
Now consider the following m + 1 de Bruijn graphs G p 1 x 1 + y 1 , k + 1 , , G p m x m + y m , k + 1 ,   G R , k + 1 . By Lemma 3, for each i [ 1 , m ] , G p i x i + y i , k + 1 has p i x i arc-disjoint p i y i -circuits. We also know that G R , k + 1 has one R-circuit, which is essentially an Eulerian circuit on it. Then, by repeatedly applying Lemma 4 and Lemma 5, we can see that G i = 1 m p i x i + y i R , k + 1 has i = 1 m p i x i arc-disjoint ( i = 1 m p i y i R ) -circuits. Equivalently, G c b , k + 1 has c arc-disjoint b-circuits. Therefore, Σ ( c , b , k ) c b . We conclude that Σ ( c , b , k ) = c b by invoking Proposition 3. □
Example 4. 
Consider c = 2 , b = 6 , and k = 2 in Theorem 2. In this case, p 1 = 2 , x 1 = y 1 = 1 , and R = 3 . Next, examine the two de Bruijn graphs G 4 , 3 and G 3 , 3 . We associate G 3 , 3 with the Eulerian circuit E = 100020212210222001012112011 .
Lemma 3 implies that G 4 , 3 has two arc-disjoint 2-circuits, constructed as follows. The cycles C 0 , C 1 , C 2 , C 3 are
C 0 = 011310221203323 , C 1 = 100201330312232 , C 2 = 233132003021101 , C 3 = 322023112130010 .
Then, the circuit C ˜ 0 is defined by C 0 following the loop on the vertex 11. Written as a sequence, C ˜ 0 = 0111310221203323 . Note that the loop on 11 induces the length-3 substring 111 in C ˜ 0 . Similarly, we have
C ˜ 1 = 1000201330312232 , C ˜ 2 = 2333132003021101 , C ˜ 3 = 3222023112130010 .
Let C ^ 0 and C ^ 1 be a combination of C ˜ 0 and C ˜ 1 and one of C ˜ 2 and C ˜ 3 , respectively. For example, we can take
C ^ 0 = 01113102212033230133031223210002 , C ^ 1 = 23331320030211012311213001032220 .
Then, C ^ 0 and C ^ 1 are arc-disjoint 2-circuits on G 4 , 3 .
Then, we define A 0 = 3 C ^ 0 + E and A 1 = 3 C ^ 1 + E , where we treat C ^ 0 , C ^ 1 , and E as infinitely long periodic sequences, and with additions performed entry-wise. Here the coefficient 3 in front of C ^ 0 and C ^ 1 arises from the size of the alphabet of E. The first few terms of A 0 are ( 1 , 3 , 3 , 3 , 11 , ) , and the period of A 0 is lcm ( 32 , 27 ) = 864 since C ^ 0 has period 32 and E has period 27. By Lemmas 4 and 5, A 0 and A 1 correspond to two arc-disjoint 6-circuits on G 12 , 3 .

5. Orthogonal Fixed-Weight de Bruijn Sequences

As pointed out, in many applications we are allowed to only use sequences with constrained compositions. We therefore first generalize the definition of de Bruijn sequences in a way that its length-k substrings belong to a constrained subset of length-k sequences.
Definition 8 
([6] Section 1). Let k 1 , A be an alphabet of size σ 2 , and let L be a subset of A k . A circular sequence s = ( s 0 , s 1 , , s | L | 1 ) is called a de Bruijn sequence with respect to L if each sequence in L appears as a circular substring of s exactly once.
Similar to the nonrestricted case, restricted de Bruijn sequences can be characterized as Eulerian circuits of a specialized directed graph, defined as follows.
Definition 9 
([6] Section 2; [4] Section 3). Let k 1 , and let A be an alphabet of size σ 2 . Let L be a proper subset of A k . Define the de Bruijn graph with respect to L as a directed graph D ( L ) with the vertex set V ( D ( L ) ) being the collection of all length- ( k 1 ) prefixes and length- ( k 1 ) suffixes of sequences in L, and with arc set
A ( D ( L ) ) : = { ( s 1 , s 2 ) V ( D ( L ) ) 2 | there is a sequence in L with prefix s 1 and suffix s 2 } .
Then, there is a one-to-one correspondence between de Bruijn sequences with respect to L and Eulerian circuits of D ( L ) . Note that for some choices of L, there may not exist a de Bruijn sequence with respect to L or an Eulerian circuit in D ( L ) .
We say that two de Bruijn sequences with respect to L are orthogonal if they have no common length- ( k + 1 ) circular substring. Similarly, two de Bruijn sequences with respect to L are orthogonal if and only if their corresponding Eulerian circuits on D ( L ) are compatible. We seek to analyze the restricted de Bruijn graph D ( L ) in Definition 8, where L is the collection of all sequences of certain restricted weights.
Formally, write A = W X , where W represents the set of “weighted symbols”, while X represents the set of “nonweighted” symbols, with both W and X nonempty and disjoint. Then, for any n 1 and each s = ( s 0 , , s n 1 ) A n , we define the weight of s , ω ( s ) , as the number of entries of s in W : ω ( s ) : = i = 0 n 1 𝟙 { s i W } .
Then, for 0 w w k , we define A w w ( k ) to be the collection of all sequences in A k with weight between w and w. Our interest lies in orthogonal de Bruijn sequences with respect to A w 1 w ( k ) for w [ 1 , k ] , i.e., compatible Eulerian circuits on D ( A w w ( k ) ) when w and w differ by 1. Note that this is the smallest difference between w and w we can consider due to the following fact: If w = w , then D ( A w w ( k ) ) = D ( A w w ( k ) ) is not strongly connected and thus not Eulerian unless w { 0 , 1 , k 1 , k } [6]. The reason is that any vertex whose weight representation contains the substring 1010 can never reach a vertex with weight representation 111 000 . Here, the weight representation of s = ( s 0 , , s k 2 ) , denoted by χ ( s ) , is the binary vector χ ( s ) : = ( 𝟙 s 0 W , , 𝟙 s k 2 W ) .
Next, we generalize the arguments in [6] and characterize the vertices of D ( A w 1 w ( k ) ) , as well as their degrees. To simplify our discussion, we further assume that w [ 2 , k 1 ] . First, note that any length- ( k 1 ) prefix or suffix of any string from A w 1 w ( k ) is necessarily of weight w 2 , w 1 , or w. Conversely, any length- ( k 1 ) string whose weight is between w 2 and w can be seen as a prefix of some string in A w 1 w ( k ) . As a result, the vertex set V ( D ( A w 1 w ( k ) ) ) is equal to the set A w 2 w ( k 1 ) . Then, for s = ( s 0 , , s k 2 ) V ( D ( A w 1 w ( k ) ) ) with ω ( s ) = w 2 , we observe that its predecessors and successors are { ( α , s 0 , , s k 3 ) | α W } and { ( s 1 , , s k 2 , β ) | β W } , respectively. Thus, the in-degree and out-degree of each s V ( D ( A w 1 w ( k ) ) ) with ω ( s ) = w 2 are equal to | W | . Similarly, for s V ( D ( A w 1 w ( k ) ) ) with ω ( s ) = w , the in- and out-degrees equal | X | . For s V ( D ( A w 1 w ( k ) ) ) with ω ( s ) = w 1 , there are no restrictions, and thus, its in- and out-degrees equal | A | = | W | + | X | .
The following theorem characterizes the number of orthogonal de Bruijn sequences with respect to A w 1 w ( k ) :
Theorem 3. 
Let w [ 2 , k 1 ] . The de Bruijn graph D ( A w 1 w ( k ) ) has a collection of min ( | W | , | X | ) compatible Eulerian circuits. Furthermore, this is the largest possible collection. In particular, A w 1 w ( k ) has an Eulerian circuit.
This finding is consistent with the results of [4] Proposition 3, which state that D ( A w w ( k ) ) always has an Eulerian circuit as long as w < w .
Proof of Theorem 3. 
Without loss of generality, we assume that | W | | X | since the other case can be handled similarly. Since each vertex in the de Bruijn graph D ( A w 1 w ( k ) ) has in/out-degree | W | , | X | , or | W | + | X | , there is no collection of more than | W | pairwise compatible Eulerian circuits of D ( A w 1 w ( k ) ) .
Before we proceed, we recall the vertex-splitting technique mentioned in [9]: Given a directed graph G = ( V , A ) , a vertex v with both in-degree and out-degree d that has no loop, and a wiring (transition system) W on v, we can define another directed graph G = ( V , A ) by “splitting v along W” as follows: The vertex set of G is V = V { v 1 , v 2 , , v d } { v } , where v 1 , , v d are newly introduced vertices. In other words, we remove v from G and add d new vertices. Each v j has in/out-degree 1, and its predecessor and successor are determined by exactly one edge of W. The arcs on all the other vertices V { v } remain the same as in G.
Then, we enumerate W = { w 0 , w 1 , , w | W | 1 } and X = { x 0 , x 1 , , x | X | 1 } . For each vertex s = ( s 0 , , s k 2 ) of D ( A w 1 w ) of weight w 2 , we can define | W | edge-disjoint wirings W 0 ( s ) , , W | W | 1 ( s ) on s by the following rule: For j [ 0 , | W | 1 ] , the wiring W j ( s ) is defined by pairing the incoming arc ( w i , s 0 , , s k 3 ) with the outgoing arc ( s 1 , , s k 2 , w ( i + j ) mod | W | ) for each i [ 0 , | W | 1 ] . Similarly, for each vertex v = ( v 0 , , v k 2 ) in D ( A w 1 w ) of weight w and for j [ 0 , | W | 1 ] , we define the wiring W j ( v ) by pairing the incoming arc ( x i , s 0 , , s k 3 ) with the outgoing arc ( s 1 , , s k 2 , x ( i + j ) mod | X | ) for each i [ 0 , | X | 1 ] . Recall that | W | | X | , and thus W 0 ( v ) , , W | W | 1 ( v ) are edge-disjoint as well.
Now, for each j [ 0 , | W | 1 ] , we define G j to be the directed graph obtained from D ( A w 1 w ( k ) ) by splitting every vertex s of weight w 2 along W j ( s ) and splitting every vertex v of weight w along W j ( v ) . If each G j admits an Eulerian cycle, then by “merging back the splitted vertices”, we obtain | W | Eulerian circuits C 0 , , C | W | 1 on D ( A w 1 w ( k ) ) such that for each vertex with weight w 2 or w, no in/out arc-pair is used twice in these C j . Then, since the remaining weight- ( w 1 ) vertices have degree | W | + | X | 2 | W | , for each j we can repeatedly apply Lemma 2 to rewire each weight- ( w 1 ) vertex in C j given C 0 , , C j 1 . After this process, we obtain | W | compatible Eulerian circuits on D ( A w 1 w ( k ) ) .
It remains to show that each G j indeed has an Eulerian circuit. Since each vertex in G j either has in/out degree 1 or in/out degree | W | + | X | , it suffices to verify that G j is strongly connected. Let v = ( v 0 , , v k 2 ) and v = ( v 0 , , v k 2 ) be two vertices in G j . We first show that from v , we can reach v if v has weight w 1 . Write the weight representations of v and v as χ ( v ) = ( b 0 , , b k 2 ) and χ ( v ) = ( b 0 , , b k 2 ) , respectively. Also, consider the following generalized de Bruijn graph D ( B w 1 w ( k ) ) , where B consists of only one weighted symbol 1 and one nonweighted symbol 0. By [6] Corollary 2.3, there is a path P from χ ( v ) to χ ( v ) on D ( B w 1 w ( k ) ) . Write the binary sequence induced by P as p = ( a 0 , a T ) , where ( a 0 , , a k 2 ) = ( b 0 , , b k 2 ) and ( a T k + 2 , , a T ) = ( b 0 , , b k 2 ) . Then, observe that we can “follow the same path P” to walk on G j from v to some vertex having the same weight representation as v . That is, there is a path P on G j from v to some v = ( v 0 , , v k 2 ) such that the induced sequence of P has weight representation p and the weight representation of v satisfies χ ( v ) = χ ( v ) . This claim can be easily established by induction on the length of P.
Then, note that since v and v have the same weight representation and they all share the same weight w 1 , we can traverse from v to v using a walk P that induces the sequence p = ( v 0 , , v k 2 , v 0 , , v k 2 ) . The weight representation of each length-k substring in p has a prefix that is a circular shift of χ ( v ) , and thus each length-k substring in p has weight w or w 1 . Therefore, P is a valid walk in D ( A w 1 w ( k ) ) . Furthermore, each length- ( k 1 ) substring in p has a weight representation equal to a circular shift of χ ( v ) , and thus the walk P in D ( A w 1 w ( k ) ) only visits vertices of weight w 1 . Thus, the walk P is unaffected by the splitting process and remains present in G j . In conclusion, we can walk on G j from v to v and then from v to v , provided that v has weight w 1 .
Now consider the case where v has weight w or w 2 . If v has weight w 2 , we can traverse in a reverse direction from v to its unique predecessor pred ( v ) , and then if pred ( v ) still has weight w 2 , traverse to pred ( pred ( v ) ) , and so on. Since each traversal appends a symbol of weight 1 to the left of v and removes the right-most symbol of v , we will reach a weight- ( w 1 ) vertex (say v ^ ) in G j after k t + 1 reverse steps, where b t is the last 0 in χ ( v ) . We can then apply the previous result to see that we can start from v to reach v ^ , and then, since v ^ is obtained from a reverse traversal from v , walk from v ^ to v . A similar argument holds when v has weight w.
These arguments show that G j is strongly connected and thus has an Eulerian circuit. □
Example 5. 
Consider W = { C , G } , X = { A , T } , k = 4 , and w = 3 . Then, A = { A , T , C , G } and A w 1 w ( k ) = A 2 3 ( 4 ) represent the collection of all length-4 sequences over { A , T , C , G } with weight 2 or 3, where the “weight” of a word is determined by the number of symbols that are either C or G (i.e., the G C content). The vertices of the de Bruijn graph D ( A 2 3 ( 4 ) ) are all length-3 sequences of weight 1, 2, or 3. For example, consider the vertex C A A , which has weight 1. It has two incoming arcs, one from C C A and the other from G C A . The two outgoing arcs of this vertex point toward A A C and A A G , respectively.
For each vertex v ˜ of D ( A 2 3 ( 4 ) ) with weight 1 or 3, the wiring W 0 ( v ˜ ) associates each of its predecessors p to the successor s such that the first symbol of p equals the last symbol of s . For example, the vertex v ^ = C A A has predecessors p 0 = C C A , p 1 = G C A and successors s 0 = A A C , s 1 = A A G , and the wiring W 0 ( v ^ ) pairs p 0 with s 0 and p 1 with s 1 . Then, in the split graph G 0 , the original vertex v ^ = C A A is split to two vertices C A A C and C A A G , where the subscript C or G denotes the first symbol of its only predecessor, which is equal to the last symbol of its only successor. More explicitly, C A A C has only one incoming arc from C C A and only one outgoing arc toward A A C C , and C A A G has only one incoming arc from G C A and only one outgoing arc toward A A G C .
We show next that from v = C A A G , we can, for example, reach v * = T C T G on this split graph G 0 . First, since v * = T C T G has weight 1 = w 2 , we first reversely traverse the graph starting from T C T G to reach its only predecessor v = G T C , which has weight 2 = w 1 . Then, the weight representations of v and v read as 100 and 101, respectively. We then apply the proof steps in [6] Lemma 2.2 and [6] Corollary 2.3 to construct a path P from 100 to 101 on the binary version of the de Bruijn graph D ( B 2 3 ( 4 ) ) . It turns out that this path P induces the sequence 1001101 on D ( B 2 3 ( 4 ) ) , and by an abuse of notation we write P = 1001101 . Based on P, we find that the path P = C A A G C A C is a valid path on G 0 from v = C A A G to v = C A C . More explicitly, P traverses in the following order: C A A G A A G C A G C G C A C A C . Note that the weight representation of v = C A C is the same as that of v = G T C . Then, we can initiate a walk from v = C A C to v = G T C following the path C A C G T C on G 0 . These arguments shows that from v we can reach v * through v v v v * .

6. Generalized Orthogonal Kautz Sequences

Next, we study possible extensions of the concepts of generalized orthogonal de Bruijn sequences to Kautz sequences. More explicitly, we introduce the notions of -orthogonal Kautz sequences, orthogonal balanced Kautz sequences, and orthogonal fixed-weight Kautz sequences. We start by recalling the definition of Kautz sequences.
Definition 10. 
Let k 1 , and let A be an alphabet of size σ 3 . Define K k ( A ) to be the collection of all sequences in A k that do not have two or more adjacent identical characters (i.e., no run lengths/homopolymers of length at least two). Then, a circular sequence s = ( s 0 , s 1 , , s σ ( σ 1 ) k 1 1 ) is called a  ( σ , k ) -Kautz sequence if each sequence in K k ( A ) appears as a circular substring of s exactly once.
Remark 4. 
Using the terminology in Definition 8, a Kautz sequence can be interpreted as a de Bruijn sequence with respect to the set K k ( A ) .
Similar to de Bruijn sequences, Kautz sequences are closely related to Kautz graphs. Using the notation in Definition 9, a Kautz graph G σ , k Kautz : = D ( K k ( A ) ) is a generalized de Bruijn graph with respect to the set K k ( A ) . Consequently, there is a one-to-one correspondence between the ( σ , k ) -Kautz sequences and the Eulerian circuits on G σ , k Kautz [8]. In addition, there is also a one-to-one correspondence between the ( σ , k ) -Kautz sequences and the Hamiltonian cycles on G σ , k + 1 Kautz [8].
Example 6. 
Consider the DNA alphabet A = { A , T , C , G } and k = 2 . The sequence s = A T C G A G C T G T A C is a ( 4 , 2 ) -Kautz sequence since each length-2 sequence of unequal symbols from A appears as a circular substring of s exactly once. Figure 4a depicts the Kautz graph G 4 , 2 Kautz , which has an Eulerian circuit corresponding to s . The wiring induced by that circuit is illustrated in Figure 4b. The sequence s can also be represented by a Hamiltonian cycle on the Kautz graph G 4 , 3 Kautz in Figure 4c. This cycle is given by A T T C C G G A A G G C C T T G G T T A A C C A A T .

6.1. -Orthogonal Kautz Sequences

By generalizing Definition 4, we describe the notion of -orthogonality of Kautz sequences as follows. A collection of ( σ , k ) -Kautz sequences C = { s 1 , , s M } is called -orthogonal if each sequence in K k + 1 ( A ) appears at most times in C , where 1 and A is an alphabet of size σ . Similar to the case of de Bruijn sequences, for any collection C of ( σ , k ) -Kautz sequences, the following statements are equivalent:
  • C is -orthogonal.
  • The corresponding Eulerian circuits on G σ , k Kautz use each pair of consecutive arcs at most times.
  • The corresponding Hamiltonian cycles on G σ , k + 1 Kautz use each arc at most times.
Let Ω Kautz ( σ , k ) be the maximum cardinality of any collection of -orthogonal ( σ , k ) -Kautz sequences. By adapting the proofs of Proposition 1 and Theorem 1, we can bound Ω Kautz ( σ , k ) as follows.
Proposition 4. 
We have Ω Kautz ( σ , k ) ( σ 1 ) . If σ ( σ 1 ) k 2 and σ 4 , then we further have Ω Kautz ( σ , k ) 2 and Ω Kautz ( σ , k ) ( σ 1 ) / 2 .
Sketch of the proof. 
First observe that every vertex in the Kautz graph G σ , k Kautz has σ 1 incoming arcs, σ 1 outgoing arcs, and no loop. The same arguments in the proof of Proposition 1 proves the upper bound on Ω Kautz ( σ , k ) .
Furthermore, note that by adapting the proof of Theorem 1, we actually can establish the following claim: For any Eulerian directed graph G with minimum in/out-degree δ and any | V ( G ) | , G has a collection of K Eulerian circuits such that each pair of consecutive arcs appears in this collection at most times, where K = 2 for δ = 3 and K = δ / 2 for δ 4 . The lower bounds on Ω Kautz ( σ , k ) can then be immediately deduced by the fact that the minimum in/out-degree of G σ , k Kautz is σ 1 . □
Example 7. 
We verify that the lower bound of Ω Kautz ( σ , k ) in Proposition 4 holds for σ = 4 , k = 2 , and = 2 . Setting these parameters in Proposition 4 gives Ω Kautz ( σ , k ) 2 = 4 . Thus, we seek to find a collection of four ( 4 , 2 ) -Kautz sequences such that each sequence in K 3 ( A ) appears at most twice in C . Following the proof of Theorem 1, we partition V ( G 4 , 2 ) into V 1 = { A , T } and V 2 = { C , G } and start with the Eulerian circuit C 1 , 1 = A T C G A G C T G T A C on G 4 , 2 . After the rewiring process, we obtain the following three ( 4 , 2 ) -Kautz sequences:
C 1 , 2 = A C A G C T A T G T C G , C 2 , 1 = A C T A T G C G T C A G , C 2 , 2 = A C T G C G T A G A T C .
It can be checked that the collection C = { C 1 , 1 , C 1 , 2 , C 2 , 1 , C 2 , 2 } is 2-orthogonal. For example, the string A T C appears twice (in C 1 , 1 and in C 2 , 2 ), while the string G A G appears once (in C 1 , 1 ), and the string A T A does not appear at all.

6.2. Orthogonal Balanced Kautz Sequences

We now generalize Definition 3 in order to define balanced Kautz sequences as follows.
Definition 11. 
Let k and A be as before, and let b 1 . We say that a circular sequence s = ( s 0 , s 1 , , s b σ ( σ 1 ) k 1 1 ) is a b-balanced  ( σ , k ) -Kautz sequence if each sequence in K k ( A ) appears as a circular substring of s exactly b times.
The following terminology is similar to that used in Section 4. We say that a collection C of b-balanced ( σ , k ) -Kautz sequences is orthogonal if each sequence in K k + 1 ( A ) appears at most once in C . A necessary condition for a ( σ , k ) -Kautz sequence s to belong to an orthogonal collection is that s itself contains no sequence in K k + 1 ( A ) more than once. In this case, we say that s is self-orthogonal. Then, there is a one-to-one correspondence between self-orthogonal b-balanced ( σ , k ) -Kautz sequences and b-circuits on G σ , k + 1 Kautz , where the b-circuits are defined as in Definition 7.
For c 2 , we define Σ Kautz ( c , b , k ) to be the smallest σ such that there exist c orthogonal b-balanced ( σ , k ) -Kautz sequences. We have the following bounds on Σ Kautz ( c , b , k ) :
Proposition 5. 
Assume b 2 and c 2 . Then we have c b + 1 Σ Kautz ( c , b , k ) 2 c b + 1 .
Sketch of the proof. 
The proof of the lower bound on Σ Kautz ( c , b , k ) is similar to that of Proposition 3 and is omitted.
To prove the upper bound, it suffices to prove that G 2 c b + 1 , k Kautz has c arc-disjoint b-circuits. We first invoke Lemma 2 to deduce that there are ( 2 c b + 1 1 ) / 2 = c b pairwise compatible Eulerian circuits on G 2 c b + 1 , k Kautz . These circuits correspond to c b arc-disjoint Hamiltonian cycles on G 2 c b + 1 , k Kautz . Then, we can arbitrarily partition the collection of these cycles into c groups, each having b cycles. The combination of the cycles in each group is a b-circuit on G 2 c b + 1 , k Kautz , and the b-circuits combined from different groups are arc-disjoint. Therefore, G 2 c b + 1 , k Kautz has c arc-disjoint b-circuits, which proves the upper bound on Σ Kautz ( c , b , k ) . □
Remark 5. 
Since de Bruijn sequences are also characterized by both Eulerian circuits and Hamiltonian cycles, applying the same steps in the proof of Proposition 5 gives Σ ( c , b , k ) 2 c b , where Σ ( c , b , k ) is defined in Section 4. However, Theorem 2 always gives an upper bound of Σ ( c , b , k ) strictly smaller than 2 c b since there is always a power of two contained in [ c b , 2 c b 1 ] .

6.3. Orthogonal Fixed-Weight Kautz Sequences

We first define fixed-weight Kautz sequences. Following the definitions in Section 5, consider the case A = W X with each symbol in W having weight 1 and each symbol in X having zero weight. For 0 w w k , we then define a fixed-weight Kautz sequence with parameters ( | A | , k , w , w ) as a de Bruijn sequence with respect to K k ( A ) A w w ( k ) . We have the following conditions on the existence of such sequences:
Proposition 6. 
A fixed-weight Kautz sequence with parameters ( | A | , k , w , w ) exists if and only if w and w satisfy one of the following conditions:
1. 
w = w = 0 ;
2. 
w = w = k ;
3. 
w { 0 , 1 } and w { k 1 , k } .
Proof. 
We first prove that the conditions in Proposition 6 imply the existence of a fixed-weight Kautz sequence with associated parameters. If w = w = 0 , then K k ( A ) A w w ( k ) = K k ( X ) , and the fixed-weight sequences are simply the ( | X | , k ) -Kautz sequences. Similarly, the case w = w = k , corresponds to ( | W | , k ) -Kautz sequences. Among the four subcases with w { 0 , 1 } and w { k 1 , k } , the subcase ( w , w ) = ( 0 , k ) corresponds to ( | A | , k ) -Kautz sequences since K k ( A ) A w w ( k ) = K k ( A ) . The remaining three subcases ( w , w ) = ( 0 , k 1 ) , ( w , w ) = ( 1 , k 1 ) , and ( w , w ) = ( 1 , k ) can be seen as a direct consequence of Proposition 7, which we will state and prove later.
Now, assume none of the conditions in Proposition 6 hold. We seek to show that the generalized de Bruijn graph D ( K k ( A ) A w w ( k ) ) is not Eulerian. Since Condition 3 fails to hold, we have either w 2 or w k 2 . First assume w 2 . Since Condition 2 fails to hold and w w , we can assume w k 1 . Now, note that the vertex set of D ( K k ( A ) A w w ( k ) ) is V ( D ( K k ( A ) A w w ( k ) ) ) = K k 1 ( A ) A w 1 w ( k 1 ) . Thus, we can pick a vertex v with weight w 1 in the form of v = ( a 0 , a 1 , , a w 2 , b w 1 , b k 2 ) , where a 0 , a 1 , a w 2 W and b w 1 , , b k 2 X . Since v has weight w 1 , each of its predecessors must start with a weight-1 symbol. Then note that v starts with a 0 W and no vertex can have two adjacent identical symbol, v has | W | 1 predecessors. Similarly, each of its successors must end with a weight-1 symbol, but since v ends with b k 2 X , v has | W | successors. Therefore, the in-degree of v is not equal to its out-degree, which implies that D ( K k ( A ) A w w ( k ) ) is not Eulerian.
The case w k 2 is handled similarly. Since Condition 1 fails to hold and w w , we can assume w 1 . Then we can pick a vertex v with weight w in the form of v = ( a 0 , a 1 , , a w 1 , b w , , b k 2 ) , where a 0 , a 1 , a w 1 W and b w , , b k 2 X . A similar argument shows that v has in-degree | X | and out-degree | X | 1 , which are not equal. □
Example 8. 
Let A = { A , T , C , G } and k = 3 . First consider w = w = 1 , which fails to meet any of the three conditions in Proposition 6. Figure 5a shows the fixed-weight Kautz graph D ( K 3 ( A ) A 1 1 ( 3 ) ) . It can be seen that D ( K 3 ( A ) A 1 1 ( 3 ) ) is not Eulerian since the vertex C A has one successor A T and two predecessors, A C and T C . As a result, no fixed-weight Kautz sequence with parameters ( | A | , k , w , w ) = ( 4 , 3 , 1 , 1 ) exists. This observation is consistent with Proposition 6.
Next, consider the case w = 1 and w = 2 , which satisfies Condition 3 in Proposition 6. The fixed-weight Kautz graph D ( K 3 ( A ) A 1 2 ( 3 ) ) is shown in Figure 5b. It can be verified that the sequence s = C A G A T C A T G A C A C T A C G A G T A G C T C T G T C G T G can be represented by an Eulerian circuit on D ( K 3 ( A ) A 1 2 ( 3 ) ) . Thus s is a fixed-weight Kautz sequence with parameters ( | A | , k , w , w ) = ( 4 , 3 , 1 , 2 ) . This result agrees with Proposition 6.
Orthogonality of fixed-weight Kautz sequences with ( w , w ) = ( 0 , 0 ) , ( k , k ) , or ( 0 , k ) can be deduced from the orthogonality of ordinary Kautz sequences, as explained in [8]. For other allowed cases of ( w , w ) in Proposition 6, we have the following results.
Proposition 7. 
Assume that | W | 2 and | X | 2 . Let δ : = | W | + | X | 1 denote the minimum in/out-degree of the ordinary Kautz graph G σ , k Kautz . We have the following:
  • D ( K k ( A ) A 1 k 1 ( k ) ) has min ( | W | , | X | , δ / 2 ) pairwise compatible Eulerian circuits.
  • D ( K k ( A ) A 0 k 1 ( k ) ) has min ( | X | , δ / 2 ) pairwise compatible Eulerian circuits.
  • D ( K k ( A ) A 1 k ( k ) ) has min ( | W | , δ / 2 ) pairwise compatible Eulerian circuits.
Sketch of the proof. 
We only prove the result for the case of D ( K k ( A ) A 1 k 1 ( k ) ) , since the other two cases can be handled similarly.
This proof is similar to that of Theorem 3. Write G : = D ( K k ( A ) A 1 k 1 ( k ) ) for simplicity. The vertex set of G is V ( G ) = K k 1 ( A ) . Any vertex in G with weight 0 has in/out-degree | W | , any vertex with weight k 1 has in/out-degree | X | , and any other vertex has in/out-degree δ . We apply the same vertex-splitting technique in the proof of Theorem 3. For each vertex v with weight 0 or k 1 , there exist min ( | W | , | X | ) edge-disjoint wirings W 1 ( v ) , , W min ( | W | , | X | ) ( v ) of v . Define the split graphs G 1 , , G min ( | W | , | X | ) as follows: G j is obtained by splitting each vertex v with weight 0 or k 1 along its jth wiring W j ( v ) . Then, as long as each split graph G j is Eulerian, we can select min ( | W | , | X | , δ / 2 ) of them, merge each one back, and then rewire each remaining vertex with weight in [ 1 , k 2 ] one by one via Lemma 2. This process gives min ( | W | , | X | , δ / 2 ) pairwise compatible Eulerian circuits.
To show that each split graph G j is Eulerian, first note that each split vertex has in/out-degree 1 and each unmodified vertex has in/out-degree δ . Thus, each vertex in G j has equal in-degree and out-degree. Then, we show that G j is strongly connected. Note that it suffices to show that the subgraph H of G j obtained by removing all the split vertices is strongly connected since each split vertex can be either forwardly or reversely traversed to one vertex in H. It is noteworthy that H is the same for all G j ’s and is identical to the subgraph of G σ , k Kautz obtained by removing all the vertices with weight 0 or k 1 .
Let v = ( v 0 , , v k 2 ) and v = ( v 0 , , v k 2 ) be two vertices in H. Since the weight of v is at least 1, there must be a symbol in v that is weighted. That is, there exists some t [ 0 , k 2 ] such that v t W . Now consider the walk P on G σ , k Kautz from v to v ^ = ( v t + 1 , , v k 2 , v ^ 0 , , v ^ t ) that induces the sequence ( v 0 , , v k 2 , v ^ 0 , , v ^ t ) , where v ^ 0 , , v ^ t are defined as follows:
  • If v k 2 v 0 , then we choose v ^ s = v s for s [ 0 , t ] .
  • If v k 2 = v 0 W , we first choose a permutation π on W such that v 0 is not fixed by π . In other words, π is a bijection from W to itself satisfying π ( v 0 ) v 0 . Note that such a permutation π always exists since we assumed that | W | 2 . Then for s [ 0 , t ] , define
    v ^ s : = π ( v s ) , if   v s W , v s , if   v s X .
  • If v k 2 = v 0 X , for s [ 0 , t ] we similarly define
    v ^ s : = v s , if   v s W , τ ( v s ) , if   v s X ,
    where τ is a permutation on X that does not fix v 0 , i.e., τ ( v 0 ) v 0 .
  • It can be seen that no two adjacent symbols in the sequence ( v 0 , , v k 2 , v ^ 0 , , v ^ t ) are the same, and thus the walk P is indeed a valid walk on G σ , k Kautz . Furthermore, the weight representation of the sequence ( v 0 , , v k 2 , v ^ 0 , , v ^ t ) is the same as ( v 0 , , v k 2 , v 0 , , v t ) . This implies that the walk P only visits vertices having the same weight as v . Therefore, P is also a valid walk in the subgraph H.
Similarly, since the weight of v is at most k 2 , there exists some u [ 0 , k 2 ] such that v u X . Then, consider the vertex v ^ = ( v ^ u , , v ^ k 2 , v 0 , , v u 1 ) , where v ^ u , , v ^ k 2 are defined in a similar way as follows:
  • If v 0 v k 2 , define v ^ r = v r for r [ u , k 2 ] .
  • If v 0 = v k 2 W , find a permutation π on W that does not fix v 0 . Then for r [ u , k 2 ] , we define
    v ^ r : = π ( v r ) , if   v r W , v r , if   v r X .
  • If v 0 = v k 2 X , for r [ u , k 2 ] we define
    v ^ r : = v r , if   v r W , τ ( v r ) , if   v r X ,
    where τ is a permutation on X that does not fix v 0 .
  • It follows that the walk from v ^ to v that induces the sequence ( v ^ u , , v ^ k 2 , v 0 , v k 2 ) is a valid walk in H. Then, note that we have v ^ t W since v t W and v ^ t is either v t or π ( v t ) . Similarly, v ^ u X . In particular, we have v ^ t v ^ u . Thus, we can walk in G σ , k Kautz from v ^ to v ^ inducing the sequence ( v t + 1 , , v k 2 , v ^ 1 , , v ^ t , v ^ u , , v ^ k 2 , v 0 , v u 1 ) . Denote this walk by P ¯ . Furthermore, any vertex visited by P ¯ contains the substring v ^ t v ^ u . Recall that v ^ t has weight 1 and v ^ u has weight 0. As a result, any vertex visited by P ¯ must have weight between 2 and k 2 , implying that the whole walk P ¯ lies in H. In conclusion, we can walk in H from v to v ^ , then from v ^ to v ^ , and then from v ^ to v . These arguments demonstrate that H is strongly connected, and thus so is each split graph G j .
These arguments prove the statement of the result. □

7. Conclusions

Motivated by applications in genetic sequence screening and DNA-based data storage, we generalized the problem of counting orthogonal order-k de Bruijn sequences. In particular, we relaxed the orthogonality constraint by allowing multiple repeats of the ( k + 1 ) -substrings across the sequences; we extended the notion of de Bruijn sequences to balanced de Bruijn sequences, and then examined the notion of orthogonal balanced de Bruijn sequences. In both cases, we derived upper and lower bounds on the size of the set of sequences and repeated similar derivations for the closely related family of Kautz sequences.

Author Contributions

Conceptualization, Y.-P.C. and O.M.; Methodology, Y.-P.C.; Formal analysis, Y.-P.C.; Investigation, O.M.; Writing—original draft, Y.-P.C.; Writing—review & editing, J.S. and O.M.; Supervision, O.M.; Project administration, O.M.; Funding acquisition, O.M. All authors have read and agreed to the published version of the manuscript.

Funding

The work was supported in part by the NSF grant number 2107344.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Chen, Y.P.; Sima, J.; Milenkovic, O. Generalized Orthogonal de Bruijn Sequences. arXiv 2025, arXiv:2501.12921v1. [Google Scholar]
  2. de Bruijn, N.G. Acknowledgement of Priority to C. Flye Sainte-Marie on the Counting of Circular Arrangements of 2n Zeros and Ones that Show Each n-Letter Word Exactly Once; EUT report; WSK, Dept. of Mathematics and Computing Science, Technische Hogeschool Eindhoven: Eindhoven, The Netherlands, 1975. [Google Scholar]
  3. van Aardenne-Ehrenfest, T.; de Bruijn, N.G. Circuits and trees in oriented linear graphs. In Classic Papers in Combinatorics; Birkhäuser: Boston, MA, USA, 1987; pp. 149–163. [Google Scholar]
  4. Kiah, H.M.; Puleo, G.J.; Milenkovic, O. Codes for DNA sequence profiles. In Proceedings of the 2015 IEEE International Symposium on Information Theory (ISIT), Hong Kong, China, 14–19 June 2015; pp. 814–818. [Google Scholar]
  5. Marcovich, S.; Etzion, T.; Yaakobi, E. Balanced de Bruijn Sequences. In Proceedings of the 2021 IEEE International Symposium on Information Theory (ISIT), Melbourne, Australia, 12–20 July 2021; pp. 1528–1533. [Google Scholar]
  6. Ruskey, F.; Sawada, J.; Williams, A. De Bruijn Sequences for Fixed-Weight Binary Strings. SIAM J. Discret. Math. 2012, 26, 605–617. [Google Scholar]
  7. Rosenfeld, V.R. Enumerating Kautz sequences. Kragujev. J. Math. 2002, 24, 19–41. [Google Scholar]
  8. Lin, Y.L.; Ward, C.; Jain, B.; Skiena, S. Constructing orthogonal de Bruijn sequences. In Proceedings of the Algorithms and Data Structures: 12th International Symposium, WADS 2011, New York, NY, USA, 15–17 August 2011; Proceedings 12. Springer: Berlin/Heidelberg, Germany, 2011; pp. 595–606. [Google Scholar]
  9. Fleischner, H.; Jackson, B. Compatible Euler Tours In Eulerian Digraphs. In Cycles and Rays; Springer Netherlands: Dordrecht, The Netherlands, 1990; pp. 95–100. [Google Scholar]
  10. Rowley, R.; Bose, B. On the number of arc-disjoint Hamiltonian circuits in the de Bruijn Graph. Parallel Process. Lett. 1993, 03, 375–380. [Google Scholar] [CrossRef]
  11. Tabatabaei Yazdi, S.H.; Yuan, Y.; Ma, J.; Zhao, H.; Milenkovic, O. A rewritable, random-access DNA-based storage system. Sci. Rep. 2015, 5, 14138. [Google Scholar]
  12. Yazdi, S.H.T.; Gabrys, R.; Milenkovic, O. Portable and error-free DNA-based data storage. Sci. Rep. 2017, 7, 5011. [Google Scholar]
  13. Jackson, B.; Wormald, N.C. k-walks in graphs. Australas. J. Comb. 1990, 2, 135–146. [Google Scholar]
  14. Rees, D. Note on a Paper By I. J. Good. J. Lond. Math. Soc. 1946, s1-21, 169–172. [Google Scholar]
Figure 1. (a) The de Bruijn graph G 3 , 2 . (b) An Eulerian circuit in G 3 , 2 that represents the ( 3 , 2 ) -de Bruijn sequence 012002211. (c) The de Bruijn graph G 3 , 3 . The arcs in the Hamiltonian cycle of the sequence 012002211 are depicted with bold lines.
Figure 1. (a) The de Bruijn graph G 3 , 2 . (b) An Eulerian circuit in G 3 , 2 that represents the ( 3 , 2 ) -de Bruijn sequence 012002211. (c) The de Bruijn graph G 3 , 3 . The arcs in the Hamiltonian cycle of the sequence 012002211 are depicted with bold lines.
Entropy 27 00366 g001
Figure 2. (a) The circuit C 1 , 2 = 012022110 obtained by rewiring C 1 , 1 = 012002211 at the vertex 0. (b) The circuit C 2 , 1 = 011220210 obtained by rewiring C 1 , 2 at the vertices 1 and 2. (c) The circuit C 2 , 2 = 011220021 obtained by rewiring C 2 , 1 at the vertex 0.
Figure 2. (a) The circuit C 1 , 2 = 012022110 obtained by rewiring C 1 , 1 = 012002211 at the vertex 0. (b) The circuit C 2 , 1 = 011220210 obtained by rewiring C 1 , 2 at the vertices 1 and 2. (c) The circuit C 2 , 2 = 011220021 obtained by rewiring C 2 , 1 at the vertex 0.
Entropy 27 00366 g002
Figure 3. The de Bruijn graph G 3 , 3 . The bold arcs correspond to the 2-circuit representing the 2-balanced ( 3 , 2 ) -de Bruijn sequence 002211012001122021.
Figure 3. The de Bruijn graph G 3 , 3 . The bold arcs correspond to the 2-circuit representing the 2-balanced ( 3 , 2 ) -de Bruijn sequence 002211012001122021.
Entropy 27 00366 g003
Figure 4. (a) The Kautz graph G 4 , 2 Kautz . (b) The wiring of G 4 , 2 Kautz induced by the Eulerian circuit corresponding to the ( 4 , 2 ) -Kautz sequence ATCGAGCTGTAC. (c) The Kautz graph G 4 , 3 Kautz .
Figure 4. (a) The Kautz graph G 4 , 2 Kautz . (b) The wiring of G 4 , 2 Kautz induced by the Eulerian circuit corresponding to the ( 4 , 2 ) -Kautz sequence ATCGAGCTGTAC. (c) The Kautz graph G 4 , 3 Kautz .
Entropy 27 00366 g004
Figure 5. Some fixed-weight Kautz graphs with alphabet A = { A , T , C , G } and k = 3 : (a) The fixed-weight Kautz graph D ( K 3 ( A ) A 1 1 ( 3 ) ) . (b) The fixed-weight Kautz graph D ( K 3 ( A ) A 1 2 ( 3 ) ) .
Figure 5. Some fixed-weight Kautz graphs with alphabet A = { A , T , C , G } and k = 3 : (a) The fixed-weight Kautz graph D ( K 3 ( A ) A 1 1 ( 3 ) ) . (b) The fixed-weight Kautz graph D ( K 3 ( A ) A 1 2 ( 3 ) ) .
Entropy 27 00366 g005
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

Chen, Y.-P.; Sima, J.; Milenkovic, O. Generalized Orthogonal de Bruijn and Kautz Sequences. Entropy 2025, 27, 366. https://doi.org/10.3390/e27040366

AMA Style

Chen Y-P, Sima J, Milenkovic O. Generalized Orthogonal de Bruijn and Kautz Sequences. Entropy. 2025; 27(4):366. https://doi.org/10.3390/e27040366

Chicago/Turabian Style

Chen, Yuan-Pon, Jin Sima, and Olgica Milenkovic. 2025. "Generalized Orthogonal de Bruijn and Kautz Sequences" Entropy 27, no. 4: 366. https://doi.org/10.3390/e27040366

APA Style

Chen, Y.-P., Sima, J., & Milenkovic, O. (2025). Generalized Orthogonal de Bruijn and Kautz Sequences. Entropy, 27(4), 366. https://doi.org/10.3390/e27040366

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