SlideShare a Scribd company logo
1 of 21
Download to read offline
De Bruijn Sequences for Fun and Profit
Aleksandar Bradic
CTO, Supplyframe
December 13 2016
(motivation)
(4-decimal digit combination lock)
k = 10(base); n = 4(length)
Number of combinations: 104 = 10, 000 (kn)
Total sequence length: 4 ∗ 104 = 40, 000 (nkn)
De Bruijn sequence
A cyclic sequence in which every possible length-n string occurs
exactly once as a substring.
B(k, n) - De Bruijn sequence of order n on a size-k alphabet.
B(2,12)
De Bruijn sequence
B(k, n) has length kn - the number of distinct substrings of
length n on given alphabet A ⇒ is optimally short.
B(k, n) is not unique. There are (k!)kn−1
kn distinct B(k, n)
sequences.
⇒ linear speedup! (O(kn) vs O(nkn))
Generation
Hamiltonian Path on De Bruijn graph
Using Shift Registers
Hamiltonian Path on De Bruijn graph
De Bruijn graph on a set of m symbols S := S1, ....Sm, is a
directed graph with mn vertices representing all possible length-n
sequences of given symbols:
V = Sn = (s1, ..., s1, s1), (s1, ...., s1, s2), ....., (sm, ...., sm, sm)
and edges representing set of all possible expressions of vertices 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:
E = ((v1, v2, ...., vn), (v2, ...., vn, si )) : i = 1, ..., m
Hamiltonian Path on De Bruijn graph
Each vertex in De Bruijn graph has exactly m incoming and m
outgoing edges.
Each n-dimensional De Bruijn graph is the line digraph of the
(n-1)-dimensional De Bruijn graph with the same set of
symbols.
Each De Bruijn graph is Eulerian and Hamiltonian.
Hamiltonian Path on De Bruijn graph
De Bruijn sequences can be constructed by taking a Hamiltonian
path of an n-dimensional De Bruijn graph over k symbols (or a
Eulerian cycle of a (n − 1)-dimensional De Bruijn graph).
Generation using shift registers
Generate one digit at the time, and repeatedly work with the
n most recently generated digits, passing from one tuple
(x0, ..., xn−1) to another one (x1, ..., xn−1, xn) by shifting an
appropriate new digit in at the right.
Generation using shift registers
Generation using shift registers
If we want to generate a single order n sequence on the letters
(0, 1, . . . k − 1), where k is prime, we can pick an irreducible
polynomial
xn − bnxn−1 − · · · − b2x − b1 ∈ Zk[x]
and an initial string of n numbers s1 . . . sn which isn’t 00 . . . 0.
The next term in the sequence is defined by:
sn+1 = b1s1 + b2s2 + · · · + bnsn ∈ Zk[x]
Applications
Magic!
Indexing 1s in a Computer Word
Fault Tolerant Systems
Writing detection
Indexing 1s in a Computer Word
h(x) = (x ∗ deBruijn) >> (n − lgn)
We assume that n is an exact power of 2. Multiplication is
performed modulo 2n
deBruijn is a computer word whose bit pattern contains a
length-n de Bruijn sequence beginning with lgn zeros.
Indexing 1s in a Computer Word
Fault Tolerant Systems
In the binary De Bruijn graph
there will exist 22n−1−n different Hamiltonian cycles
De Bruijn graph B(2, n) with a single node failure has a cycle
with at least 2n − n − 1 nodes
Writing detection
Thanks!

More Related Content

What's hot

Applications of integrals
Applications of integralsApplications of integrals
Applications of integralsnitishguptamaps
 
Graphing day 2 worked
Graphing day 2 workedGraphing day 2 worked
Graphing day 2 workedJonna Ramsey
 
Lecture 15 section 5.4 graph of sin & cos
Lecture 15   section 5.4 graph of sin & cosLecture 15   section 5.4 graph of sin & cos
Lecture 15 section 5.4 graph of sin & cosnjit-ronbrown
 
Numerical
NumericalNumerical
Numericalstudent
 
Divergence theorem
Divergence theoremDivergence theorem
Divergence theoremFFMdeMul
 
