Fast algorithms to generate restricted classes of strings under rotation

A necklace is a representative of an equivalence class of k-ary strings under rotation. Efficient algorithms for generating (i.e., listing) necklaces have been known for some time. Many applications, however, require a restricted class of necklaces for which no efficient generation algorithm previou...

Full description

Bibliographic Details
Main Author: Sawada, Joseph James
Other Authors: Ruskey, Frank
Format: Others
Language:English
en
Published: 2018
Subjects:
Online Access:https://dspace.library.uvic.ca//handle/1828/9017
Description
Summary:A necklace is a representative of an equivalence class of k-ary strings under rotation. Efficient algorithms for generating (i.e., listing) necklaces have been known for some time. Many applications, however, require a restricted class of necklaces for which no efficient generation algorithm previously existed. This dissertation addresses this problem by developing fast algorithms to generate the following restricted classes of necklaces: (a) unlabeled necklaces, (b) fixed density necklaces, (c) necklaces where the number of each alphabet symbol is fixed, (d) chord diagrams, (e) necklaces which avoid a particular Lyndon substring, and (f) bracelets. An analysis for each algorithm (a), (b), (e), and (f) shows that the amount of computation is proportional to the number of strings produced. Experimental results give a strong indication that the algorithms for (c) and (d) also achieve this time bound. In addition, a new derivation of the known formula for counting chord diagrams is presented, along with a linear time algorithm to generate a basis for the n-th homogeneous component of the free Lie algebra. === Graduate