Related papers: Generating permutations with a given major index
A number system coding for the permutations generated by cyclic shift is described. The system allows to find the rank of a permutation given how it has been generated, and to determine a permutation given its rank. It defines a code…
In this work we present a general and versatile algorithmic framework for exhaustively generating a large variety of different combinatorial objects, based on encoding them as permutations. This approach provides a unified view on many…
The past decade has seen a flurry of research into pattern avoiding permutations but little of it is concerned with their exhaustive generation. Many applications call for exhaustive generation of permutations subject to various constraints…
A generic rectangulation is a partition of a rectangle into finitely many interior-disjoint rectangles, such that no four rectangles meet in a point. In this work we present a versatile algorithmic framework for exhaustively generating a…
We generalize a well-known algorithm for the generation of all subsets of a set in lexicographic order with respect to the sets as lists of elements (subset-lex order). We obtain algorithms for various combinatorial objects such as the…
For a given permutation or set partition there is a natural way to assign a genus. Counting all permutations or partitions of a fixed genus according to cycle lengths or block sizes, respectively, is the main content of this article. After…
Guessing random additive noise decoding (GRAND) algorithm has emerged as an excellent decoding strategy that can meet both the high reliability and low latency constraints. This paper proposes a successive addition-subtraction algorithm to…
Two completely new algorithms for generating permutations, shift-cursor algorithm and level algorithm, and their efficient implementations are presented in this paper. One implementation of the shift cursor algorithm gives an optimal…
We first present a simple recursive algorithm that generates cyclic rotation Gray codes for stamp foldings and semi-meanders, where consecutive strings differ by a stamp rotation. These are the first known Gray codes for stamp foldings and…
For any integer $n\geq 1$ a middle levels Gray code is a cyclic listing of all $n$-element and $(n+1)$-element subsets of $\{1,2,\ldots,2n+1\}$ such that any two consecutive subsets differ in adding or removing a single element. The…
We introduce a new construction for the balancing of non-binary sequences that make use of Gray codes for prefix coding. Our construction provides full encoding and decoding of sequences, including the prefix. This construction is based on…
We consider the following combinatorial question. Let $$ S_0 \subset S_1 \subset S_2 \subset ...\subset S_m $$ be nested sets, where #$(S_i) = i$. A move consists of altering one of the sets $S_i$, $1 \le i \le m-1$, in a manner so that the…
The most well-known Gray code of permutations is plain changes. It was discovered in the 1600s by bell-ringers who wished to order the permutations of [n] by swaps (e.g., 123, 132, 312, 321, 231, 213 for n = 3). In other words, plain…
In this paper we describe a variation of the classical permutation decoding algorithm that can be applied to any affine-invariant code with respect to certain type of information sets. In particular, we can apply it to the family of…
Finding the minimum distance of linear codes is an NP-hard problem. Traditionally, this computation has been addressed by means of the design of algorithms that find, by a clever exhaustive search, a linear combination of some generating…
A Gray code for a combinatorial class is a method for listing the objects in the class so that successive objects differ in some prespecified, small way, typically expressed as a bounded Hamming distance. In a previous work, the authors of…
This paper proposes a new algorithm for generating all permutations of multisets. The method uses transpositions only and adjacent transpositions are favoured. The algorithm requires a strong homogeneous transposition condition:…
Cell formation is a critical step in the design of cellular manufacturing systems. Recently, it was tackled using a cut-based-graph-partitioning model. This model meets real-life production systems requirements as it uses the actual amount…
In this paper, we present an algorithm that enumerates a certain class of signed permutations, referred to as grid signed permutation classes. In the case of permutations, the corresponding grid classes are of interest because they are…
Conditional neural text generation models generate high-quality outputs, but often concentrate around a mode when what we really want is a diverse set of options. We present a search algorithm to construct lattices encoding a massive number…