Comparing 3-D Interpolation Techniques
Comparing 3-D Interpolation TechniquesComparing 3-D Interpolation Techniques
Comparing 3-D Interpolation TechniquesBinu Enchakalody
 
Lecture 16 graphing - section 4.3
Lecture 16   graphing - section 4.3Lecture 16   graphing - section 4.3
Lecture 16 graphing - section 4.3njit-ronbrown
 
18. solving cubicequationscastouchpad
18. solving cubicequationscastouchpad18. solving cubicequationscastouchpad
18. solving cubicequationscastouchpadMedia4math
 
Integration application (Aplikasi Integral)
Integration application (Aplikasi Integral)Integration application (Aplikasi Integral)
Integration application (Aplikasi Integral)Muhammad Luthfan
 
All three forms (variety)
All three forms (variety)All three forms (variety)
All three forms (variety)MsKendall
 
Area Under the Curve
Area Under the CurveArea Under the Curve
Area Under the Curvealexbeja
 
A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...
A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...
A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...Afshin Tiraie
 
Gauss Divergence Therom
Gauss Divergence TheromGauss Divergence Therom
Gauss Divergence TheromVC Infotech
 
ppt on application of integrals
ppt on application of integralsppt on application of integrals
ppt on application of integralsharshid panchal
 
Drawing trigonometric graphs.
Drawing trigonometric graphs.Drawing trigonometric graphs.
Drawing trigonometric graphs.RoseBlakeney
 

What's hot (20)

Applications of integrals
Applications of integralsApplications of integrals
Applications of integrals
 
Graphing day 2 worked
Graphing day 2 workedGraphing day 2 worked
Graphing day 2 worked
 
Lecture 15 section 5.4 graph of sin & cos
Lecture 15   section 5.4 graph of sin & cosLecture 15   section 5.4 graph of sin & cos
Lecture 15 section 5.4 graph of sin & cos
 
Numerical
NumericalNumerical
Numerical
 
Divergence theorem
Divergence theoremDivergence theorem
Divergence theorem
 
Comparing 3-D Interpolation Techniques
Comparing 3-D Interpolation TechniquesComparing 3-D Interpolation Techniques
Comparing 3-D Interpolation Techniques
 
Lecture 16 graphing - section 4.3
Lecture 16   graphing - section 4.3Lecture 16   graphing - section 4.3
Lecture 16 graphing - section 4.3
 
Day 1a examples
Day 1a examplesDay 1a examples
Day 1a examples
 
18. solving cubicequationscastouchpad
18. solving cubicequationscastouchpad18. solving cubicequationscastouchpad
18. solving cubicequationscastouchpad
 
Integration application (Aplikasi Integral)
Integration application (Aplikasi Integral)Integration application (Aplikasi Integral)
Integration application (Aplikasi Integral)
 
All three forms (variety)
All three forms (variety)All three forms (variety)
All three forms (variety)
 
Area Under the Curve
Area Under the CurveArea Under the Curve
Area Under the Curve
 
A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...
A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...
A Numeric Algorithm for Generating Permutations in Lexicographic Order with a...
 
Sam maths pres
Sam maths presSam maths pres
Sam maths pres
 
logarithms
logarithmslogarithms
logarithms
 
Applied 40S May 25, 2009
Applied 40S May 25, 2009Applied 40S May 25, 2009
Applied 40S May 25, 2009
 
Gauss Divergence Therom
Gauss Divergence TheromGauss Divergence Therom
Gauss Divergence Therom
 
ppt on application of integrals
ppt on application of integralsppt on application of integrals
ppt on application of integrals
 
Notes 10-5
Notes 10-5Notes 10-5
Notes 10-5
 
Drawing trigonometric graphs.
Drawing trigonometric graphs.Drawing trigonometric graphs.
Drawing trigonometric graphs.
 

Viewers also liked

Sequencing, Alignment and Assembly
Sequencing, Alignment and AssemblySequencing, Alignment and Assembly
Sequencing, Alignment and AssemblyShaun Jackman
 
Overview of Genome Assembly Algorithms
Overview of Genome Assembly AlgorithmsOverview of Genome Assembly Algorithms
Overview of Genome Assembly AlgorithmsNtino Krampis
 
