Searcharxiv⌕ Search

arXiv subjects

Duncan Adamson

Publications and source records attributed to Duncan Adamson.

24 records · Page 2Linked to original sources

Ranking and Unranking k-subsequence universal words

A subsequence of a word $w$ is a word $u$ such that $u = w[i_1] w[i_2] , \dots w[i_{|u|}]$, for some set of indices $1 \leq i_1 < i_2 < \dots < i_k \leq |w|$. A word $w$ is $k$-subsequence universal over an alphabet $Σ$ if every word in $Σ^k$ appears in $w$ as a subsequence. In this paper, we provide new algorithms for $k$-subsequence universal words of fixed length $n$ over the alphabet $Σ= \{1,2,\dots, σ\}$. Letting $\mathcal{U}(n,k,σ)$ denote the set of $n$-length $k$-subsequence universal words over $Σ$, we provide: * an $O(n k σ)$ time algorithm for counting the size of $\mathcal{U}(n,k,σ)$; * an $O(n k σ)$ time algorithm for ranking words in the set $\mathcal{U}(n,k,σ)$; * an $O(n k σ)$ time algorithm for unranking words from the set $\mathcal{U}(n,k,σ)$; * an algorithm for enumerating the set $\mathcal{U}(n,k,σ)$ with $O(n σ)$ delay after $O(n k σ)$ preprocessing.

cs.DS↗

Ranking Binary Unlabelled Necklaces in Polynomial Time

Unlabelled Necklaces are an equivalence class of cyclic words under both the rotation (cyclic shift) and the relabelling operations. The relabelling of a word is a bijective mapping from the alphabet to itself. The main result of the paper is the first polynomial-time algorithm for ranking unlabelled necklaces of a binary alphabet. The time-complexity of the algorithm is $O(n^6 \log^2 n)$, where $n$ is the length of the considered necklaces. The key part of the algorithm is to compute the rank of any word with respect to the set of unlabelled necklaces by finding three other ranks: the rank over all necklaces, the rank over symmetric unlabelled necklaces, and the rank over necklaces with an enclosing labelling. The last two concepts are introduced in this paper.

math.CO↗

On the Hardness of Energy Minimisation for Crystal Structure Prediction

Crystal Structure Prediction (csp) is one of the central and most challenging problems in materials science and computational chemistry. In csp, the goal is to find a configuration of ions in 3D space that yields the lowest potential energy. Finding an efficient procedure to solve this complex optimisation question is a well known open problem. Due to the exponentially large search space, the problem has been referred in several materials-science papers as "NP-Hard and very challenging" without a formal proof. This paper fills a gap in the literature providing the first set of formally proven NP-Hardness results for a variant of csp with various realistic constraints. In particular, we focus on the problem of removal: the goal is to find a substructure with minimal potential energy, by removing a subset of the ions. Our main contributions are NP-Hardness results for the csp removal problem, new embeddings of combinatorial graph problems into geometrical settings, and a more systematic exploration of the energy function to reveal the complexity of csp. In a wider context, our results contribute to the analysis of computational problems for weighted graphs embedded into the three-dimensional Euclidean space.

cs.CC↗

Combinatorial Algorithms for Multidimensional Necklaces

A necklace is an equivalence class of words of length $n$ over an alphabet under the cyclic shift (rotation) operation. As a classical object, there have been many algorithmic results for key operations on necklaces, including counting, generating, ranking, and unranking. This paper generalises the concept of necklaces to the multidimensional setting. We define multidimensional necklaces as an equivalence classes over multidimensional words under the multidimensional cyclic shift operation. Alongside this definition, we generalise several problems from the one dimensional setting to the multidimensional setting for multidimensional necklaces with size $(n_1,n_2,...,n_d)$ over an alphabet of size $q$ including: providing closed form equations for counting the number of necklaces; an $O(n_1 \cdot n_2 \cdot ... \cdot n_d)$ time algorithm for transforming some necklace $w$ to the next necklace in the ordering; an $O((n_1 \cdot n_2 \cdot ... \cdot n_d)^5)$ time algorithm to rank necklaces (determine the number of necklaces smaller than $w$ in the set of necklaces); an $O((n_1\cdot n_2 \cdot ... \cdot n_d)^{6(d + 1)} \cdot \log^d(q))$ time algorithm to unrank multidimensional necklace (determine the $i^{th}$ necklace in the set of necklaces). Our results on counting, ranking, and unranking are further extended to the fixed content setting, where every necklace has the same Parikh vector, in other words every necklace shares the same number of occurrences of each symbol. Finally, we study the $k$-centre problem for necklaces both in the single and multidimensional settings. We provide strong approximation algorithms for solving this problem in both the one dimensional and multidimensional settings.

math.CO↗

Ranking Bracelets in Polynomial Time

The main result of the paper is the first polynomial-time algorithm for ranking bracelets. The time-complexity of the algorithm is O(k^2 n^4), where k is the size of the alphabet and n is the length of the considered bracelets. The key part of the algorithm is to compute the rank of any word with respect to the set of bracelets by finding three other ranks: the rank over all necklaces, the rank over palindromic necklaces, and the rank over enclosing apalindromic necklaces. The last two concepts are introduced in this paper. These ranks are key components to our algorithm in order to decompose the problem into parts. Additionally, this ranking procedure is used to build a polynomial-time unranking algorithm.

math.CO↗

The K-Centre Problem for Necklaces

In graph theory, the objective of the k-centre problem is to find a set of $k$ vertices for which the largest distance of any vertex to its closest vertex in the $k$-set is minimised. In this paper, we introduce the $k$-centre problem for sets of necklaces, i.e. the equivalence classes of words under the cyclic shift. This can be seen as the k-centre problem on the complete weighted graph where every necklace is represented by a vertex, and each edge has a weight given by the overlap distance between any pair of necklaces. Similar to the graph case, the goal is to choose $k$ necklaces such that the distance from any word in the language and its nearest centre is minimised. However, in a case of k-centre problem for languages the size of associated graph maybe exponential in relation to the description of the language, i.e., the length of the words l and the size of the alphabet q. We derive several approximation algorithms for the $k$-centre problem on necklaces, with logarithmic approximation factor in the context of l and k, and within a constant factor for a more restricted case.

cs.DS↗