De Bruijn Sequences Define an alphabet A consisting of k elements E.g. A={0,1}, A={a,b,c}, A= { 图,论,很,好, 玩 } K=2 , K=3 , and K=5 in the preceding example.

Slides:



Advertisements
Similar presentations
CS 336 March 19, 2012 Tandy Warnow.
Advertisements

Chapter 8 Topics in Graph Theory
Simple Graph Warmup. Cycles in Simple Graphs A cycle in a simple graph is a sequence of vertices v 0, …, v n for some n>0, where v 0, ….v n-1 are distinct,
Graph Theory Aiding DNA Fragment Assembly Jonathan Kaptcianos advisor: Professor Jo Ellis-Monaghan Work.
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
8.3 Representing Relations Connection Matrices Let R be a relation from A = {a 1, a 2,..., a m } to B = {b 1, b 2,..., b n }. Definition: A n m  n connection.
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
De Bruijn sequences Rotating drum problem:
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Graph-02.
 期中测验时间:本周五上午 9 : 40  教师 TA 答疑时间 : 周三晚上 6 : 00—8 : 30  地点:软件楼 315 房间,  教师 TA :李弋老师  开卷考试.
Introduction to Graph Theory Lecture 11: Eulerian and Hamiltonian Graphs.
Graph Theory: Euler Circuits Christina Mende Math 480 April 15, 2013.
CS 206 Introduction to Computer Science II 03 / 27 / 2009 Instructor: Michael Eckmann.
GOLOMB RULERS AND GRACEFUL GRAPHS
CS 206 Introduction to Computer Science II 11 / 11 / Veterans Day Instructor: Michael Eckmann.
Realizability of Graphs Maria Belk and Robert Connelly.
Section 2.1 Euler Cycles Vocabulary CYCLE – a sequence of consecutively linked edges (x 1,x2),(x2,x3),…,(x n-1,x n ) whose starting vertex is the ending.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה # DE BRUIJN SEQUENCES מבוסס על הספר : S. Even, "Graph Algorithms",
What is the first line of the proof? a). Assume G has an Eulerian circuit. b). Assume every vertex has even degree. c). Let v be any vertex in G. d). Let.
Introduction to Graphs Lecture 18: Nov 16. Seven Bridges of Königsberg Is it possible to walk with a route that crosses each bridge exactly once?
Math Foundations Week 12 Graphs (2). Agenda Paths Connectivity Euler paths Hamilton paths 2.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
Combinations We should use permutation where order matters
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
CTIS 154 Discrete Mathematics II1 8.2 Paths and Cycles Kadir A. Peker.
MATH 310, FALL 2003 (Combinatorial Problem Solving) Lecture 6, Friday, September 12.
Chapter 11 Graphs and Trees This handout: Terminology of Graphs Eulerian Cycles.
Eulerian Graphs CSE 331 Section 2 James Daly. Reminders Project 3 is out Covers graphs Due Friday.
GRAPH Learning Outcomes Students should be able to:
Summing degree sequences work out degree sequence, and sum.
Graph Theoretic Concepts. What is a graph? A set of vertices (or nodes) linked by edges Mathematically, we often write G = (V,E)  V: set of vertices,
7.1 Introduction to Graph Theory
Which of these can be drawn without taking your pencil off the paper and without going over the same line twice? If we can find a path that goes over all.
Chapter 1 Fundamental Concepts II Pao-Lien Lai 1.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett.
CSNB143 – Discrete Structure Topic 9 – Graph. Learning Outcomes Student should be able to identify graphs and its components. Students should know how.
Lecture 5: Mathematics of Networks (Cont) CS 790g: Complex Networks Slides are modified from Networks: Theory and Application by Lada Adamic.
Based on slides by Y. Peng University of Maryland
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
Lines in the plane, slopes, and Euler’s formula by Tal Harel
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
Graph Theory and Applications
Lecture 10: Graph-Path-Circuit
Introduction to Graphs. This Lecture In this part we will study some basic graph theory. Graph is a useful concept to model many problems in computer.
Basic Concepts of Encoding Codes and Error Correction 1.
Graph theory and networks. Basic definitions  A graph consists of points called vertices (or nodes) and lines called edges (or arcs). Each edge joins.
Eulerian Paths and Cycles. What is a Eulerian Path Given an graph. Find a path which uses every edge exactly once. This path is called an Eulerian Path.
MAT 2720 Discrete Mathematics Section 8.2 Paths and Cycles
 Quotient graph  Definition 13: Suppose G(V,E) is a graph and R is a equivalence relation on the set V. We construct the quotient graph G R in the follow.