How we revealed genomes secrets?
How we revealed genomes secrets? How we revealed genomes secrets?
How we revealed genomes secrets? ehsan sepahi
 
Report-de Bruijn Graph
Report-de Bruijn GraphReport-de Bruijn Graph
Report-de Bruijn GraphAshwani kumar
 
de Bruijn Graph Construction from Combination of Short and Long Reads
de Bruijn Graph Construction from Combination of Short and Long Readsde Bruijn Graph Construction from Combination of Short and Long Reads
de Bruijn Graph Construction from Combination of Short and Long ReadsSikder Tahsin Al-Amin
 
Combining de Bruijn graph, overlap graph and microassembly for de novo genome...
Combining de Bruijn graph, overlap graph and microassembly for de novo genome...Combining de Bruijn graph, overlap graph and microassembly for de novo genome...
Combining de Bruijn graph, overlap graph and microassembly for de novo genome...Anton Alexandrov
 
Colored de Bruijn Graphs
Colored de Bruijn GraphsColored de Bruijn Graphs
Colored de Bruijn GraphsMarcos Castro
 
Genome assembly: An Introduction (2016)
Genome assembly: An Introduction (2016)Genome assembly: An Introduction (2016)
Genome assembly: An Introduction (2016)Sebastian Schmeier
 
Gene prediction methods vijay
Gene prediction methods  vijayGene prediction methods  vijay
Gene prediction methods vijayVijay Hemmadi
 
Genome sequencing
Genome sequencingGenome sequencing
Genome sequencingShital Pal
 
DNA SEQUENCING METHOD
DNA SEQUENCING METHODDNA SEQUENCING METHOD
DNA SEQUENCING METHODMusa Khan
 

Viewers also liked (20)

Sequencing, Alignment and Assembly
Sequencing, Alignment and AssemblySequencing, Alignment and Assembly
Sequencing, Alignment and Assembly
 
PCR Primer desining
PCR Primer desiningPCR Primer desining
PCR Primer desining
 
Overview of Genome Assembly Algorithms
Overview of Genome Assembly AlgorithmsOverview of Genome Assembly Algorithms
Overview of Genome Assembly Algorithms
 
20101209 dnaseq pevzner
20101209 dnaseq pevzner20101209 dnaseq pevzner
20101209 dnaseq pevzner
 
How we revealed genomes secrets?
How we revealed genomes secrets? How we revealed genomes secrets?
How we revealed genomes secrets?
 
Report-de Bruijn Graph
Report-de Bruijn GraphReport-de Bruijn Graph
Report-de Bruijn Graph
 
de Bruijn Graph Construction from Combination of Short and Long Reads
de Bruijn Graph Construction from Combination of Short and Long Readsde Bruijn Graph Construction from Combination of Short and Long Reads
de Bruijn Graph Construction from Combination of Short and Long Reads
 
Molecular profiling 2013
Molecular profiling 2013Molecular profiling 2013
Molecular profiling 2013
 
Combining de Bruijn graph, overlap graph and microassembly for de novo genome...
Combining de Bruijn graph, overlap graph and microassembly for de novo genome...Combining de Bruijn graph, overlap graph and microassembly for de novo genome...
Combining de Bruijn graph, overlap graph and microassembly for de novo genome...
 
Colored de Bruijn Graphs
Colored de Bruijn GraphsColored de Bruijn Graphs
Colored de Bruijn Graphs
 
Genome assembly: An Introduction (2016)
Genome assembly: An Introduction (2016)Genome assembly: An Introduction (2016)
Genome assembly: An Introduction (2016)
 
Primer design2
Primer design2Primer design2
Primer design2
 
Genome Assembly
Genome AssemblyGenome Assembly
Genome Assembly
 
Primer design task
Primer design taskPrimer design task
Primer design task
 
Primer design
Primer designPrimer design
Primer design
 
Pcr primer design english version
Pcr primer design english versionPcr primer design english version
Pcr primer design english version
 
Primer Designing
Primer DesigningPrimer Designing
Primer Designing
 
Gene prediction methods vijay
Gene prediction methods  vijayGene prediction methods  vijay
Gene prediction methods vijay
 
Genome sequencing
Genome sequencingGenome sequencing
Genome sequencing
 
