Fast Algorithms to Generate Necklaces, Unlabeled Necklaces, and Irreducible Polynomials over GF(2)

Many applications call for exhaustive lists of strings subject to various constraints, such as inequivalence under group actions. A k-ary necklace is an equivalence class of k-ary strings under rotation (the cyclic group). A k-ary unlabeled necklace is an equivalence class of k-ary strings under rot...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of algorithms Ročník 37; číslo 2; s. 267 - 282
Hlavní autoři: Cattell, Kevin, Ruskey, Frank, Sawada, Joe, Serra, Micaela, Miers, C.Robert
Médium: Journal Article
Jazyk:angličtina
Vydáno: San Diego, CA Elsevier Inc 01.11.2000
Elsevier
Témata:
ISSN:0196-6774, 1090-2678
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Many applications call for exhaustive lists of strings subject to various constraints, such as inequivalence under group actions. A k-ary necklace is an equivalence class of k-ary strings under rotation (the cyclic group). A k-ary unlabeled necklace is an equivalence class of k-ary strings under rotation and permutation of alphabet symbols. We present new, fast, simple, recursive algorithms for generating (i.e., listing) all necklaces and binary unlabeled necklaces. These algorithms have optimal running times in the sense that their running times are proportional to the number of necklaces produced. The algorithm for generating necklaces can be used as the basis for efficiently generating many other equivalence classes of strings under rotation and has been applied to generating bracelets, fixed density necklaces, and chord diagrams. As another application, we describe the implementation of a fast algorithm for listing all degree n irreducible and primitive polynomials over GF(2).
ISSN:0196-6774
1090-2678
DOI:10.1006/jagm.2000.1108