Basic properties Continuation
Chapter 11 - Graph CSNB 143 Discrete Mathematical Structures.
Introduction to Graph Theory
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
Grade 11 AP Mathematics Graph Theory Definition: A graph, G, is a set of vertices v(G) = {v 1, v 2, v 3, …, v n } and edges e(G) = {v i v j where 1 ≤ i,
Lecture 5.3: Graph Isomorphism and Connectivity CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Zeph Grunschlag.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
Relations and Graphs Relations and Graphs Sanjay Jain, Lecturer, School of Computing.
Trees.
De Bruijn sequences 陳柏澍 Novembers Each of the segments is one of two types, denoted by 0 and 1. Any four consecutive segments uniquely determine.
Grade 11 AP Mathematics Graph Theory
Graph theory Definitions Trees, cycles, directed graphs.
Eulerian tours Miles Jones MTThF 8:30-9:50am CSE 4140 August 15, 2016.
CSE 20: Discrete Mathematics for Computer Science Prof. Shachar Lovett
Can you draw this picture without lifting up your pen/pencil?
Genome Assembly.
Walks, Paths, and Circuits
Proof Techniques.
Lecture 5.3: Graph Isomorphism and Paths
Applied Combinatorics, 4th Ed. Alan Tucker
Presentation transcript:

De Bruijn Sequences Define an alphabet A consisting of k elements E.g. A={0,1}, A={a,b,c}, A= { 图,论,很,好, 玩 } K=2 , K=3 , and K=5 in the preceding example Consider the possible subsequences of length n that can be created using the defined alphabet E.g. Let n=2 A={0,1} We have 4 possible subsequences 10,01,11, and 00

De Bruijn Sequences A De Bruijn Sequence B(k,n) is a cylic sequence of an alphabet A (that consists of k elements ) in which EVERY possible subsequence of length n appears as a sequence of consecutive letters EXACTLY once.

De Bruijn Sequences Note that these sequences are cyclic and hence {0011}= {1001} = {1100} = {0110}. Hence we consider the sequence as a loop and it doesn’t matter which element of the loop we consider to be the first one This does not mean that De Bruijn sequences are unique in fact there can be numerous De Bruijn sequence B(n,k), but none of which are created by picking a different starting element in a loop of an existing one

De Bruijn Sequences The earliest examples of De Bruijn sequences appear in Sanskirt prosody They were used by the prosodists to memorize the names of three letter patterns of long and short letters in “Pingala’s Chandah Shaastra” Hence they were studying a De Brujin sequence B(2,3) with A={L,S} (long and short) Note: prosodists were those who studied the metrical structure of verse Pingala’s Chandah Shaastra was a famous book on prosody

De Bruijn Sequences Though the name De Bruijn is attached to these sequences due to his proof of K. Posthumus' conjecture in 1946, in 1975 he acknowledged that priority in this proof belonged to C. Flye Sainte-Marie, who had independently published it in 1894

De Brujin Sequences Important Theorems: Each De Brujin sequence B(k,n) has length K n. There are K! k^(n-1) /K n distinct De Brujin sequences B(k,n)

De Bruijn Sequences A De Bruijn Sequence can be constructed by taking an Eulerian Cycle of a (n- 1) dimensional directed De Bruijn Graph. An Eulerian cycle is a cycle that starts and ends on the same vertex and visits every edge exactly once Hence each vertex would represent a different (n-1) sequence of the k elements and each edge would represent one of the k elements in the alphabet. The set of all vertices represent all (n- 1) combinations of the k elements, and each vertex has in degree and out degree equal to k.

De Bruijn Sequences Consider constructing a B(2,4) De Bruijn sequence of length 2^4=16. Let A={0,1}. Suppose we take the Eulerian path (000, 000, 001, 011, 111, 111, 110, 101, 011, 110, 100, 001, 010, 101, 010, 100, 000)

De Bruijn Sequence Finding the De Bruijn Sequence: Taking the loop from 000 to 000 =>0000 is in the sequence Taking the 1 edge from 000 to 001 => 0001 is in the sequence => sequence hence far=00001 Taking the 1 edge from 001 to 011 => 0011 is in the sequence => sequence hence far= Taking the 1 edge from 011 to 111 => 0111 is in the sequence => sequence hence far =

De Bruijn Sequences Continuing with this process until we come back to 000 we end up with the De Bruijn sequence Finding all Eulerian cycles in this graph and applying this method will find us all De Bruijn Sequences

De Bruijn Sequences De Bruijn sequences have many real world applications including: Digital door locks Used in neuroscience Chess Programming Laser Technologies