|
|
Line 1: |
Line 1: |
| In [[graph theory]], an ''n''-dimensional '''De Bruijn graph''' of ''m'' symbols is a [[directed graph]] representing overlaps between sequences of symbols. It has ''m''<sup>''n''</sup> vertices, consisting of all possible length-''n'' sequences of the given symbols; the same symbol may appear multiple times in a sequence. If we have the set of ''m'' symbols <math>S:=\{s_1,\dots,s_m\}</math> then the set of vertices is:
| | The author's name is Andera and she believes it seems fairly great. For many years he's been living in Mississippi and he doesn't plan on changing it. I am an invoicing officer and I'll be promoted quickly. To perform lacross is 1 of the issues she enjoys most.<br><br>Also visit my blog post :: love psychic ([http://clothingcarearchworth.com/index.php?document_srl=441551&mid=customer_review http://clothingcarearchworth.com/]) |
| | |
| : <math>V=S^n=\{(s_1,\dots,s_1,s_1),(s_1,\dots,s_1,s_2),\dots,(s_1,\dots,s_1,s_m),(s_1,\dots,s_2,s_1),\dots,(s_m,\dots,s_m,s_m)\}.</math>
| |
| | |
| If one of the vertices can be expressed as another vertex by shifting all its symbols by one place to the left and adding a new symbol at the end of this vertex, then the latter has a directed edge to the former vertex. Thus the set of arcs (aka directed edges) is
| |
| | |
| : <math>E=\{((v_1,v_2,\dots,v_n),(v_2,\dots,v_n,s_i)) : i=1,\dots,m \}.</math>
| |
| | |
| Although De Bruijn graphs are named after [[Nicolaas Govert de Bruijn]], they were discovered independently by both De Bruijn<ref name="Bruijn1946"/> and [[I. J. Good]].<ref name="Good1946"/> Much earlier, Camille Flye Sainte-Marie<ref name="Flye1894"/> implicitly used their properties.
| |
| | |
| == Properties ==
| |
| * If <math>n=1</math> then the condition for any two vertices forming an edge holds vacuously, and hence all the vertices are connected forming a total of <math>m^2</math> edges.
| |
| * Each vertex has exactly <math>m</math> incoming and <math>m</math> outgoing edges.
| |
| * Each <math>n</math>-dimensional De Bruijn graph is the [[line graph|line digraph]] of the <math>(n - 1)</math>-dimensional De Bruijn graph with the same set of symbols.<ref name="Zhang1987"/>
| |
| * Each De Bruijn graph is [[Euler cycle|Eulerian]] and [[Hamiltonian graph|Hamiltonian]]. The Euler cycles and Hamiltonian cycles of these graphs (equivalent to each other via the line graph construction) are [[De Bruijn sequence]]s.
| |
| | |
| The [[line graph]] construction of the three smallest binary De Bruijn graphs is depicted below. As can be seen in the illustration, each vertex of the <math>n</math>-dimensional De Bruijn graph corresponds to an edge of the <math>(n - 1)</math>-dimensional De Bruijn graph, and each edge in the <math>n</math>-dimensional De Bruijn graph corresponds to a two-edge path in the <math>(n - 1)</math>-dimensional De Bruijn graph.
| |
| [[Image:DeBruijn-as-line-digraph.svg|center|600px]]
| |
| | |
| == Dynamical systems ==
| |
| Binary De Bruijn graphs can be drawn (below, left) in such a way that they resemble objects from the theory of [[dynamical system]]s, such as the [[Lorenz attractor]] (below, right):
| |
| :::[[Image:DeBruijn-3-2.svg|360px]] [[Image:Lorenz attractor yb.svg|200px]]
| |
| This analogy can be made rigorous: the ''n''-dimensional ''m''-symbol De Bruijn graph is a model of the [[Bernoulli map]]
| |
| | |
| :<math>x\mapsto mx\ \bmod\ 1</math>
| |
| | |
| The Bernoulli map (also called the [[2x mod 1 map]] for ''m'' = 2) is an [[ergodic]] dynamical system, which can be understood to be a single [[shift operator|shift]] of a [[p-adic|m-adic number]].<ref name="Leroux2002"/> The trajectories of this dynamical system correspond to walks in the De Bruijn graph, where the correspondence is given by mapping each real ''x'' in the interval [0,1) to the vertex corresponding to the first ''n'' digits in the [[Radix|base]]-''m'' representation of ''x''. Equivalently, walks in the De Bruijn graph correspond to trajectories in a one-sided [[subshift of finite type]].
| |
| == Uses ==
| |
| * Some [[grid network]] topologies are De Bruijn graphs.
| |
| * The [[distributed hash table]] protocol [[Koorde]] uses a De Bruijn graph.
| |
| * In [[bioinformatics]], De Bruijn graphs are used for ''de novo'' assembly of (short) read sequences into a [[genome]].<ref name="Pevzner2001a"/><ref name="Pevzner2001b"/><ref name="zerbino2008"/>
| |
| | |
| == See also ==
| |
| * [[De Bruijn sequence]]
| |
| * [[De Bruijn torus]]
| |
| * [[Kautz graph]]
| |
| * [[Free monoid]]
| |
| * [[Semiautomata]]
| |
| | |
| == References ==
| |
| <references>
| |
| <ref name="Bruijn1946">
| |
| {{cite journal
| |
| | author = de Bruijn, N. G.
| |
| | authorlink = Nicolaas Govert de Bruijn
| |
| | title = A Combinatorial Problem
| |
| | journal = Koninklijke Nederlandse Akademie v. Wetenschappen
| |
| | volume = 49
| |
| | pages = 758–764
| |
| | year = 1946}}
| |
| </ref>
| |
| <ref name="Flye1894">
| |
| {{cite journal
| |
| | author = Flye Sainte-Marie, C.
| |
| | title = Question 48
| |
| | journal = L'Intermédiaire Math.
| |
| | volume = 1
| |
| | year = 1894
| |
| | pages = 107–110}}
| |
| </ref>
| |
| <ref name="Good1946">
| |
| {{cite journal
| |
| | author = Good, I. J.
| |
| | authorlink = I. J. Good
| |
| | title = Normal recurring decimals
| |
| | journal = Journal of the London Mathematical Society
| |
| | volume = 21
| |
| | issue = 3
| |
| | year = 1946
| |
| | pages = 167–169
| |
| | doi = 10.1112/jlms/s1-21.3.167}}
| |
| </ref>
| |
| <ref name="Leroux2002">
| |
| {{citation
| |
| | last= Leroux | first = Philippe
| |
| | year = 2002
| |
| | bibcode = 2002quant.ph..9100P
| |
| | title = Coassociative grammar, periodic orbits and quantum random walk over Z
| |
| | arxiv = quant-ph/0209100}}
| |
| </ref>
| |
| <ref name="Zhang1987">
| |
| {{cite journal
| |
| | author = Zhang, Fu Ji; Lin, Guo Ning
| |
| | title = On the de Bruijn-Good graphs
| |
| | journal = Acta Math. Sinica
| |
| | volume = 30
| |
| | year = 1987
| |
| | issue = 2
| |
| | pages = 195–205}}
| |
| </ref>
| |
| <ref name ="Pevzner2001a">
| |
| {{cite journal
| |
| | author = Pevzner, Pavel A.; Tang, Haixu; Waterman, Michael S.
| |
| | title = An Eulerian path approach to DNA fragment assembly
| |
| | journal = PNAS
| |
| | volume = 98
| |
| | issue = 17
| |
| | year = 2001
| |
| | pages = 9748–9753
| |
| | pmid = 11504945
| |
| | pmc = 55524
| |
| | doi = 10.1073/pnas.171285098
| |
| | bibcode = 2001PNAS...98.9748P}}
| |
| </ref>
| |
| <ref name ="Pevzner2001b">
| |
| {{cite journal
| |
| | author = Pevzner, Pavel A.; Tang, Haixu
| |
| | title = Fragment Assembly with Double-Barreled Data
| |
| | journal = Bioinformatics/ISMB
| |
| | volume = 1
| |
| | year = 2001
| |
| | pages = 1–9}}
| |
| </ref>
| |
| <ref name="zerbino2008">
| |
| {{cite journal
| |
| | author = Zerbino, Daniel R.; Birney, Ewan
| |
| | title = Velvet: algorithms for de novo short read assembly using de Bruijn graphs
| |
| | journal = Genome Research
| |
| | volume = 18
| |
| | issue = 5
| |
| | year = 2008
| |
| | pages = 821–829
| |
| | doi = 10.1101/gr.074492.107
| |
| | pmid = 18349386
| |
| | pmc = 2336801}}
| |
| </ref>
| |
| </references>
| |
| | |
| ==External links==
| |
| * {{MathWorld|title=De Bruijn Graph|id=deBruijnGraph}}
| |
| * [http://www.homolog.us/Tutorials/index.php?p=2.1&s=1 Tutorial on using De Bruijn Graphs in Bioinformatics] by Homolog.us
| |
| | |
| [[Category:Dynamical systems]]
| |
| [[Category:Automata theory]]
| |
| [[Category:Parametric families of graphs]]
| |
| [[Category:Directed graphs]]
| |
The author's name is Andera and she believes it seems fairly great. For many years he's been living in Mississippi and he doesn't plan on changing it. I am an invoicing officer and I'll be promoted quickly. To perform lacross is 1 of the issues she enjoys most.
Also visit my blog post :: love psychic (http://clothingcarearchworth.com/)