77 research outputs found
Limited-Magnitude Error-Correcting Gray Codes for Rank Modulation
We construct Gray codes over permutations for the rank-modulation scheme,
which are also capable of correcting errors under the infinity-metric. These
errors model limited-magnitude or spike errors, for which only
single-error-detecting Gray codes are currently known. Surprisingly, the
error-correcting codes we construct achieve a better asymptotic rate than that
of presently known constructions not having the Gray property, and exceed the
Gilbert-Varshamov bound. Additionally, we present efficient ranking and
unranking procedures, as well as a decoding procedure that runs in linear time.
Finally, we also apply our methods to solve an outstanding issue with
error-detecting rank-modulation Gray codes (snake-in-the-box codes) under a
different metric, the Kendall -metric, in the group of permutations over
an even number of elements , where we provide asymptotically optimal
codes.Comment: Revised version for journal submission. Additional results include
more tight auxiliary constructions, a decoding shcema, ranking/unranking
procedures, and application to snake-in-the-box codes under the Kendall
tau-metri
Python for education: permutations
Python implementation of permutations is presented. Three classes are
introduced: Perm for permutations, Group for permutation groups, and PermError
to report any errors for both classes. The class Perm is based on Python
dictionaries and utilize cycle notation. The methods of calculation for the
perm order, parity, ranking and unranking are given. A random permutation
generation is also shown. The class Group is very simple and it is also based
on dictionaries. It is mainly the presentation of the permutation groups
interface with methods for the group order, subgroups (normalizer, centralizer,
center, stabilizer), orbits, and several tests. The corresponding Python code
is contained in the modules perms and groups.Comment: 26 pages, 1 figure, 2 table
Efficient indexing of necklaces and irreducible polynomials over finite fields
We study the problem of indexing irreducible polynomials over finite fields,
and give the first efficient algorithm for this problem. Specifically, we show
the existence of poly(n, log q)-size circuits that compute a bijection between
{1, ... , |S|} and the set S of all irreducible, monic, univariate polynomials
of degree n over a finite field F_q. This has applications in pseudorandomness,
and answers an open question of Alon, Goldreich, H{\aa}stad and Peralta[AGHP].
Our approach uses a connection between irreducible polynomials and necklaces
( equivalence classes of strings under cyclic rotation). Along the way, we give
the first efficient algorithm for indexing necklaces of a given length over a
given alphabet, which may be of independent interest
Random and exhaustive generation of permutations and cycles
In 1986 S. Sattolo introduced a simple algorithm for uniform random
generation of cyclic permutations on a fixed number of symbols. This algorithm
is very similar to the standard method for generating a random permutation, but
is less well known.
We consider both methods in a unified way, and discuss their relation with
exhaustive generation methods. We analyse several random variables associated
with the algorithms and find their grand probability generating functions,
which gives easy access to moments and limit laws.Comment: 9 page
Syntactic View of Sigma-Tau Generation of Permutations
We give a syntactic view of the Sawada-Williams -generation of
permutations. The corresponding sequence of -operations, of length
is shown to be highly compressible: it has bit
description. Using this compact description we design fast algorithms for
ranking and unranking permutations.Comment: accepted on LATA201
- …