DNA SEQUENCING METHOD
DNA SEQUENCING METHODDNA SEQUENCING METHOD
DNA SEQUENCING METHOD
 

Similar to De Bruijn Sequences for Fun and Profit

Imc2020 day1&2 problems&solutions
Imc2020 day1&2 problems&solutionsImc2020 day1&2 problems&solutions
Imc2020 day1&2 problems&solutionsChristos Loizos
 
POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10Sanjay Mahto
 
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdfConsider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdfferoz544
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationVissarion Fisikopoulos
 
Stochastic Processes Homework Help
Stochastic Processes Homework HelpStochastic Processes Homework Help
Stochastic Processes Homework HelpExcel Homework Help
 
The Probability that a Matrix of Integers Is Diagonalizable
The Probability that a Matrix of Integers Is DiagonalizableThe Probability that a Matrix of Integers Is Diagonalizable
The Probability that a Matrix of Integers Is DiagonalizableJay Liew
 
Interpolation techniques - Background and implementation
Interpolation techniques - Background and implementationInterpolation techniques - Background and implementation
Interpolation techniques - Background and implementationQuasar Chunawala
 
Dynamical systems solved ex
Dynamical systems solved exDynamical systems solved ex
Dynamical systems solved exMaths Tutoring
 
Binomial Theorem, Recursion ,Tower of Honai, relations
Binomial Theorem, Recursion ,Tower of Honai, relationsBinomial Theorem, Recursion ,Tower of Honai, relations
Binomial Theorem, Recursion ,Tower of Honai, relationsAqeel Rafique
 
Math vocabulary A-Z
Math vocabulary A-ZMath vocabulary A-Z
Math vocabulary A-Zfgeasland
 
01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptx01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptxVSUDHEER4
 
On approximating the Riemannian 1-center
On approximating the Riemannian 1-centerOn approximating the Riemannian 1-center
On approximating the Riemannian 1-centerFrank Nielsen
 
Generating Chebychev Chaotic Sequence
Generating Chebychev Chaotic SequenceGenerating Chebychev Chaotic Sequence
Generating Chebychev Chaotic SequenceCheng-An Yang
 

Similar to De Bruijn Sequences for Fun and Profit (20)

Cse41
Cse41Cse41
Cse41
 
Imc2020 day1&2 problems&solutions
Imc2020 day1&2 problems&solutionsImc2020 day1&2 problems&solutions
Imc2020 day1&2 problems&solutions
 
Daa chapter7
Daa chapter7Daa chapter7
Daa chapter7
 
POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10POLYNOMIALS OF CLASS 10
POLYNOMIALS OF CLASS 10
 
Sol60
Sol60Sol60
Sol60
 
Sol60
Sol60Sol60
Sol60
 
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdfConsider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
Consider a l-D elastic bar problem defined on [0, 4]. The domain .pdf
 
Buffon's needle exercises
Buffon's needle exercisesBuffon's needle exercises
Buffon's needle exercises
 
Polyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimizationPolyhedral computations in computational algebraic geometry and optimization
Polyhedral computations in computational algebraic geometry and optimization
 
Stochastic Processes Homework Help
Stochastic Processes Homework HelpStochastic Processes Homework Help
Stochastic Processes Homework Help
 
The Probability that a Matrix of Integers Is Diagonalizable
The Probability that a Matrix of Integers Is DiagonalizableThe Probability that a Matrix of Integers Is Diagonalizable
The Probability that a Matrix of Integers Is Diagonalizable
 
Interpolation techniques - Background and implementation
Interpolation techniques - Background and implementationInterpolation techniques - Background and implementation
Interpolation techniques - Background and implementation
 
Deblurring3
Deblurring3Deblurring3
Deblurring3
 
Dynamical systems solved ex
Dynamical systems solved exDynamical systems solved ex
Dynamical systems solved ex
 
Binomial Theorem, Recursion ,Tower of Honai, relations
Binomial Theorem, Recursion ,Tower of Honai, relationsBinomial Theorem, Recursion ,Tower of Honai, relations
Binomial Theorem, Recursion ,Tower of Honai, relations
 
