Shift gray codes
| dc.contributor.author | Williams, Aaron Michael | |
| dc.contributor.supervisor | Ruskey, Frank | |
| dc.contributor.supervisor | Myrvold, W. J. | |
| dc.date.accessioned | 2009-12-11T23:39:39Z | |
| dc.date.available | 2009-12-11T23:39:39Z | |
| dc.date.copyright | 2009 | en |
| dc.date.issued | 2009-12-11T23:39:39Z | |
| dc.degree.department | Department of Computer Science | |
| dc.degree.level | Doctor of Philosophy Ph.D. | en |
| dc.description.abstract | Combinatorial objects can be represented by strings, such as 21534 for the permutation (1 2) (3 5 4), or 110100 for the binary tree corresponding to the balanced parentheses (()()). Given a string s = s1 s2 sn, the right-shift operation shift(s, i, j) replaces the substring si si+1..sj by si+1..sj si. In other words, si is right-shifted into position j by applying the permutation (j j−1 .. i) to the indices of s. Right-shifts include prefix-shifts (i = 1) and adjacent-transpositions (j = i+1). A fixed-content language is a set of strings that contain the same multiset of symbols. Given a fixed-content language, a shift Gray code is a list of its strings where consecutive strings differ by a shift. This thesis asks if shift Gray codes exist for a variety of combinatorial objects. This abstract question leads to a number of practical answers. The first prefix-shift Gray code for multiset permutations is discovered, and it provides the first algorithm for generating multiset permutations in O(1)-time while using O(1) additional variables. Applications of these results include more efficient exhaustive solutions to stacker-crane problems, which are natural NP-complete traveling salesman variants. This thesis also produces the fastest algorithm for generating balanced parentheses in an array, and the first minimal-change order for fixed-content necklaces and Lyndon words. These results are consequences of the following theorem: Every bubble language has a right-shift Gray code. Bubble languages are fixed-content languages that are closed under certain adjacent-transpositions. These languages generalize classic combinatorial objects: k-ary trees, ordered trees with fixed branching sequences, unit interval graphs, restricted Schr oder and Motzkin paths, linear-extensions of B-posets, and their unions, intersections, and quotients. Each Gray code is circular and is obtained from a new variation of lexicographic order known as cool-lex order. Gray codes using only shift(s, 1, n) and shift(s, 1, n−1) are also found for multiset permutations. A universal cycle that omits the last (redundant) symbol from each permutation is obtained by recording the first symbol of each permutation in this Gray code. As a special case, these shorthand universal cycles provide a new fixed-density analogue to de Bruijn cycles, and the first universal cycle for the "middle levels" (binary strings of length 2k + 1 with sum k or k + 1). | en |
| dc.identifier.bibliographicCitation | A. Williams. Loopless generation of multiset permutations using a constant number of variables by pre x shifts. In SODA '09: The Twentieth Annual ACM-SIAM Symposium on Discrete Algorithms, New York, New York, USA, 2009. | en |
| dc.identifier.bibliographicCitation | F. Ruskey and A. Williams. The coolest way to generate combinations. Discrete Mathematics, 309(17):5305{5320, September 2009. | en |
| dc.identifier.bibliographicCitation | F. Ruskey and A. Williams. Generating balanced parentheses and binary trees by pre x shifts. In CATS '08: Fourteenth Computing: The Australasian Theory Symposium, volume 77 of CRPIT, Wollongong, Australia, 2008. ACS. | en |
| dc.identifier.bibliographicCitation | F. Ruskey and A. Williams. An explicit universal cycle for the (n − 1)- permutations of an n-set. ACM Transactions on Algorithms, (accepted), 2008. | en |
| dc.identifier.bibliographicCitation | F. Ruskey and A. Williams. Generating combinations by pre x shifts. In COCOON '05: Computing and Combinatorics, 11th Annual International Conference, volume 3595 of Lecture Notes in Computer Science, pages 570{576, Kunming, China, 2005. Springer-Verlag. | en |
| dc.identifier.uri | http://hdl.handle.net/1828/1966 | |
| dc.language | English | eng |
| dc.language.iso | en | en |
| dc.rights | Available to the World Wide Web | en |
| dc.subject | shorthand universal cycles | en |
| dc.subject | combinatorial generation | en |
| dc.subject | minimal-change order | en |
| dc.subject | loopless algorithm | en |
| dc.subject | efficient algorithm | en |
| dc.subject | combinations | en |
| dc.subject | multiset permutations | en |
| dc.subject | balanced parentheses | en |
| dc.subject | Dyck words | en |
| dc.subject | Catalan paths | en |
| dc.subject | Schroder paths | en |
| dc.subject | Motzkin words | en |
| dc.subject | linear-extensions | en |
| dc.subject | posets | en |
| dc.subject | connected unit interval graphs | en |
| dc.subject | inversions | en |
| dc.subject | binary trees | en |
| dc.subject | k-ary trees | en |
| dc.subject | ordered trees with fixed branching sequence | en |
| dc.subject | Lyndon words | en |
| dc.subject | pre-necklaces | en |
| dc.subject | theoretical computer science | en |
| dc.subject | discrete mathematics | en |
| dc.subject | combinatorics | en |
| dc.subject | brute forcs | en |
| dc.subject | de Bruijn cycles | en |
| dc.subject | bubble languages | en |
| dc.subject | cool-lex order | en |
| dc.subject | lexicographic order | en |
| dc.subject | combinatorial enumeration | en |
| dc.subject | stacker-crane problem | en |
| dc.subject | traveling salesman problem | en |
| dc.subject | middle levels | en |
| dc.subject | fixed-density de Bruijn cycle | en |
| dc.subject | fixed-content | en |
| dc.subject.lcsh | UVic Subject Index::Sciences and Engineering::Applied Sciences::Computer science | en |
| dc.subject.lcsh | UVic Subject Index::Sciences and Engineering::Mathematics | en |
| dc.title | Shift gray codes | en |
| dc.type | Thesis | en |