Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1984, BIT
A new algorithm for generating permutations is presented, that generates the next permutation by reversing a certain suffix of its predecessor. The average size of this suffix is less than e ~ 2.8. It is shown how to find the position of a given permutation and how to construct the permutation of a given position, where the position refers to the order in which the permutations are generated, and is also new.
Int. J. Contemp. Math. Sciences, 2011
An integrated strategy for generating permutation is presented in this paper. This strategy involves exchanging two consecutive elements to generate the starter sets and then applying circular and reversing operations to list all permutations. Some theoretical works ...
Malaysian Journal of Fundamental and Applied Sciences, 2014
Algorithm for listing permutations for n elements is an arduous task. This paper attempts to introduce a novel method for generating permutations. The fundamental concept for this method is to seek a starter set to begin with as an initial set to generate all distinct permutations. In order to demonstrate the algorithm, we are keen to list the permutations with the special references for cases of three and four objects. Based on this algorithm, a new method for listing permutations is developed and analyzed. This new permutation method will be compared with the existing lexicographic method. The results revealed that this new method is more efficient in terms of computation time.
Information Processing Letters, 2017
New algorithms are proposed for generation of (n, m)-permutations, 1 ≤ m ≤ n. The representation of (n, m)-permutations is derived from m-level iterative decomposition of symmetric permutation group S n into cosets. The control sequence produced by the generation algorithms appears in lexicographic order while the output sequence is obtained from the control sequence in a linear order. Ranking and unranking schemes for control sequences are given. An implementation of a hardware generator of (n, m)-permutations by means of a cellular interconnection network is described.
Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science, 1990
We address the fundamental problem of permuting the elements of an array according to some given permutation. Our goal is to perform the permutation quickly using only a polylogarithmic number of bits of extra storage. The main result is an o (n log n ) time, o 008 n ) space worst case method. A simpler method is presented for the case in which both the permutation and its inverse can be computed at (amortised) unit cost. This algorithm requires 0 (n logn) time and 0 (log n ) bits in the worst case. These results are extended to the situation in which we are to apply a power of the permutation. A linear time, 0 (log n ) bit method is presented for the special case in which the data values are all distinct and are either initially in sorted order or will be when permuted.
Journal of Applied Mathematics, 2002
A new backtracking algorithm is developed for generating classes of permutations, that are invariant under the group G 4 of rigid motions of the square generated by reflections about the horizontal and vertical axes. Special cases give a new algorithm for generating solutions of the classical n-queens problem, as well as a new algorithm for generating Costas sequences, which are used in encoding radar and sonar signals. Parallel implementations of this latter algorithm have yielded new Costas sequences for length n, 19 ≤ n ≤ 24.
Modern Applied Science, 2013
An exchange based technique for generating permutation is presented in this paper. This strategy involved exchanging two consecutive elements, to generate the starter sets. For list all permutations, the exchange and reversing operations will be employed on these starter sets. The numerical result shows that new method is better than other existing methods.
In this paper, we develop a constant amortized time (CAT) algorithm for generating permutations with a xed number of excedances. We obtain a Gray code for permutations having one excedance. We also give a bijection between the set of n-length permutations with exactly one excedance and the set S n (321, 2413, 3412, 21534)\{123 . . . (n − 1)n}. This induces a Gray code for the set S n (321, 2413, 3412, 21534)\{123 . . . (n − 1)n}.
IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2012
Let PA(n, d) be a permutation array (PA) of order n and the minimum distance d. We propose a new construction of the permutation array PA p m , p m−1 k for a given prime number p, a positive integer k < p and a positive integer m. The resulted array has |PA(p, k)| • p (m−1)(p−k) m rows. Compared to the other constructions, the new construction gives a permutation array of far bigger size with a large minimum distance, for example, when k ≥ 2p/3. Moreover the proposed construction provides an algorithm to find the i-th row of PA p m , p m−1 k for a given index i very simply.
Discrete Mathematics, 2001
An up-down permutation P = (p1; p2; : : : ; pn) is a permutation of the integers 1 to n which satisÿes constraints speciÿed by a sequence C = (c1; c2; : : : ; cn-1) of U 's and D's of length n -1. If ci is U then pi ¡ pi+1 otherwise pi-1 ¿ pi. A loopless algorithm is developed for generating all the up-down permutations satisfying any sequence C. Ranking and unranking algorithms are discussed.
2012
Permutation is the different arrangements that can be made with a given number of things taking some or all of them at a time. The notation P(n,r) is used to denote the number of permutations of n things taken r at a time. Permutation is used in various fields such as mathematics, group theory, statistics, and computing, to solve several combinatorial problems such as the job assignment problem and the traveling salesman problem. In effect, permutation algorithms have been studied and experimented for many years now. Bottom-Up, Lexicography, and Johnson-Trotter are three of the most popular permutation algorithms that emerged during the past decades. In this paper, we are implementing three of the most eminent permutation algorithms, they are respectively: Bottom-Up, Lexicography, and Johnson-Trotter algorithms. The implementation of each algorithm will be carried out using two different approaches: brute-force and divide and conquer. The algorithms codes will be tested using a computer simulation tool to measure and evaluate the execution time between the different implementations.
HAL (Le Centre pour la Communication Scientifique Directe), 2009
In this paper, we develop a constant amortized time (CAT) algorithm for generating permutations with a fixed number of excedances. We obtain a Gray code for permutations having one excedance. We also give a bijection between the set of n-length permutations with exactly one excedance and the set Sn(321, 2413, 3412, 21534)\{123 . . . (n -1)n}. This induces a Gray code for the set S n (321, 2413, 3412, 21534)\{123 . . . (n -1)n}.
IJARCCE, 2017
Permutation is different arrangements that can be made with a given number of things taking some or all of them at a time. The notation P(n,r) is used to denote the number of permutations of n things taken r at a time. Permutation used in the pattern analysis, Databases and data mining, simulation, accumulation of electronic communication data, Homeland security, wireless networks. Bottom-Up, Lexicography, Johnson-Trotter, Backtracking, Heap algorithm, Brute-Force are of the most popular permutation algorithms that emerged during the past decades. Lexicography used in graph colouring. Backtracking are used in Sudoku. A performance analysis in terms of time complexity is done by implementing algorithms in different programming languages on different platforms. In cryptography, cipher text is the result of encryption performed on plain text using an algorithm called cipher which is used in client-server application.
The technique of in-situ associative permuting is introduced which is an association of in-situ permuting and in-situ inverting. It is suitable for associatively permutable permutations of {1,2,...,n} where the elements that will be inverted are negative and stored in order relative to each other according to their absolute values. Let K[1...n] be an array of n integer keys each in the range [1,n], and it is allowed to modify the keys in the range [-n,n]. If the integer keys are rearranged such that one of each distinct key having the value i is moved to the i'th position of K, then the resulting arrangement (will be denoted by K^P) can be transformed in-situ into associatively permutable permutation pi^P using only logn additional bits. The associatively permutable permutation pi^P not only stores the ranks of the keys of K^P but also uniquely represents K^P. Restoring the keys from pi^P is not considered. However, in-situ associative permuting pi^P in O(n) time using logn addi...
Algorithmica, 1998
We consider the problem of generating random permutations with uniform distribution. That is, we require that for an arbitrary permutation π of n elements, with probability 1/n! the machine halts with the ith output cell containing π(i), for 1 ≤ i ≤ n. We study this problem on two models of parallel computations: the CREW PRAM and the EREW PRAM. The main result of the paper is an algorithm for generating random permutations that runs in O(log log n) time and uses O(n 1+o(1)) processors on the CREW PRAM. This is the first o(log n)-time CREW PRAM algorithm for this problem. On the EREW PRAM we present a simple algorithm that generates a random permutation in time O(log n) using n processors and O(n) space. This algorithm outperforms each of the previously known algorithms for the exclusive write PRAMs. The common and novel feature of both our algorithms is first to design a suitable random switching network generating a permutation and then to simulate this network on the PRAM model in a fast way.
Atti del XX CIM ‐ Colloquio di Informatica Musicale ‐ MUSICHE LIQUIDE, 2014
This paper introduces an experimental digital sound synthesis technique called Permutation synthesis, which focuses around creating new waveforms by moving groups of samples (chunks}) of existing waves. Similarly to granular synthesis, permutation synthesis is a time-based technique, i.e. it operates directly on the discrete waveform: by means of varying the length of the chunks, several perceptual effects can be obtained. The most important parameter in permutation synthesis is the permutation frequency, which is inversely proportional to the chunk length; the resolution of this parameter is directly related to the sampling frequency (given the fact that a chunk is always an integer number of samples), thus a time-quantisation error is defined. An algorithm for real-time permutation implemented as a SuperCollider plug-in is described, consisting of 3 “UGens” performing permutation synthesis in slightly different ways. The resulting signals are then analysed and their time and spectral effects are justified by defining formulas that analytically quantify the results.
BIT, 1990
A hardware-oriented algorithm for generating permutations is presented that takes as a theoretic base an iterative decomposition of the symmetric group Sn into cosets. It generates permutations in a new order. Simple ranking and unranking algorithms are given. The construction of a permutation generator is proposed which contains a cellular permutation network as a main component. The application of the permutation generator for solving a class of combinatorial problems on parallel computers is suggested.
Discrete Applied Mathematics, 2017
This article presents a methodology that automatically derives a combinatorial specification for a permutation class C, given its basis B of excluded patterns and the set of simple permutations in C, when these sets are both finite. This is achieved considering both pattern avoidance and pattern containment constraints in permutations. The obtained specification yields a system of equations satisfied by the generating function of C, this system being always positive and algebraic. It also yields a uniform random sampler of permutations in C. The method presented is fully algorithmic.
Scientific Programming, 1996
We introduce a tensor sum which is useful for the design and analysis of digit-index permutations (DIPs) algorithms. Using this operation we obtain a new high-performance algorithm for the family of DIPs. We discuss an implementation in the applicative language Sisal and show how different choices of parameters yield different DIPs. The efficiency of the special case of digit reversal is illustrated with performance results on a Cray C-90.
¢ -bit permutations in programmable processors modeled on the theory of omega and flip networks. The new omflip instruction we introduce can perform any permutation of ¢ subwords in £ ¥ ¤ § ¦ ¢ instructions, with the subwords ranging from half-words down to single bits. Each omflip instruction can be done in a single cycle, with very efficient hardware implementation. The omflip instruction enhances a programmable processor's capability for handling multimedia and security applications which use subword permutations extensively.
Recently, a number of candidate instructions have been proposed to efficiently compute arbitrary bit permutations. Among these, GRP is the most attractive, having utility for other applications in addition to permutation such as sorting and having good inherent cryptographic properties. However, the current implementation of GRP is the slowest of the candidates; BFLY, on the other hand, is the fastest. In this paper, we examine the possibility of executing GRP on a butterfly or an inverse butterfly network.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.