De Bruijn
Graphs &
Sequences
Brian Breitsch
Hamilton Path/Cycle
- a Hamilton path visits each vertex exactly once
- a Hamilton cycle is a Hamilton path that loops back to the first vertex
Eulerean Path/Cycle
- an Eulerean path visits each edge exactly once
- an Eulerean cycle is an Eulerean path that loops back to the first edge
Line Digraph
- vertices are the edges of original graph
- when
Example
Nicolaas Govert de Bruijn
- pronounced 'du bruyn'
- 9 July 1918 – 17 February 2012
- analysis, number theory, combinatorics, logic
- wrote AUTOMATH language in 1960s
De Bruijn Graph
- alphabet of size
- words of length
- possible words
- a directed edge exists between and when a left shift in the word corresponding to matches the first letters of the second word
Another Interpretation
- digits of size
- numbers with digits
- vertices are subset of numbers
- a directed edge exists between and when for some
Trivial Examples
ary De Bruijn graph with is a complete graph
trivial loop graph
diameter
Properties
is balanced (i.e. regular directed graph)
is strongly connected
is
De Bruijn Sequences
A ary De Bruijn sequence of order is a cyclic sequence in which every possible word of length from an alphabet appears exactly once.
NOTE: sometimes people restrict the definition to a binary alphabet
is a De Bruijn sequence
- every De Bruijn graph has Euler and Hamliton cycles
Properties
Traversing an Euler/Hamilton cycle yields a De Bruijn Sequence
- start with complete directed graph
- take line graph
- repeat times
FACT: is the line graph of
Properties
Binary De Bruijn Graphs & Sequences
- #edges
- some can be generated using finite cell automata [9] (maybe?)
- e.g.
- the lexigraphically-least sequence is called "grand-daddy"
- e.g.
How many binary De Bruijn sequences are there for given n?
Eulerean tours exist because is balanced
This is equivalent to counting the number of Eulerean cycles in
Consider vertices
Then the path from is
How many binary De Bruijn sequences are there for given n?
Thus we have exactly one path of length for any pair of vertices
This means
(all 1 matrix)
is the
adjacency matrix
The eigenvalues are
with multiplicity
with multiplicity
How many binary De Bruijn sequences are there for given n?
Matrix-tree theory:
# of Eulerean cycles
where
is the vertex connectivity
Applications
- genomic data storage and processing
- a De Bruijn graph data structure for genomics compressed a 340GB (naive approach) to under 5GB [1]
Applications
- fastest way to brute-force attack a number or pad lock that allows uninterrupted input of numbers
Laundry Machine Dials
- find the sequence of connections to put on dial for maximum number of consecutive unambiguous options [4]
Indexing 1 in Computer (old)
- find the location of first 1 in a word using de Bruijn sequences and an efficient hash table lookup [6].
multiply by de Bruijn sequence
mask first byte and shift by 8
this is a bijection (because of the property of de Bruijn sequences) and 1 index can thus be looked up in table
Some Open Problems?
Let be a subset of a general de Bruijn sequence which contains all sequences of weight between and
(these are essentially subgraphs of the de Bruijn graph)
- can these sequences be constructed efficiently
- what is the first fixed-weight de Bruijn sequence and can it be constructed without "back-tracking"
- what is the diameter for
?
References
- "Tutorials." Tutorials. Homolog.us – Bioinformatics, 2015. Web. 23 Feb. 2015.
- "De Bruijn Graph." Wikipedia. Wikimedia Foundation, n.d. Web. 23 Feb. 2015.
- "De Bruijn Sequence." Wikipedia. Wikimedia Foundation, n.d. Web. 23 Feb. 2015.
- Higgins, Peter M. Nets, Puzzles, and Postmen: An Exploration of Mathematical Connections. Oxford: Oxford UP, 2009. Print.
- Levine, Lionel. "Lecture 21." Algebraic Combinatorics. 28 Apr. 2011. Web.
- Leiserson, Charles E., Harold Prokop, and Keith H. Randall. "Using De Bruijn Sequences to Index a 1 in a Computer Word." (1998): n. pag. Web.
- Ruskey, Frank, Joe Sawada, and Aaron Williams. "De Bruijn Sequences for Fixed-Weight Binary Strings." SIAM Journal on Discrete Mathematics 26.2 (2012): 605-17. Web.
- Shibata, Y., and Y. Gonda. "Extension of De Bruijn Graph and Kautz Graph." Computers & Mathematics with Applications 30.9 (1995): 51-61. Web.
- Sutner, Klaus. "De Bruijn Graphs and Linear Cellular Automata." Complex Systems 5 (1991): 19-30. Web.
De Bruijn Graphs & Sequences
By Brian Breitsch
De Bruijn Graphs & Sequences
- 669