Math vocabulary A-Z
Math vocabulary A-ZMath vocabulary A-Z
Math vocabulary A-Z
 
01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptx01 EC 7311-Module IV.pptx
01 EC 7311-Module IV.pptx
 
On approximating the Riemannian 1-center
On approximating the Riemannian 1-centerOn approximating the Riemannian 1-center
On approximating the Riemannian 1-center
 
Generating Chebychev Chaotic Sequence
Generating Chebychev Chaotic SequenceGenerating Chebychev Chaotic Sequence
Generating Chebychev Chaotic Sequence
 
Unit 3
Unit 3Unit 3
Unit 3
 

More from Aleksandar Bradic

Creativity, Language, Computation - Sketching in Hardware 2022
Creativity, Language, Computation - Sketching in Hardware 2022Creativity, Language, Computation - Sketching in Hardware 2022
Creativity, Language, Computation - Sketching in Hardware 2022Aleksandar Bradic
 
Technology and Power: Agency, Discourse and Community Formation
Technology and Power: Agency, Discourse and Community FormationTechnology and Power: Agency, Discourse and Community Formation
Technology and Power: Agency, Discourse and Community FormationAleksandar Bradic
 
Theses on AI User Experience Design - Sketching in Hardware 2020
Theses on AI User Experience Design - Sketching in Hardware 2020Theses on AI User Experience Design - Sketching in Hardware 2020
Theses on AI User Experience Design - Sketching in Hardware 2020Aleksandar Bradic
 
Go-to-Market & Scaling: An Engineering Perspective
Go-to-Market & Scaling: An Engineering PerspectiveGo-to-Market & Scaling: An Engineering Perspective
Go-to-Market & Scaling: An Engineering PerspectiveAleksandar Bradic
 
Human-Data Interfaces: A case for hardware-driven innovation
Human-Data Interfaces: A case for hardware-driven innovationHuman-Data Interfaces: A case for hardware-driven innovation
Human-Data Interfaces: A case for hardware-driven innovationAleksandar Bradic
 
Computational Complexity for Poets
Computational Complexity for PoetsComputational Complexity for Poets
Computational Complexity for PoetsAleksandar Bradic
 
Kolmogorov Complexity, Art, and all that
Kolmogorov Complexity, Art, and all thatKolmogorov Complexity, Art, and all that
Kolmogorov Complexity, Art, and all thatAleksandar Bradic
 
Can Data Help Us Build Better Hardware Products ?
Can Data Help Us Build Better Hardware Products ? Can Data Help Us Build Better Hardware Products ?
Can Data Help Us Build Better Hardware Products ? Aleksandar Bradic
 
S4: Distributed Stream Computing Platform
S4: Distributed Stream Computing PlatformS4: Distributed Stream Computing Platform
S4: Distributed Stream Computing PlatformAleksandar Bradic
 

More from Aleksandar Bradic (11)

Creativity, Language, Computation - Sketching in Hardware 2022
Creativity, Language, Computation - Sketching in Hardware 2022Creativity, Language, Computation - Sketching in Hardware 2022
Creativity, Language, Computation - Sketching in Hardware 2022
 
Technology and Power: Agency, Discourse and Community Formation
Technology and Power: Agency, Discourse and Community FormationTechnology and Power: Agency, Discourse and Community Formation
Technology and Power: Agency, Discourse and Community Formation
 
Theses on AI User Experience Design - Sketching in Hardware 2020
Theses on AI User Experience Design - Sketching in Hardware 2020Theses on AI User Experience Design - Sketching in Hardware 2020
Theses on AI User Experience Design - Sketching in Hardware 2020
 
Go-to-Market & Scaling: An Engineering Perspective
Go-to-Market & Scaling: An Engineering PerspectiveGo-to-Market & Scaling: An Engineering Perspective
Go-to-Market & Scaling: An Engineering Perspective
 
Human-Data Interfaces: A case for hardware-driven innovation
Human-Data Interfaces: A case for hardware-driven innovationHuman-Data Interfaces: A case for hardware-driven innovation
Human-Data Interfaces: A case for hardware-driven innovation
 
Computational Complexity for Poets
Computational Complexity for PoetsComputational Complexity for Poets
Computational Complexity for Poets
 
