About
32
Publications
2,435
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
123
Citations
Introduction
Skills and Expertise
Current institution
Education
September 2018 - September 2022
University of Waterloo
Field of study
- Computer Science
Publications
Publications (32)
An orientable sequence of order n over an alphabet\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\{0,1,\ldots , k{-}1\}$$\end{document} is a cyclic sequence such that...
An orientable sequence of order $n$ over an alphabet $\{0,1,\ldots, k{-}1\}$ is a cyclic sequence such that each length-$n$ substring appears at most once \emph{in either direction}. When $k= 2$, efficient algorithms are known to construct binary orientable sequences, with asymptotically optimal length, by applying the classic cycle-joining techniq...
A word $w$ has a border $u$ if $u$ is a non-empty proper prefix and suffix of $u$. A word $w$ is said to be closed if $w$ is of length at most $1$ or if $w$ has a border that occurs exactly twice in $w$. A word $w$ is said to be privileged if $w$ is of length at most $1$ or if $w$ has a privileged border that occurs exactly twice in $w$. Let $C_k(n...
A \emph{palindrome} is a word that reads the same forwards and backwards. A \emph{block palindrome factorization} (or \emph{BP-factorization}) is a factorization of a word into blocks that becomes palindrome if each identical block is replaced by a distinct symbol. We call the number of blocks in a BP-factorization the \emph{width} of the BP-factor...
A \emph{border} of a word $w$ is a word that is both a non-empty proper prefix and suffix of $w$. If $w$ has a border, then it is said to be \emph{bordered}; otherwise, it is said to be \emph{unbordered}. The main results of this paper are the first algorithms to rank and unrank length-$n$ bordered and unbordered words over a $k$-letter alphabet. W...
A \emph{palindrome} is a word that reads the same forwards and backwards. A \emph{block palindrome factorization} (or \emph{BP-factorization}) is a factorization of a word into blocks that becomes palindrome if each identical block is replaced by a distinct symbol. We call the number of blocks in a BP-factorization the \emph{width} of the BP-factor...
A word is said to be \emph{bordered} if it contains a non-empty proper prefix that is also a suffix. We can naturally extend this definition to pairs of non-empty words. A pair of words $(u,v)$ is said to be \emph{mutually bordered} if there exists a word that is a non-empty proper prefix of $u$ and suffix of $v$, and there exists a word that is a...
The Hamming distance ham(u,v) between two equal-length words u, v is the number of positions where u and v differ. The words u and v are said to be conjugates if there exist non-empty words x,y such that u=xy and v=yx. The smallest value ham(xy,yx) can take on is 0, when x and y commute. But, interestingly, the next smallest value ham(xy,yx) can ta...
A word $w$ has a border $u$ if $u$ is a non-empty proper prefix and suffix of $u$. A word $w$ is said to be \emph{closed} if $|w| \leq 1$ or if $w$ has a border that occurs exactly twice in $w$. A word $w$ is said to be \emph{privileged} if $|w| \leq 1$ or if $w$ has a privileged border that occurs exactly twice in $w$. Let $C_k(n)$ (resp. $P_k(n)$...
The discrepancy of a binary string refers to the maximum (absolute) difference between the number of ones and the number of zeroes over all possible substrings of the given binary string. We provide an investigation of the discrepancy of over a dozen simple constructions of de Bruijn sequences as well as de Bruijn sequences based on linear feedback...
The $\textit{Hamming distance}$ $\text{ham}(u,v)$ between two equal-length words $u$, $v$ is the number of positions where $u$ and $v$ differ. The words $u$ and $v$ are said to be $\textit{conjugates}$ if there exist non-empty words $x,y$ such that $u=xy$ and $v=yx$. The smallest value $\text{ham}(xy,yx)$ can take on is $0$, when $x$ and $y$ commut...
We prove an inequality for the number of periods in a word x in terms of the length of x and its initial critical exponent. Next, we characterize all periods of the length-n prefix of a characteristic Sturmian word in terms of the lazy Ostrowski representation of n, and use this result to show that our inequality is tight for infinitely many words...
We generalize Axel Thue’s familiar definition of overlaps in words, and observe that there are no infinite words avoiding split occurrences of these generalized overlaps. We give estimates for the length of the longest finite word that avoids split overlaps. Along the way we prove a useful theorem about repeated disjoint occurrences in words — an i...
We compute the exact maximum state complexity for the language consisting of m words of length N, and characterize languages achieving the maximum. We also consider a special case, namely languages C(w) consisting of the conjugates of a single word w. The words for which the maximum state complexity of C(w) is achieved turn out to be a natural gene...
We show that the number of length-n words over a k-letter alphabet having no even palindromic prefix is the same as the number of length-n unbordered words, by constructing an explicit bijection between the two sets. A slightly different but analogous result holds for those words having no odd palindromic prefix. Using known results on borders, we...
We re-examine previous constructions of infinite binary words containing few distinct squares with the goal of finding the “simplest”, in a certain sense. We exhibit several new constructions. Rather than using tedious case-based arguments to prove that the constructions have the desired property, we rely instead on theorem-proving software for the...
A word is said to be \emph{bordered} if it contains a non-empty proper prefix that is also a suffix. We can naturally extend this definition to pairs of non-empty words. A pair of words $(u,v)$ is said to be \emph{mutually bordered} if there exists a word that is a non-empty proper prefix of $u$ and suffix of $v$, and there exists a word that is a...
We re-examine previous constructions of infinite binary words containing few distinct squares with the goal of finding the "simplest", in a certain sense. We exhibit several new constructions. Rather than using tedious case-based arguments to prove that the constructions have the desired property, we rely instead on theorem-proving software for the...
We prove an inequality for the number of periods in a word x in terms of the length of x and its initial critical exponent. Next, we characterize all periods of the length-n prefix of a characteristic Sturmian word in terms of the lazy Ostrowski representation of n, and use this result to show that our inequality is tight for infinitely many words...
The discrepancy of a binary string refers to the maximum (absolute) difference between the number of ones and the number of zeroes over all possible substrings of the given binary string. We provide an investigation of the discrepancy of known simple constructions of de Bruijn sequences. Furthermore, we demonstrate constructions that attain the low...
We generalize Axel Thue's familiar definition of overlaps in words, and show that there are no infinite words containing split occurrences of these generalized overlaps. Along the way we prove a useful theorem about repeated disjoint occurrences in words -- an interesting natural variation on the classical de Bruijn sequences.
Using a new approach based on automatic sequences, logic, and a decision procedure, we reprove some old theorems about circularly squarefree words and unbordered conjugates in a new and simpler way. Furthermore, we prove two new results about unbordered conjugates: we complete the classification, due to Harju and Nowotka, of binary words with the m...
We present a simple framework for constructing k-ary de Bruijn sequences, and more generally, universal cycles, via successor rules. The framework is based on the often used method of joining disjoint cycles. It generalizes several previously known de Bruijn sequence constructions based on the pure cycling register and is applied to derive a new co...
We consider a certain natural generalization of de Bruijn words, and use it to compute the exact maximum state complexity for the language consisting of the conjugates of a single word. In other words, we determine the state complexity of cyclic shift on languages consisting of a single word.
We show that the number of length-$n$ words over a $k$-letter alphabet having no even palindromic prefix is the same as the number of length-$n$ unbordered words, by constructing an explicit bijection between the two sets. A similar result holds for those words having no odd palindromic prefix, again by constructing a certain bijection. Using known...
Using a new approach based on automatic sequences, logic, and a decision procedure, we reprove some old theorems about circularly squarefree words and unbordered conjugates in a new and simpler way. Furthermore, we prove three new results about unbordered conjugates: we complete the classification, due to Harju and Nowotka, of binary words with the...
We consider a certain natural generalization of de Bruijn words, and use it to compute the exact maximum state complexity for the language consisting of the conjugates of a single word.
We present a simple framework for constructing de Bruijn sequences, and more generally, universal cycles, via successor rules. The framework is based on the often used method of joining disjoint cycles. It generalizes four previously known de Bruijn sequence constructions and is applied to derive three new and simple de Bruijn sequence construction...
We present sufficient conditions for when an ordering of universal cycles $\alpha_1, \alpha_2, \ldots, \alpha_m$ for disjoint sets $\mathbf{S}_1, \mathbf{S}_2, \ldots , \mathbf{S}_m$ can be concatenated together to obtain a universal cycle for $\mathbf{S} = \mathbf{S}_1 \cup \mathbf{S}_2 \cup \cdots \cup \mathbf{S}_m$. When $\mathbf{S}$ is the set...
We present sufficient conditions for when an ordering of universal cycles $\alpha_1, \alpha_2, \ldots, \alpha_m$ for disjoint sets $\mathbf{S}_1, \mathbf{S}_2, \ldots , \mathbf{S}_m$ can be concatenated together to obtain a universal cycle for $\mathbf{S} = \mathbf{S}_1 \cup \mathbf{S}_2 \cup \cdots \cup \mathbf{S}_m$. When $\mathbf{S}$ is the set...
We present a new de Bruijn sequence construction based on co-necklaces and the complemented cycling register (CCR). A co-necklace is the lexicographically smallest string in an equivalence class of strings induced by the CCR. We prove that a concatenation of the cycles of the CCR forms a de Bruijn sequence when the cycles are ordered in colexicogra...