{"title":"Parallel Generation of Permutations by Inversion Vectors","authors":"H. Thanh","doi":"10.1109/rivf.2012.6169840","DOIUrl":null,"url":null,"abstract":"Permutations of a set are used in many practical problems. There are some algorithms for generating permutations of a set, e.g. a reverse alphabetical order algorithm, an algorithm based on adjacent transpositions, an algorithm determining permutations from their reductions... But these algorithms are rather long and difficult to parallelize. In this paper we point out that the set of all permutations of a set is isomorphic to the set of their inversion vectors. Thus, we construct a new algorithm determining permutations from their inversion vectors. The algorithm is simpler and shorter than existing ones. Furthermore, this algorithm is easy to parallelize. We parallelize the proposed algorithm by one of two methods. The first one is tasks dividing: 1) finding an inversion vector, and 2) determining a permutation from the just found inversion vector. Two these tasks are performed in parallel with equal computing amounts. The second parallelizing method is based on splitting the sequence of all desirable permutations into subsequences and then concurrently generating the subsequences.","PeriodicalId":115212,"journal":{"name":"2012 IEEE RIVF International Conference on Computing & Communication Technologies, Research, Innovation, and Vision for the Future","volume":"67 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 IEEE RIVF International Conference on Computing & Communication Technologies, Research, Innovation, and Vision for the Future","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/rivf.2012.6169840","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Permutations of a set are used in many practical problems. There are some algorithms for generating permutations of a set, e.g. a reverse alphabetical order algorithm, an algorithm based on adjacent transpositions, an algorithm determining permutations from their reductions... But these algorithms are rather long and difficult to parallelize. In this paper we point out that the set of all permutations of a set is isomorphic to the set of their inversion vectors. Thus, we construct a new algorithm determining permutations from their inversion vectors. The algorithm is simpler and shorter than existing ones. Furthermore, this algorithm is easy to parallelize. We parallelize the proposed algorithm by one of two methods. The first one is tasks dividing: 1) finding an inversion vector, and 2) determining a permutation from the just found inversion vector. Two these tasks are performed in parallel with equal computing amounts. The second parallelizing method is based on splitting the sequence of all desirable permutations into subsequences and then concurrently generating the subsequences.