Kolmogorov Complexity, Art, and all that
Kolmogorov Complexity, Art, and all thatKolmogorov Complexity, Art, and all that
Kolmogorov Complexity, Art, and all that
 
Can Data Help Us Build Better Hardware Products ?
Can Data Help Us Build Better Hardware Products ? Can Data Help Us Build Better Hardware Products ?
Can Data Help Us Build Better Hardware Products ?
 
Supplyframe Engineering
Supplyframe EngineeringSupplyframe Engineering
Supplyframe Engineering
 
S4: Distributed Stream Computing Platform
S4: Distributed Stream Computing PlatformS4: Distributed Stream Computing Platform
S4: Distributed Stream Computing Platform
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
 

Recently uploaded

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

De Bruijn Sequences for Fun and Profit

  • 1. De Bruijn Sequences for Fun and Profit Aleksandar Bradic CTO, Supplyframe December 13 2016
  • 3. (4-decimal digit combination lock) k = 10(base); n = 4(length) Number of combinations: 104 = 10, 000 (kn) Total sequence length: 4 ∗ 104 = 40, 000 (nkn)
  • 4. De Bruijn sequence A cyclic sequence in which every possible length-n string occurs exactly once as a substring. B(k, n) - De Bruijn sequence of order n on a size-k alphabet.
  • 6.
  • 7. De Bruijn sequence B(k, n) has length kn - the number of distinct substrings of length n on given alphabet A ⇒ is optimally short. B(k, n) is not unique. There are (k!)kn−1 kn distinct B(k, n) sequences. ⇒ linear speedup! (O(kn) vs O(nkn))
  • 8. Generation Hamiltonian Path on De Bruijn graph Using Shift Registers
  • 9. Hamiltonian Path on De Bruijn graph De Bruijn graph on a set of m symbols S := S1, ....Sm, is a directed graph with mn vertices representing all possible length-n sequences of given symbols: V = Sn = (s1, ..., s1, s1), (s1, ...., s1, s2), ....., (sm, ...., sm, sm) and edges representing set of all possible expressions of vertices 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: E = ((v1, v2, ...., vn), (v2, ...., vn, si )) : i = 1, ..., m
  • 10. Hamiltonian Path on De Bruijn graph Each vertex in De Bruijn graph has exactly m incoming and m outgoing edges. Each n-dimensional De Bruijn graph is the line digraph of the (n-1)-dimensional De Bruijn graph with the same set of symbols. Each De Bruijn graph is Eulerian and Hamiltonian.
  • 11. Hamiltonian Path on De Bruijn graph De Bruijn sequences can be constructed by taking a Hamiltonian path of an n-dimensional De Bruijn graph over k symbols (or a Eulerian cycle of a (n − 1)-dimensional De Bruijn graph).
  • 12. Generation using shift registers Generate one digit at the time, and repeatedly work with the n most recently generated digits, passing from one tuple (x0, ..., xn−1) to another one (x1, ..., xn−1, xn) by shifting an appropriate new digit in at the right.
  • 14. Generation using shift registers If we want to generate a single order n sequence on the letters (0, 1, . . . k − 1), where k is prime, we can pick an irreducible polynomial xn − bnxn−1 − · · · − b2x − b1 ∈ Zk[x] and an initial string of n numbers s1 . . . sn which isn’t 00 . . . 0. The next term in the sequence is defined by: sn+1 = b1s1 + b2s2 + · · · + bnsn ∈ Zk[x]
  • 15. Applications Magic! Indexing 1s in a Computer Word Fault Tolerant Systems Writing detection
  • 16.
  • 17. Indexing 1s in a Computer Word h(x) = (x ∗ deBruijn) >> (n − lgn) We assume that n is an exact power of 2. Multiplication is performed modulo 2n deBruijn is a computer word whose bit pattern contains a length-n de Bruijn sequence beginning with lgn zeros.
  • 18. Indexing 1s in a Computer Word
  • 19. Fault Tolerant Systems In the binary De Bruijn graph there will exist 22n−1−n different Hamiltonian cycles De Bruijn graph B(2, n) with a single node failure has a cycle with at least 2n − n − 1 nodes