SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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!

Contenu connexe

Tendances

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
 

Tendances (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.
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Dernier (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

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