PERMUTATION ARRAYS WITH LARGE HAMMING DISTANCE. Luis Gerardo Mojica de la Vega

Similar documents
Parallel Partition and Extension:

Permutations and codes:

An improvement to the Gilbert-Varshamov bound for permutation codes

THE REMOTENESS OF THE PERMUTATION CODE OF THE GROUP U 6n. Communicated by S. Alikhani

Some t-homogeneous sets of permutations

THE ERDŐS-KO-RADO THEOREM FOR INTERSECTING FAMILIES OF PERMUTATIONS

Chapter 1. The alternating groups. 1.1 Introduction. 1.2 Permutations

17. Symmetries. Thus, the example above corresponds to the matrix: We shall now look at how permutations relate to trees.

1 Algebraic substructures

6. FUNDAMENTALS OF CHANNEL CODER

PD-SETS FOR CODES RELATED TO FLAG-TRANSITIVE SYMMETRIC DESIGNS. Communicated by Behruz Tayfeh Rezaie. 1. Introduction

The number of mates of latin squares of sizes 7 and 8

MATH 433 Applied Algebra Lecture 12: Sign of a permutation (continued). Abstract groups.

Permutations. = f 1 f = I A

MA 524 Midterm Solutions October 16, 2018

Know how to represent permutations in the two rowed notation, and how to multiply permutations using this notation.

The Sign of a Permutation Matt Baker

The Perfect Binary One-Error-Correcting Codes of Length 15: Part I Classification

Biembeddings of Latin squares and Hamiltonian decompositions

Permutation Groups. Every permutation can be written as a product of disjoint cycles. This factorization is unique up to the order of the factors.

Hamming Codes as Error-Reducing Codes

Latin Squares for Elementary and Middle Grades

Latin squares and related combinatorial designs. Leonard Soicher Queen Mary, University of London July 2013

How (Information Theoretically) Optimal Are Distributed Decisions?

Fermat s little theorem. RSA.

Lecture 2.3: Symmetric and alternating groups

On uniquely k-determined permutations

ALGEBRA: Chapter I: QUESTION BANK

Public Key Cryptography Great Ideas in Theoretical Computer Science Saarland University, Summer 2014

The Math Behind Futurama: The Prisoner of Benda

Chapter 4 Cyclotomic Cosets, the Mattson Solomon Polynomial, Idempotents and Cyclic Codes

Bounding the Size of k-tuple Covers

Permutation Groups. Definition and Notation

THE SIGN OF A PERMUTATION

Fast Sorting and Pattern-Avoiding Permutations

X = {1, 2,...,n} n 1f 2f 3f... nf

Lossy Compression of Permutations

Permutation group and determinants. (Dated: September 19, 2018)

Some constructions of mutually orthogonal latin squares and superimposed codes

arxiv: v1 [math.co] 11 Jul 2016

Dyck paths, standard Young tableaux, and pattern avoiding permutations

code V(n,k) := words module

Group Theory and SAGE: A Primer Robert A. Beezer University of Puget Sound c 2008 CC-A-SA License

Connected Identifying Codes

A FAMILY OF t-regular SELF-COMPLEMENTARY k-hypergraphs. Communicated by Behruz Tayfeh Rezaie. 1. Introduction

SOME CONSTRUCTIONS OF MUTUALLY ORTHOGONAL LATIN SQUARES AND SUPERIMPOSED CODES

THREE LECTURES ON SQUARE-TILED SURFACES (PRELIMINARY VERSION) Contents

Synchronization of Hamming Codes

Reading 14 : Counting

Introduction to Coding Theory

GLOSSARY. a * (b * c) = (a * b) * c. A property of operations. An operation * is called associative if:

Heuristic Search with Pre-Computed Databases

Open Research Online The Open University s repository of research publications and other research outputs

Some algorithmic and combinatorial problems on permutation classes

Solutions to Exercises Chapter 6: Latin squares and SDRs

SPACE TIME coding for multiple transmit antennas has attracted

Constructions of Coverings of the Integers: Exploring an Erdős Problem

A theorem on the cores of partitions

Math 127: Equivalence Relations

A Complete Characterization of Maximal Symmetric Difference-Free families on {1, n}.

Error Detection and Correction

Mathematics Competition Practice Session 6. Hagerstown Community College: STEM Club November 20, :00 pm - 1:00 pm STC-170

CCO Commun. Comb. Optim.

p 1 MAX(a,b) + MIN(a,b) = a+b n m means that m is a an integer multiple of n. Greatest Common Divisor: We say that n divides m.

A Group-theoretic Approach to Human Solving Strategies in Sudoku

BMT 2018 Combinatorics Test Solutions March 18, 2018

A NEW COMPUTATION OF THE CODIMENSION SEQUENCE OF THE GRASSMANN ALGEBRA

Primitive permutation groups with finite stabilizers

A STUDY OF EULERIAN NUMBERS FOR PERMUTATIONS IN THE ALTERNATING GROUP

CONSTRUCTIONS OF ORTHOGONAL F(2k, q) SQUARES

SF2972: Game theory. Mark Voorneveld, February 2, 2015

ON SOME PROPERTIES OF PERMUTATION TABLEAUX

On the Capacity of Multi-Hop Wireless Networks with Partial Network Knowledge

5 Symmetric and alternating groups

How Many Mates Can a Latin Square Have?

Generating indecomposable permutations

Outline. Communications Engineering 1

Enumeration of Two Particular Sets of Minimal Permutations

STRATEGY AND COMPLEXITY OF THE GAME OF SQUARES

MAS336 Computational Problem Solving. Problem 3: Eight Queens

1.6 Congruence Modulo m

Pin-Permutations and Structure in Permutation Classes

Permutation groups, derangements and prime order elements

Gray code for permutations with a fixed number of cycles

Mobility Tolerant Broadcast in Mobile Ad Hoc Networks

LECTURE 8: DETERMINANTS AND PERMUTATIONS

UNIVERSALITY IN SUBSTITUTION-CLOSED PERMUTATION CLASSES. with Frédérique Bassino, Mathilde Bouvel, Valentin Féray, Lucas Gerin and Mickaël Maazoun

Digital Communication Systems ECS 452

NUMBER THEORY AMIN WITNO

Sudoku an alternative history

Error-Correcting Codes

Section II.9. Orbits, Cycles, and the Alternating Groups

Orthomorphisms of Boolean Groups. Nichole Louise Schimanski. A dissertation submitted in partial fulfillment of the requirements for the degree of

Computer Science 1001.py. Lecture 25 : Intro to Error Correction and Detection Codes

Quotients of the Malvenuto-Reutenauer algebra and permutation enumeration

Teacher s Notes. Problem of the Month: Courtney s Collection

Numbers (8A) Young Won Lim 5/24/17

Numbers (8A) Young Won Lim 6/21/17

A Few More Large Sets of t-designs

ON MODULI FOR WHICH THE FIBONACCI SEQUENCE CONTAINS A COMPLETE SYSTEM OF RESIDUES S. A. BURR Belt Telephone Laboratories, Inc., Whippany, New Jersey

Transcription:

PERMUTATION ARRAYS WITH LARGE HAMMING DISTANCE by Luis Gerardo Mojica de la Vega APPROVED BY SUPERVISORY COMMITTEE: I. Hal Sudborough, Chair Sergey Bereg R. Chandrasekaran Ivor Page

Copyright c 2017 Luis Gerardo Mojica de la Vega All rights reserved

To Carolina, for your unbreakable and loving support. To Luca and Mateo, for giving me reasons to keep going.

PERMUTATION ARRAYS WITH LARGE HAMMING DISTANCE by LUIS GERARDO MOJICA DE LA VEGA, B.Eng., MS DISSERTATION Presented to the Faculty of The University of Texas at Dallas in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY IN COMPUTER SCIENCE THE UNIVERSITY OF TEXAS AT DALLAS August 2017

ACKNOWLEDGMENTS My earnest thanks to Dr. Sudborough. He has been a true inspiration and support, especially during difficult times. His clarity of mind and ability to convey complex ideas has been essential in my research and dissertation. He has been an exemplary professor and has taught me that education goes beyond purely academic interest. For all his support, I m grateful. Special thanks to Dr. Linda Morales. She has been a truthful counsel, a mentor, and a friend. Her tireless interest in teaching and helping her students are a true inspiration. I m very grateful for her support, encouragement, and kindness during all these years. Thanks to Dr. Bereg for his genuine interest in making the best quality research, and for his encouragement to publish our research findings. Also, thanks to Dr. Page for reviewing my dissertation and sharing his valuable insights. Thanks as well to Dr. Chandrasekaran for serving on my committee and for his thoughtful questions. August 2017 v

PERMUTATION ARRAYS WITH LARGE HAMMING DISTANCE Luis Gerardo Mojica de la Vega, PhD The University of Texas at Dallas, 2017 Supervising Professor: I. Hal Sudborough, Chair A permutation array (PA) is a set of permutations on a set Z n = {0, 1,... n 1} symbols. The Hamming distance between a pair of permutations in a PA is the number of disagreements between them. The Hamming distance of a PA A, denoted by hd(a) = d is the minimum Hamming distance between any pair of permutations in A. Let M(n, d) represent the maximum number of permutations on Z n symbols with Hamming distance d. Except for special cases, M(n, d) is unknown. However, there exist combinatorial upper and lower bounds for M(n, d). We present several techniques aimed to improve existing lower bounds for M(n, d) as well as constructive methods to create new PAs. The techniques are based on a) the idea of extending or increasing the number of symbols of known PAs, b) the contraction of existing PAs or reducing the number of symbols of existing PAs, c) the search of permutation group cosets, d) a modified version of the Kronecker Product and e) the re-arrangement of multiple copies of PAs in a technique called tiling and a special case called doubling. vi

TABLE OF CONTENTS ACKNOWLEDGMENTS................................. v ABSTRACT........................................ vi LIST OF FIGURES.................................... ix LIST OF TABLES..................................... x CHAPTER 1 INTRODUCTION............................ 1 1.1 Preliminaries................................... 7 1.1.1 Permutation................................ 7 1.1.2 Hamming Distance............................ 7 1.1.3 Permutation Arrays............................ 8 1.1.4 Maximum Size Permutation Arrays: M(n, d).............. 8 1.1.5 Groups................................... 9 1.1.6 Galois Field................................ 9 1.1.7 k-transitivity............................... 11 1.1.8 Affine Linear Group........................... 11 1.1.9 Projective Linear Group......................... 12 1.1.10 Mathieu Groups.............................. 14 1.1.11 Groups as (Maximum Size) Permutation Arrays............ 14 1.1.12 Mutually Orthogonal Latin Squares................... 15 1.2 Block Decompositions.............................. 17 CHAPTER 2 EXTENDING PERMUTATION ARRAYS............... 21 2.1 Simple Extension................................. 22 2.2 An Improved Partition and Extension...................... 23 2.3 Computational Approaches for the Partitioning and Extension Technique.. 26 2.3.1 A greedy approach to the Partitioning System Problem........ 26 2.3.2 An optimization approach to the Partitioning System Problem.... 27 2.3.3 An ILP approach for finding a partitions Q and P simultaneously.. 30 2.4 Parallel Partition and Extension Technique.................. 32 2.4.1 Rudimentary Parallel Partition and Extension............. 33 vii

2.4.2 A Better Parallel Partition and Extension............... 34 2.5 Sequential Partition and Extension Technique................. 44 CHAPTER 3 THE COSET METHOD......................... 49 3.1 Random Search Algorithm............................ 51 3.2 Integer Linear Programming for Coset Representatives Search........ 52 3.3 Coset Method as Satisfiability.......................... 55 CHAPTER 4 CONTRACTION............................. 59 4.1 A Graph representing minimum Hamming distance in a PA.......... 61 4.1.1 Independent Vertex Set.......................... 62 4.1.2 Approximate Maximum Independent Vertex Set as ILP........ 63 4.2 Independent set on Contracted Permutation Arrays.............. 63 4.3 Contraction of AGL(1, q)............................. 65 4.4 Contraction of P GL(2, q)............................. 65 4.5 Independent Set of Connected Component as a Product Block Design.... 75 4.6 Product Block Design as ILP.......................... 76 CHAPTER 5 KRONECKER PRODUCT AND TILING............... 78 5.1 Kronecker Product Definitions.......................... 78 5.2 Kronecker Product and Partition and Extension................ 82 5.3 Kronecker Product on AGL(1,q) and PGL(2,q)................ 85 5.4 Doubling...................................... 87 CHAPTER 6 CONCLUSIONS AND FUTURE WORK................ 95 APPENDIX A MOLS AS BASELINE LOWER BOUNDS FOR M(n, n 1).... 99 APPENDIX B LOWER BOUNDS FOR M(n, n 1)................. 100 REFERENCES....................................... 103 BIOGRAPHICAL SKETCH................................ 106 CURRICULUM VITAE viii

LIST OF FIGURES 1.1 A block decomposition for AGL(1, 5)......................... 18 2.1 A simple Extension Example. Permutation Array (5-4)-PA extended to (6-4)-PA. 22 2.2 Partition and Extension technique on Permutation Array (5, 4)-PA creates (6, 5)- PA............................................ 25 3.1 Representation of the search space for a Coset representative π.......... 51 4.1 A PA A and the graph G(A)............................. 62 4.2 A connected component in G(A CT ) where A = P GL(2, 7). This is planar representation, the graph wraps around the borders nodes in the direction denoted by the dotted lines, so every node has q 6 neighbors................. 70 4.3 Contracted permutations showing two new agreement............... 71 4.4 Permutation in CG mapped by the isomorphism P................. 74 5.1 A distance-15 partition system Π that covers all permutations obtained from the modified KP A B. The first position covering each permutation is shown in a bold typeface...................................... 86 5.2 Tiling with sub-arrays A and B........................... 88 5.3 Doubling of a Permutation Array........................... 89 5.4 Ratio between the doubling bound for M(n, n 2) and n 2 for even n (2 < n 10 6 ). 92 5.5 Tiling of a Permutation Array from Theorem 10.................. 94 ix

LIST OF TABLES 1.1 Polynomial representation of elements of GF(8).................. 10 1.2 Addition Table of GF(8)............................... 11 1.3 Multiplication Table of GF(8)............................ 11 1.4 Multiplication Table of GF(7)............................ 11 1.5 Addition Table of GF(7)............................... 11 1.6 Other Values for P GL(p, q).............................. 13 1.7 Other Values for P SL(p, q).............................. 14 1.8 Summary of Groups as Permutation Arrays..................... 15 2.1 Tabular representation of (n + 1, d + 1)-PA Permutation Array obtained from applying partition and extension of (n, d)-pa................... 23 2.2 Partitions P and Q for 6 blocks on Z 32 symbols that cover all 192 permutations. This partition produces a new lower bound for M(33, 32) 192.......... 32 2.3 Parallel Partition and Extension Construction................... 38 2.4 M(n, d) lower bounds. n denotes the number of symbols in the permutation array, d the permutation array Hamming distance, ns the number of symbols used for extending the base permutation array, prev the previously known bound and new the new bound.................................. 44 2.5 Sequential Partition and Extension on AGL(1, 37). First Iteration........ 47 2.6 Sequential Partition and Extension on AGL(1, 37). Second Iteration....... 48 2.7 New lower bounds from sequential partition and extension. n denotes the number of symbols in the permutation array, d the permutation array Hamming distance, new the new lower bound and prev the previously known bound......... 48 3.1 Number of cosets (in addition to the group) obtained by the ILP formulation and random search for the coset method. The search is performed in the group indicated by the column Group, the RND and ILP columns indicates the number of cosets obtained by the Integer Linear Programing encoding approach and random search approach, respectively......................... 55 3.2 New M(n, d) bounds obtained from the coset method. The search strategy is indicated in the method column: RND indicates the random search algorithms and ILP indicates the Integer Linear Programing encoding approach....... 58 4.1 Number of symbols and Hamming distance on AGL(1, q) and P GL(2, q) groups when their corresponding Hamming distance decreases by 3. after contraction.. 64 x

4.2 Permutations of 4 of the 6 connected components in P GL(2, 7) expressed as σ(x) = e + k for 1 k 4............................. 68 x i 4.3 Permutations before contraction in one of the 6 connected components of P GL(2, 7). The Node Name is used to represent a node as well as its neighbors in the graph shown in Figure 4.2.................................. 69 4.4 Permutations arrangement to show that the nodes in the neighborhood graph of π, say N(π), have degree 2.............................. 72 4.5 Permutations in the path between any two nodes in a connected component... 73 4.6 A product block design B for one of the connected components of the contraction graph of P GL(2, 13).................................. 76 4.7 New bounds obtained from independent sets using the product block designs method. Column k indicates the cardinality of the product block design, column q(q 1) the number of isolated nodes in the contracted P GL(2, q), column k(q 1) the sum of independent sets from all connected components in the group, column M(q, q 3) the new bound and the column prev. the previously known lower bound.......................................... 77 5.1 A distance-15 partition................................ 85 5.2 New lower bounds obtained from theorem 9..................... 91 A.1 Number of MOLS of side n (bottom of each row) and PA size given by MOLS on Z n symbols and Hamming distance n 1 (top of each row)............ 99 B.1 Lower bounds for M(n, n 1)............................ 100 xi

CHAPTER 1 INTRODUCTION In the early 1970s the idea of permutation codes, discrete non-binary codes, was introduced by Blake (1974) along with other early papers (Deza, 1976; Frankl and Deza, 1977; Deza and Vanstone, 1978). It was later found that permutation codes are not only of purely mathematical interest, but they arise as a natural solution for reliable delivery of messages in noisy channels, such as communications transmitted over power-lines, as suggested by Pavlidou et al. (2003). As an alternative form of error correcting codes, it has been proposed that codewords are sent by frequency modulation rather than by amplitude modulation. Let s say we use frequencies f 0, f 1, f 2,..., f n 1, which we view by the index set Z n = {0, 1, 2,, n 1}. A permutation of Z n, corresponding to a codeword, specifies in which order frequencies are to be sent. The Hamming distance between two permutations on Z n, say σ and τ, denoted by hd(σ, τ), is the number of positions x in Z n such that σ(x) τ(x). For example, the permutations on Z 5, σ = 0 4 1 3 2 and τ = 2 4 3 1 2 have hd(σ, τ) = 3, as they differ in positions 0, 2, and 3. More information about the application can be obtained in (Huczynska, 2006; Pavlidou et al., 2003). A set of permutations A on Z n (henceforth permutation array) has Hamming distance d, denoted by hd(a) d, if, for all σ, τ A, hd(σ, τ) d. The maximum size of a permutation array A on Z n with hd(a) d is denoted by M(n, d). There are known combinatorial upper and lower bounds on M(n, d), specifically the Gilbert-Varshamov (GV) bounds together with some recent improvements to the GV bounds (Deza and Vanstone, 1978; Gao et al., 2013). Generally, these bounds are theoretical and are often improved by empirical techniques. Some exact values are known: (1) for all n, M(n, n) = n, and, (2) for q that is a power of a prime, M(q, q 1) = q(q 1) and M(q+1, q 1) = (q+1)q(q 1). The exact values come from sharply k transitive groups, for k = 2 and k = 3, namely the affine general linear group, 1

denoted by AGL(1, n), and the projective general linear group, denoted by P GL(2, n) where n is a prime power (Deza and Vanstone, 1978; Conway et al., 1985). The Mathieu sharply 4 and 5 transitive groups, give exact values for M(11, 8) = 7920 and M(12, 8) = 95040 (Cameron, 1999; Conway et al., 1985; Dixon and Mortimer, 1996). Chu et al. (2004) also showed that M(n, 2) = n! and M(n, 3) = n!/2, and also provided an additional lower bound M(n, d) M(n 1, d), M(n, d 1) and two upper bounds: M(n, d) nm(n 1, d) and M(n, d) n!/(d 1)!. Such bounds are not considered tight bounds. It is quite difficult to do a computer search for good permutation arrays on Z n when n becomes large. There are n! permutations on Z n, so the search space grows astronomically large. Some researchers have attempted to mitigate the problem by considering automorphism groups and replacing permutations by sets of permutations. For example, Janiszczak et al., 2015, considered sets of permutations invariant under isometries to improve several lower bounds for M(n, d), for various choices of n and d, but only for n 22. Chu et al. (2004) and Smith and Montemanni (2012) also provide lower bounds obtained by the use of automorphism groups, and are also generally limited to small values of n. We have developed several new methods to transform known PAs into new PAs. These methods can be categorized into the following: (1) extending permutations by adding new symbols to existing permutations, (2) contracting permutations by deleting existing symbols, (3) using a modified form of Kronecker product to multiply blocks from two PAs and obtain a new PA, (4) tiling PAs to form a new PA from existing PAs, and (5) searching for cosets of a group of permutations G, where each coset can be added to the existing PA, namely G, to obtain a larger PA. There is also a connection between mutually orthogonal Latin squares (MOLS) and permutation arrays Colbourn et al. (2004). Specifically, if there are k mutually orthogonal Latin squares of side n, then M(n, n 1) kn. Let N(n) denote the number of mutually orthogonal Latin squares of side n. Finding better lower bounds for values of N(n) is an on-going 2

combinatorial problem of considerable interest world-wide Von Beth (1983); Colbourn and Dinitz (2006). Other permutation groups produce competitive lower bounds for M(n, d) but are not necessarily optimal in size. For example, AΓL(1, n) and P ΓL(2, n), the affine semilinear group and projective semilinear group, respectively, where n is p k, for some prime p and integer k > 0, were used to get new bounds for M(n, n p k ) and M(n + 1, n p k ), respectively, where k is the largest proper factor of k Bereg et al. (2015). A permutation array can be modified to produce a new permutation array with a different number of symbols and a different Hamming distance. Intuitively, it is possible to extend a permutation array by introducing a new symbol to every permutation in a PA. This idea is further exploited in Bereg et al. (2017), where a new technique is presented, called partition and extension, that improves numerous lower bounds for M(n, n 1) over those given by MOLS. The technique relies on decomposing a PA A into subsets of permutations called blocks, such that the Hamming distance within a block is larger that the distance between blocks. Given such a decomposition, partition and extension extends the PA A to a new PA A on Z n+1 by including the new symbol n in such a way that hd(a ) n. Effectively, partition and extension increases the length of the permutations to n+1 while simultaneously increasing the Hamming distance to n. In Bereg et al. (2017b) a greedy algorithm is given for finding the partition of symbols P and symbols Q needed for this technique as well as an optimization approach that produced hundreds of new results. It should be noted that partition and extension is used, more generally, to partition and extend a PA A on symbols in Z n such that hd(a) d into a PA A on symbols in Z n+1 such that hd(a ) d + 1. We will give examples. Nguyen (2013) explored the idea of extending a PA A on Z n to a PA A on Z n+r by introducing to each permutation in A simultaneously r symbols. Using disjoint sets of blocks it is possible to extend k = 2r blocks, if the difference between the intra-hamming distance 3

d, the distance between permutations in the same block, and the PA Hamming distance d is at least r or d d + r. Each of the r symbols are appended to the end of each permutation in every block, specifically, the sequence γ of new symbols, namely γ = n, n+1,..., n+r 1, is appended to each permutation in each of the blocks B 0, B 1,..., B k 1, but the order and position of the sequence in different blocks is changed by a cyclic shift. Introducing the new symbols in this fashion ensures that the same symbols are never used in the same position in two distinct blocks. Recently, Bereg et al. (2017b) further generalized the technique of introducing multiple symbols. The technique, called parallel partition and extension, extends k disjoint blocks of permutations in a PA A with the same necessary conditions regarding intra-hamming distance d > d and d = d + r as in Nguyen (2013). The advantage of such technique is that it is possible to extend a larger set of blocks, say k 2r, effectively creating larger permutation arrays and improving existing bounds for M(n + r, d + r). A new form of partition and extension, called sequential partition and extension is described in section 2.5. This technique allows the application of two iterations of partition and extension when sufficient blocks are available, as in the case of permutations arrays from AGL(1, n). The resulting permutation array A will be on Z n+2 and Hamming distance n. Sequential partition and extension produces multiple new results for M(n + 2, n) A n (n 1) where n is a prime. In contrast to the previously mentioned techniques, it is possible to create new permutation arrays from existing ones also by reducing the number of symbols. In Bereg et al. (2015) contraction is described as a technique to allow one to transfer a permutation array from S n to S n 1 without affecting the Hamming distance by too much. That is, the contraction of a permutation σ on S n, denoted by σ CT, is the permutation on S n 1 defined by: σ (x) = σ(x) if σ(x) n 1, and σ (x) = σ(n 1) if σ(x) = n 1 for all x (0 x n 2). In oder words, the contraction σ CT of σ is formed by substituting the symbol σ(n 1) for the symbol n 1, 4

and eliminating the symbol n 1 altogether. Bereg et al. (2015), showed that contracting PA A on Z n symbols and Hamming distance d, creates a PA A CT on Z n 1 and Hamming distance d 2 when n is not divisible by 3, and d 3 otherwise. In chapter 4 we present different solutions to reduce the Hamming distance of A CT on Z n by only 2, instead of 3 when n is divisible by 3. Alternatively, PAs can be constructed using a modified version of Kronecker Product, an operation, denoted by the symbol, which has been widely used in linear algebra, combinatorics, and several other areas (Henderson et al., 1983; Holmquist, 1985). In a recently published paper (Bereg et al., 2017a) a modified version of Kronecker Product operation is used on two block decompositions (see to Section 1.2 for full details), say A 1, A 2,..., A m (where each A i is a p p array), and B 1, B 2,..., B m (where each A j is a q q array) to form a collection of PAs (A B) 1, (A B) 2,..., (A B) m (each a pq pq array), where (A B) i = A i B i. Specifically, a modified version of Kronecker product can be applied on a block decomposition of P GL(2, q) and the blocks A 1, A 2,..., A r 1 of a block decomposition of AGL(1, r). The block decomposition of P GL(2, q) creates N = (q 1)q blocks, B 1, B 2,..., B N such that (1) for all i (1 i N), hd(b i ) = q + 1, (2) for all i, j (1 i < j N), hd(b i, B j ) q 1, and (3) each block consists of q + 1 permutations on q + 1 symbols. It is later shown that a modified version of Kronecker products (A B) 1, (A B) 2,..., (A B) m form PAs of permutations on qr symbols having pairwise Hamming distance qr 2. Bereg et al. (2017a) developed a technique for creating new PAs from existing ones based on the concept of tiling. A doubling T, a special case of tiling, is the arrangement of 2n 2n matrix with four copies of a n n matrix, say A. It is still called a doubling if, say, the copies of A in the northeast and southwest quadrants of M have offset values added to make their symbols disjoint from the copies of s in the northwest and southeast quadrants. Doubling is useful in constructing PAs for Hamming distances. If A is a PA on n symbols 5

with pairwise Hamming distance n a, for some a, then (with offsets added to make each line a permutation on 2n symbols) M is a PA on 2n symbols with pairwise Hamming distance n 2a. In particular, if each A is a copy of AGL(1, p) which is a PA of permutations on p symbols with pairwise Hamming distance p 1, then M is a PA on 2p symbols with pairwise Hamming distance p 2. The structure of this thesis is the following: The rest of this chapter reviews fundamental concepts needed for the study of permutation arrays. It also includes a proof for decomposing groups into blocks. Chapter 2 describes in greater depth techniques for creating new permutation arrays from existing ones by introducing new symbols. We give new algorithms and new lower bounds for M(n, d) based on the technique of partition and extension. We also describe parallel partition and extension. Chapter 2 also presents a new technique called sequential partition and extension that allows iterative applications of partition and extension on the same permutation array. Our computational approaches are given for the partition and extension technique, including a greedy algorithm and distinct integer linear programming formulations for finding good partitions. In chapter 3 we revisit the coset search technique given in Nguyen (2013). We provide an integer linear programming formulation that produces numerous new results and a satisfiability formulation for the coset search problem. In chapter 4 we continue the investigation of contraction, a technique for finding new permutation arrays by removing symbols. We present a so called contraction graph G(A CT ), that results from contracting a PA A on Z n symbols. In chapter 5 we describe a modified version of the Kronecker product to create new permutation arrays. We show that one can partition and extend a PA obtained from the modified Kronecker Product and cover all permutations. We also present new results for Kronecker product between AGL(1, n) and P GL(2, n) groups. In the same chapter we revise 6

the tiling technique and present a comprehensive list of results for M(n, n 2). Finally, chapter 6 summarizes, draws some conclusions and discusses open questions and possible future work. 1.1 Preliminaries 1.1.1 Permutation A permutation is a list of the elements of Z n = {0, 1,..., n 1} in arbitrary order, with each element appearing once (and only once). e.g., σ = (4 0 2 3 1) is a permutation of Z 5. A permutation of Z n can also be viewed as a one-to-one function σ : Z n Z n, e.g., σ(0) = 4, σ(1) = 0, σ(2) = 2, σ(3) = 3, σ(4) = 1. 1.1.2 Hamming Distance The number of disagreements between two strings, permutations in this case: e.g., n 1 { i σ(i) τ(i)}. i=0 σ =(4 0 2 3 1) τ =(2 0 4 1 3) have Hamming distance 4. Alternatively, the Hamming distance can be computed as the difference between the number of symbols in the strings, n, and the number of agreements between the strings, a. In the previous example, there is one agreement, a = 1, in the pair of permutations on Z n=5. Then, hd(σ, τ) = d = n a = 5 1 = 4 The Hamming distance preserves the following properties: 7

1. hd(σ, τ) 0 (no negative distances) 2. hd(σ, τ) = 0 if and only if σ = τ 3. hd(σ, τ) = hd(τ, σ) (distances are symmetric) 4. hd(σ, τ) hd(σ, ρ) + hd(ρ, τ) (triangle inequality) Therefore, the Hamming Distance is a valid Metric (Leskovec et al., 2014). 1.1.3 Permutation Arrays A permutation array (PA) A, is a set of permutations on Z n = {0, 1,..., n 1} for some n. The PA has Hamming distance d if any two permutations σ and τ in A have Hamming distance at least d. The cardinality of a A, denoted by A, is the number of permutations in A. A permutation array is sometimes denoted as (n, d)-pa, where n is refers to its permutation set of symbols Z n and d the Hamming distance of the PA, e.g.: A is a permutation array on Z 3, Hamming distance d = 2 and A = 6: 0 1 2 2 0 1 1 2 0 A = 0 2 1 2 1 0 1 0 2 1.1.4 Maximum Size Permutation Arrays: M(n, d) M(n, d) is defined as the maximum number of permutations on Z n symbols with Hamming distance d, for any non-negative integers n and d. For example, it is known that M(n, n) = n, and there exists no permutation array on Z n and Hamming distance n with more that n permutations. 8

1.1.5 Groups A (permutation) group S is collection of permutations along with a binary operation (composition) called product ( ) that satisfies the following properties, also known as group axioms: S is closed under operation There is an identity element e such that s e = e s = s; s S is associative: (s t) v = s (t v) s S there exists the inverse s 1, such that s s 1 = e and s 1 s = e The order of a group is the number of elements (permutations) in it. 1.1.6 Galois Field A field F n (Hillman and Alexanderson, 1988), is a set X closed under operations of addition and multiplication with all three of the following properties: 1. X is an abelian group under addition with 0 as the identity. 2. X with 0 deleted is an abelian group under multiplication. 3. Multiplication is distributive over addition in X. A field with with a finite number of elements is known as a Galois Field GF (n) (Weisstein, 1999). For each prime p, GF (p) is the set of integers {0, 1,..., p 1} with addition and multiplication modulo p. For each prime power p n, where p is prime number and n Z +, there exists exactly one (up to isomorphism) finite field GF (p n ). When n > 1, GF (p n ) can be represented as a field of equivalence classes of polynomials whose coefficients belong to GF (p). A primitive polynomial is a polynomial that generates all 9

Table 1.1. Polynomial representation of elements of GF(8) x n Power Remainder Vector Symbol 0 000 ˆ0 x 0 1 1 001 ˆ1 x 1 x x 010 ˆ2 x 2 x 2 x 2 100 ˆ3 x 3 x 3 x + 1 011 ˆ4 x 4 x 2 + x x 2 + x 110 ˆ5 x 5 x 3 + x 2 x 2 + x + 1 111 ˆ6 x 6 x 3 + x 2 + x x 2 + 1 101 ˆ7 x 7 x 3 + x 1 001 ˆ1 x 8 x x 010 ˆ2......... elements of an extension field from a base field. Primitive polynomials are also irreducible polynomials. For any prime or prime power q and any positive integer n, there exists a primitive polynomial of degree n over GF (q). Any primitive polynomial of degree n yields the same field up to isomorphism. For example, for GF (2 3 ), both x 3 + x 2 + 1 and x 3 + x + 1 are primitive polynomials. Using the modulus x 3 + x + 1, the elements of GF (2 3 ) can be represented as polynomials with degree less than 3, as shown in Table 1.1. In this table, the column n represents the the variable x to the i th power, the power column contains a polynomial form of the non-zero elements of the Galois field, where x 0 = 1, and x i+1 = x multiplied by the polynomial remainder for x i. The Remainder column shows the remainder of dividing the power column by the primitive polynomial. The Vector column shows the coefficients of the terms in the polynomials in Remainder column as a vector. The Symbol column shows the integer representation. This is the integer that is used as the symbol in the multiplication and addition tables, shown in Tables 1.2 and 1.3, respectively. When n = 1, the field s multiplication and addition tables are computed using standard modular arithmetic, as illustrated in Tables 1.4 and 1.5, respectively. 10

Table 1.2. Addition Table of GF(8) 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 2 0 2 3 4 5 6 7 1 3 0 3 4 5 6 7 1 2 4 0 4 5 6 7 1 2 3 5 0 5 6 7 1 2 3 4 6 0 6 7 1 2 3 4 5 7 0 7 1 2 3 4 5 6 Table 1.4. Multiplication Table of GF(7) 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 2 0 2 4 6 1 3 5 3 0 3 6 2 5 1 4 4 0 4 1 5 2 6 3 5 0 5 3 1 6 4 2 6 0 6 5 4 3 2 1 Table 1.3. Multiplication Table of GF(8) 0 1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7 1 1 0 4 7 2 6 5 3 2 2 4 0 5 1 3 7 6 3 3 7 5 0 6 2 4 1 4 4 2 1 6 0 7 3 5 5 5 6 3 2 7 0 1 4 6 6 5 7 4 3 1 0 2 7 7 3 6 1 5 4 2 0 Table 1.5. Addition Table of GF(7) 0 1 2 3 4 5 6 0 0 1 2 3 4 5 6 1 1 2 3 4 5 6 0 2 2 3 4 5 6 0 1 3 3 4 5 6 0 1 2 4 4 5 6 0 1 2 3 5 5 6 0 1 2 3 4 6 6 0 1 2 3 4 5 1.1.7 k-transitivity Let G be a permutation group acting on Z n = {0, 1,..., n 1}, then G is called k transitive if for every k non repeating elements x 1, x 2,..., x k Z n and every k non repeating elements y 1, y 2,..., y k Z n, there is a permutation g G such that g(x i ) = y i for all i = 1,..., k. Such group is called sharply k transitive if the element g is unique. 1.1.8 Affine Linear Group The permutation group AGL(1, n), consisting of the affine linear transformations is defined as: AGL(1, n) = { ax + b a, b GF (n), a 0} (1.1) This group is sharply 2-transitive and order n(n 1). 11

e.g.: The group AGL(1, 7) is a set of permutations on 7 symbols, and its cardinality is AGL(1, 7) = 7 6 = 42:. The following are two of the six cosets from AGL(1, 7) for a = 1 and a = 2, respectively: 0 1 2 3 4 5 6 6 0 1 2 3 4 5 5 6 0 1 2 3 4 4 5 6 0 1 2 3 3 4 5 6 0 1 2 2 3 4 5 6 0 1 1 2 3 4 5 6 0 0 2 4 6 1 3 5 6 1 3 5 0 2 4 5 0 2 4 6 1 3 4 6 1 3 5 0 2 3 5 0 2 4 6 1 2 4 6 1 3 5 0 1 3 5 0 2 4 6 1.1.9 Projective Linear Group The projective linear group, denoted as P GL(2, n), acts on the set Z n+1 = {0, 1, 2,..., n 1, }. The elements in this group are defined as follows: P GL(2, n) = { f(x) = ax + b cx + d a, b, c, d GF (n), x GF (n), ad bc} (1.2) where: f(x) = ax + b cx + d if x GF (q) and x d c f(x) = if x GF (q) and x = d c f(x) = a c if x = and c 0 f(x) = if x = and c = 0 It is known that if a group G of permutations on Z n is sharply k-transitive, then hd(g) = n k + 1 (Frankl and Deza, 1977). It follows that, for all prime powers q, AGL(1, q), which is sharply 2-transitive on q symbols, and P GL(2, q), which is sharply 3-transitive on 12

q + 1 symbols, has Hamming distance q 1. Also, the order of the P GL(2, q) group is (n + 1)n(n 1). e.g.: The group P GL(2, 2) is a set of permutations on 3 symbols, and P GL(2, 2) = 3 2 1 = 6: 0 1 2 0 2 1 1 0 2 2 0 1 1 2 0 2 1 0 The group is also defined for any prime r and degree q, P GL(r, q). A sample of permutation arrays experimentally obtained from multiple configurations of r and q is shown in Table 1.6. The last column in this table, Better Bound, indicates whether the permutation group produces a competitive bound for M(n, d). Table 1.6. Other Values for P GL(p, q). P GL(p, q) n d Order Improves Bound P GL(3, 2) 7 4 168 No P GL(3, 3) 13 8 5, 616 No P GL(3, 4) 21 15 60, 489 No P GL(3, 5) 31 24 372, 000 No P GL(3, 7) 57 48 5, 630, 688 Yes P GL(3, 8) 73 63 16, 482, 816 Yes P GL(3, 9) 91 90 42, 456, 960 Yes P GL(4, 2) 15 8 20, 160 No P GL(4, 3) 40 26 12, 130, 560 No P GL(5, 2) 31 16 9, 999, 360 No The Projective Special Group, P SL, is also defined for any prime r and degree q. A sample of permutation arrays experimentally obtained is shown in Table 1.7. The last 13

column in this table, Better Bound, indicates whether the permutation group produces a competitive bound for M(n, d). Table 1.7. Other Values for P SL(p, q). P SL(p, q) n d Order Better Bound P SL(2, 2) 3 2 6 No P SL(2, 3) 4 4 12 No P SL(2, 4) 5 3 60 No P SL(2, 5) 6 4 60 No P SL(3, 2) 7 4 168 No P SL(3, 3) 13 8 5, 616 No P SL(3, 4) 21 16 20, 160 No P SL(3, 5) 31 24 372, 000 No P SL(4, 2) 15 8 20, 160 No P SL(4, 3) 40 27 6, 065, 280 No 1.1.10 Mathieu Groups There exists only one sharply 4 transitive group and only one sharply 5 transitive group, known as the Mathieu Groups, denoted by M 11 and M 12, respectively. The order of these groups are 7, 920 and 95, 040, and acting on Z 11 and Z 12 respectively (Aschbacher, 1994). Also, there exists a 4 transitive group and a 5 transitive group, denoted by M 23 and M 24, respectively, of order 10, 200, 960 and 244, 823, 040, and acting on Z 23 and Z 24 respectively (Aschbacher, 1994). In a similar manner, there exists a 3 transitive and a 2 transitive groups, denoted by M 21 and M 22, respectively, of order 20, 160 and 443, 520, and acting on Z 21 and Z 22 respectively (Aschbacher, 1994). 1.1.11 Groups as (Maximum Size) Permutation Arrays Frankl and Deza (1977) showed that the Hamming distance of sharply k-transitive group is d = n k + 1, and that sharply k-transitive groups correspond to the maximum size 14

Table 1.8. Summary of Groups as Permutation Arrays. Name n d Card. Maximal Size ALG(1, n) n n 1 n(n 1) Yes P GL(2, n) n + 1 n 2 (n + 1)n(n 1) Yes AΓL(1, p k ) n n 1 kn(n 1)? P ΓL(2, p k ) n + 1 n 3 k(n + 1)n(n 1)? M 11 11 8 7, 920 Yes M 12 12 8 95, 040 Yes M 21 21? 20, 160? M 22 22? 443, 520? M 23 23 19 10, 200, 960? M 24 24 19 244, 823, 040? permutation arrays. Table 1.8 summarizes the properties of permutation arrays created from groups. Question marks in the Maximal Size column indicate that it has not been shown whether the group under consideration creates a permutation array of maximum size. Details of permutation arrays from AΓL(1, p k ) and P ΓL(2, p k ) groups are described in Bereg et al. (2015) 1.1.12 Mutually Orthogonal Latin Squares A Latin square of size n is a n n table of symbols in Z n with no symbol repeated in any row or column. e.g.: Three Latin squares of size n = 4: 0 2 3 1 3 1 0 2 1 3 2 0 2 0 1 3 0 3 1 2 2 1 3 0 3 0 2 1 1 2 0 3 0 3 1 2 3 0 2 1 1 2 0 3 2 1 3 0 Two Latin squares A and B of size n are mutually orthogonal if { (a i,j, b i,j ) 0 i, j < n} is Z n Z n. 15

e.g. Two Latin square of size n = 3 that are mutually orthogonal: 0 1 2 0 2 1 A = 2 0 1, B = 2 1 0 1 2 0 1 0 2 (0, 0) (1, 2) (2, 1) A B = (2, 2) (0, 1) (1, 0) (1, 1) (2, 0) (0, 2) To be mutually orthogonal A B must be equal to Z n Z n = {(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)}. Given a set A = {A 1, A 2,..., A k } of k mutually orthogonal Latin squares (MOLS) of size n, there is a permutation array with kn permutations with Hamming distance d = n 1 (Colbourn et al., 2004). To create such permutation array from MOLS, each of the MOLS must be transformed first. First, a Latin square A can be viewed as a collection of triples in Z n Z n Z n, namely A = { (i, j, k) A i,j = k}. Then, a permutation array S(A) is built from A as follows: S(A) = { (k, j, i) (i, j, k) A} (1.3) That is, the array S(A) is the n n matrix, say B, where B k,j = i. The resulting permutation array is the union of each of the transformed MOLS, PA= k {S(A 1 ), S(A 2 ),..., S(A k )} (Colbourn et al., 2004). e.g. There are 3 MOLS of size 4. The union of the mapped MOLS forms a permutation array A, on Z 4 and A = 12 with Hamming distance d = 3. 0 2 3 1 0 3 1 2 3 1 0 2 2 1 3 0 A 0 =, S(A 0 ) = 1 3 2 0 3 0 2 1 2 0 1 3 1 2 0 3 i=1 16

0 3 1 2 0 2 3 1 2 1 3 0 3 1 0 2 A 1 =, S(A 1 ) = 3 0 2 1 1 3 2 0 1 2 0 3 2 0 1 3 0 3 1 2 0 1 2 3 3 0 2 1 2 3 0 1 A 2 =, S(A 2 ) = 1 2 0 3 3 2 1 0 2 1 3 0 1 0 3 2 It is easy to verify that the union of S(A i ) is a permutation array on Z 4 and the Hamming distance between any pair of permutations in it is at least 3. We consider permutation arrays obtained from MOLS a strong baseline for M(n, n 1). Colbourn and Dinitz (2006) compiled an extensive list of the number of MOLS of size up to 10, 000. Moreover, existing computer programs, such as Sage (Stein et al., 2008) provide an updated list of the number of MOLS for values of 100, 000 and beyond. An excerpt of such tables are shown in Appendix A. 1.2 Block Decompositions 1 We define a block decomposition of a PA A of permutations on Z n symbols with hd(a) d as a collection of sub-arrays (e.g., blocks ), say B 1, B 2,..., B m, with each B i a subset of A and, for all i j, B i B j = such that (1) for all i (1 j m), hd(b i ) = n, and (2) each block consists of n permutations. Consider AGL(1, q), the affine general linear group, where q is a prime. One can create a block decomposition of AGL(1, q), B 1, B 2,..., B q 1, by choosing B 1 1 c 2017 IEEE. Portions Adapted, with permission, from S. Bereg, L. Mojica, L. Morales and H. Sudborough, Kronecker Product and Tiling of Permutation Arrays for Hamming Distances, IEEE International Symposium on Information Theory (ISIT), June 2017. 17

to be the cyclic subgroup of permutations of AGL(1, q) consisting of the identity permutation I and all cyclic shifts of I. The blocks B 2, B 3,..., B q 1, are cosets of B 1 in AGL(1, q) and consist of all cyclic shifts of a coset representative. For example, a coset representative for B 2 is the permutation 0, 2, 4,..., 2i (mod q),..., and a coset representative for B 3 is the permutation 0, 3, 6,..., 3i (mod q),.... A block decomposition of AGL(1,5) is illustrated in Figure 1.1. 0 1 2 3 4 0 2 4 1 3 1 2 3 4 0 B 1 = 2 3 4 0 1 3 4 0 1 2 B 2 4 1 3 0 2 = 4 1 3 0 2 1 3 0 2 4 4 0 1 2 3 3 0 2 4 1 0 3 1 4 2 0 4 3 2 1 3 1 4 2 0 B 3 = 1 4 2 0 3 4 2 0 3 1 B 4 3 2 1 0 4 = 3 2 1 0 4 2 1 0 4 3 2 0 3 1 4 1 0 4 3 2 Figure 1.1. A block decomposition for AGL(1, 5). As the permutations in each block are cyclic shifts of each other, there are no agreements between permutations in a block, so the pairwise Hamming distance of permutations within a block is q. A sharply k-transitive group of permutations on n symbols has Hamming distance n k + 1 (Deza and Vanstone, 1978; Cameron, 1999). Since AGL(1, q) is sharply 2-transitive, it follows that hd(agl(1, q)) = q 1. As each block consists of all cyclic shifts of a fixed permutation of length q, it follows that each block has q permutations. Next consider AGL(1, q), where q = p k, where p is prime and k > 1. In this case, we consider the Galois field GF (p k ) defined by some primitive polynomial and where the nonzero elements form a cyclic group of the elements 1, x, x 2,..., x q 2 Cox (2012). One can create a block decomposition, say B 1, B 2,..., B q 1, by choosing B 1 to be the group of permutations that are the q distinct rows of the addition table for GF (p k ), namely all permutations of 18

the form x + b, for the q choices of b in GF (p k ). Since GF (p k ) is an abelian group under addition (Cox, 2012), each row and column of the addition table is a permutation of the q symbols and, hence, hd(b 1 ) = q. The blocks B 2, B 3,..., B q 1 consist of the permutations of the forms 2x + b, 3x + b,... (q 1)x + b, where b varies over all elements in GF (p k ). Note that 2 x, 3 x 2, 4 x 3,... we have 2x + b x 2 + b, 3x + b = x 3 + b,... So, it follows that the PA B i+1 is obtained from B i by a left cyclic shift of the elements in each of the columns 1, 2,..., q 1, as shown in Figure 1.2 for q = 2 2. 0 1 2 3 0 2 3 1 0 3 1 2 B 1 = 1 0 3 2 2 3 0 1 B 2 = 1 3 2 0 2 0 1 3 B 3 = 1 2 0 3 2 1 3 0 3 2 1 0 3 1 0 2 3 0 2 1 Figure 1.2. A block decomposition for AGL(1, 4). It follows that (1) for all i (1 i q 1), hd(b i ) = q, and (2) each block consists of q permutations. So, B 1, B 2,..., B q 1 with each B i a subset of A and, for all i j, B i B j =, is a block decomposition of AGL(1, q), where q = p k. Now consider P GL(2, q), where q is a prime (or a prime power), which is known to be a sharply 3-transitive group of (q 1)q(q + 1) permutations on q + 1 symbols (Cameron, 1999; Dixon and Mortimer, 1996). It follows that P GL(2, q) has Hamming distance q 1. It is known (McSorley, 1997) that, for all q, P GL(2, q) contains a cyclic permutation, say γ, which is a permutation that in cycle notation is a single cycle, say γ = (γ i(1) γ i(2) γ i(3)... γ i(q+1) ) of all q + 1 symbols. That means that γ is a permutation of order q + 1, i.e. the order is the smallest i such that γ i is the identity permutation I. It also means that, for all k (1 k q), γ k maps each element γ i(j) to γ i(j)+k (mod q+1), and, in particular, no element is mapped to itself. In fact, it follows that the PA B 1 consisting of {γ, γ 2, γ 3,..., γ q+1 } is a subgroup of P GL(2, q) with Hamming distance q + 1. So, for any permutation π in P GL(2, q), the PA consisting of B 2 = {πγ, πγ 2, πγ 3,..., πγ q+1 }, consisting of the permutation π composed 19

with each permutation in B 1 is a coset of the subgroup B 1 such that hd(b 2 ) = q + 1. By choosing different coset representatives, we can obtain disjoint cosets B 2,..., B q(q 1) of B 1 each with Hamming distance q + 1. As they are all subsets of P GL(2, q), it follows that, (1 i < j q(q 1), hd(bi, Bj) q 1. So, B 1, B 2,..., B q(q 1) is a block decomposition of P GL(2, q). Example. Figure 1.3 shows a block decomposition of P GL(2, 3) into 6 blocks, each with 4 permutations. The Hamming distance of between two permutations within a block (intra- Hamming distance) is 4, and the Hamming distance between two permutations in distinct blocks is at least 2. 2 3 0 1 2 1 0 3 1 2 0 3 B 1 = 0 2 1 3 1 0 3 2 B 2 = 0 2 3 1 3 0 1 2 B 3 = 0 1 3 2 3 0 2 1 3 1 2 0 1 3 2 0 2 3 1 0 3 2 0 1 3 1 0 2 3 2 1 0 B 4 = 0 3 1 2 1 0 2 3 B 5 = 0 3 2 1 2 0 1 3 B 6 = 1 3 0 2 0 1 2 3 2 1 3 0 1 2 3 0 2 0 3 1 Figure 1.3. A block decomposition for P GL(1, 3). 20

CHAPTER 2 EXTENDING PERMUTATION ARRAYS 1 Permutation arrays can be modified to create new PAs with a different number of symbols and different Hamming distances. In this chapter we explore techniques that modify PAs by introducing new symbols into its permutations. The motivation for employing such techniques is that a good PA (a PA whose cardinality creates new lower bounds for M(n, d)), say A, on Z n can be transformed into a PA, say A, on Z n+r for r 1, such that the cardinality of A is better than the cardinality of a known PA, say B, on Z n+r, in other words A > B. We review different methods used to introduce new symbols to PAs. We begin with a simple technique that introduces a new symbol in a naïve way and then describe a more sophisticated approach that avoids the creation of new agreements between permutations, as the simple technique does. A recent technique that extends PAs with multiple symbols at the same time is discussed later in the chapter. We revise, a simple way of extending a PA with multiple symbols simultaneously and present an improved version based on partition and extension. Using a different approach, we present a technique that allows an iterative application of partition and extension, a technique that we call sequential partition and extension. With this method one can construct permutation arrays that improve known bounds for M(n + 2, d) from PAs on M(n, d). In addition to the formal description of these techniques we provide computational approaches for finding good partition systems to support the methods presented here. 1 c 2017 Springer. Portions Adapted, with permission, from S. Bereg, L. Morales and H. Sudborough, Extending permutation arrays: improving MOLS bounds, Designs, Codes and Cryptography, June 2017. 21

2.1 Simple Extension If A is permutation array on Z n with hd = d, then the extended permutation array A on Z n+1 formed by adding a new symbol n at the end of each permutation in A has hd = d. The number of agreements increases by one as all permutations in A agree at position n. The simple extension creates a permutation array (n + 1, d)-pa from (n, d)-pa. The example in Figure 2.1 shows a permutation array, (5,4)-PA, composed of two blocks, B 0 and B 1, with intra-hamming distance 5 and inter-hamming distance 4. This PA is trivially extended adding a new symbol 5 in the position n creating permutation array (6, 4)-PA, formed by the union of blocks B 0 and B 1. B 0 = B 1 = 0 1 2 3 4 1 2 3 4 0 2 3 4 0 1 3 4 0 1 2 4 0 1 2 3 0 2 4 1 3 4 1 3 0 2 3 0 2 4 1 2 4 1 3 0 1 3 0 2 4 B 0 = B 1 = 0 1 2 3 4 5 1 2 3 4 0 5 2 3 4 0 1 5 3 4 0 1 2 5 4 0 1 2 3 5 0 2 4 1 3 5 4 1 3 0 2 5 3 0 2 4 1 5 2 4 1 3 0 5 1 3 0 2 4 5 Figure 2.1. A simple Extension Example. Permutation Array (5-4)-PA extended to (6-4)-PA. 22

Table 2.1. Tabular representation of (n + 1, d + 1)-PA Permutation Array obtained from applying partition and extension of (n, d)-pa n n+1 d d+1 2.2 An Improved Partition and Extension The simple extension described in section 2.1 introduces an additional agreement, producing a permutation array (n + 1, d)-pa from a (n, d)-pa. One can extend a permutation array by adding a new symbol without introducing new agreements, creating a permutation array (n+1, d+1)-pa from a (n, d)-pa, as shown in Table 2.1. The necessary condition is to use a permutation array composed of blocks with larger intra-hamming distance than the overall permutation array distance d. First, a permutation σ is said to be covered by a set of positions P and a set of symbols Q if: 1 if i P, j Q σ(i) = j cov(σ, P, Q) = 0 otherwise For example, let σ = (4 0 2 3 1) be a permutation on Z 5 and let the set of positions be P = {0, 1, 4}, and the set of symbols be Q = {0, 2, 3}, then cov(σ, P, Q) = 1, because σ(1) = 0. A partition system Π = (M, P, Q) consists of a set M of permutations on Z n, which are arranged into k + 1 blocks, say B 0, B 1,..., B k, a partition P of the positions for blocks B 0, B 1,..., B k 1, and a partition Q of the symbols for blocks B 0, B 0,..., B k 1. Each of the first k 1 blocks in M, say B i, is a assigned a set of symbols from P, say P i and a set of symbols from Q, say Q i. Then, each permutation, say σ, in the block that is covered by P i and Q i or cov(σ, P i, Q i ) = 1 (see above for a definition of a permutation being covered), is 23

modified by introducing the symbol n in the first position where the permutation is covered, that is σ (i) = n if σ(i) = j and i P i and j Q i. Finally the replaced symbol is appended at the end of the permutation, that is σ (n) = σ(i) = j. For the block B k, the symbol n is simply appended to the end of each permutation, σ (n) = n, so partitions P and Q need not include positions and symbols for the permutations in B k. The union of all blocks is a permutation array on Z n+1 symbols and Hamming distance d + 1. The correctness of the technique was shown by Bereg et al. (2017). Intuitively, the reason partition and extension creates no new agreements compared to simple extension is that it uses all available positions to introduce the new symbol n, instead of using only one position, namely the last one. Moreover, these positions are distributed among all blocks with no two blocks using the same positions, ensuring no agreements are created between two blocks. As for the symbols moved to position n in a partition of Z n, again, ensuring that no two blocks move the same symbols to position n, so no new agreements are created. In the extended PA, A, new agreements only occur between permutations where the new symbol n is introduced in the same position. Because the PA is extended by one symbol, the resulting PA is on n + 1 symbols. And because there are no new agreements between blocks, the Hamming distance of A is d + 1. Example. Consider again a permutation array on Z 5 = {0, 1, 2, 3, 4} composed of cosets from G = AGL(1, 5) with intra-hamming distance 5 and inter-hamming distance 4. We arbitrarily select a list of 3 cosets from G as blocks, we call this list of blocks, B. Also, let Q = {{0, 1, 2}, {3, 4}} be a partition of symbols and P = {{0, 1, 2}, {3, 4}} be a partition of positions for the blocks B 0 and B 1. Then, the triplet (B, Q, P) be a partition system Π. With the partition system Π, we create a permutation array (6, 5)-PA, by extending (5, 4)-PA in the appropriate positions and symbols, as shown in Figure 2.2. 24

B 0 = B 1 = B 2 = 0 1 2 3 4 1 2 3 4 0 2 3 4 0 1 3 4 0 1 2 4 0 1 2 3 0 2 4 1 3 2 4 1 3 0 4 1 3 0 2 1 3 0 2 4 3 0 2 4 1 0 3 1 4 2 3 1 4 2 0 1 4 2 0 3 4 2 0 3 1 2 0 3 1 4 5 1 2 3 4 0 5 2 3 4 0 1 B 0 = 5 3 4 0 1 2 3 4 5 1 2 0 4 0 5 2 3 1 0 2 4 1 5 3 2 4 1 5 0 3 B 1 = 4 1 3 0 2 1 3 0 2 4 4 3 0 2 5 1 4 0 3 1 4 2 5 3 1 4 2 0 5 B 2 = 1 4 2 0 3 5 4 2 0 3 1 5 2 0 3 1 4 5 Figure 2.2. Partition and Extension technique on Permutation Array (5, 4)-PA creates (6, 5)- PA. The partition system introduces a new symbol in the available blocks without creating new agreements between blocks B 0 and B 1. The inclusion of a new agreement between the permutations in the same block does not affect the overall permutation array distance because of the necessary condition, namely the blocks have larger intra-hamming distance than inter-hamming distance. This example also shows that not every permutation is covered by the partitioning system. The stricken permutation (4 1 3 0 2) has none of the symbols 25

in Q 1 in its assigned P 1 positions, therefore, the permutation is not covered and doest not form part of the resulting PA, (6, 5)-PA. The set of positions assigned to each of the two blocks for this example are the corresponding highlighted columns in gray. Observe that these sets are disjoint, ensuring that no new agreements are created between the two blocks. In addition to the blocks extended using the partition system, one can include an additional block to the final permutation array, B 2 in the current example, using the simple extension as described in section 2.1. Observe that there are no additional agreements between this last block and the ones created using the partitioning system since the set of symbols between the later and former are distinct. Also, it has been shown in Bereg et al. (2017) that one can partition and extend as many as n blocks of a permutation array of n symbols. In the previous example, the maximum number of blocks that can be extended using this technique is 5 = 2 out of the 4 available from the cosets of AGL(1, 5). 2.3 Computational Approaches for the Partitioning and Extension Technique Different partitions of Z n for P and Q can be used to partition and extend a PA and different choices may result in different numbers of permutations being covered. For that reason, the selection of these partitions is of some importance. An optimum partition P and Q is one that covers all permutations in M. Empirically, we have observed that finding such optimum partitions can be hard, and in many instances it is likely that such optimum partitions do not exist. In this section we present different computational approaches to obtain partitions that produce competitive PAs (PAs that create new lower bounds for M(n, d)). 2.3.1 A greedy approach to the Partitioning System Problem Instead of exploring all possible partitions, we can iteratively find the best current partitioning. In Algorithm 1 we provide a greedy approach that follows such a strategy. It has been 26

shown to outperform trivial partitioning systems and can be used to obtain numerous new lower bounds. The algorithm initially creates an arbitrary partition Q of the set of symbol on Z n by evenly dividing Z n among all blocks as follows: Q = {Q 0 = {0, 1,..., k 1}, Q 1 = {k,..., 2k 1},... Q k = {(n 1) (k 1),..., n 1}}. The remaining symbols, if any, are arbitrarily assigned to Q i for some 0 i < k. Then, the partition P is initialized as well as a set of available positions that will remain available after each iteration. At each iteration, the position in consideration is tested on each block and assigned to the block that offers the maximum coverage of permutations, breaking ties randomly. The process continues until all positions are assigned. The algorithm returns the partition P. This partition along with Q and M form the partition system Π. As part of the algorithm, the coverage sub-routine in Algorithm 1 tests the number of covered permutations in block B i. Given a position p and a set of symbols Q i, it returns the number of covered permutations. The resulting permutation array is constructed by extending the set of permutations M using the partitions P and Q, and making the union of the extended M with one additional block that is also extended using simple extension, as described in section 2.1. Despite the simplicity of this approach, there are multiple instances where this greedy algorithm outperforms more elaborate techniques like the ones described in the next subsections. For a complete list of results, refer to Appendix B. 2.3.2 An optimization approach to the Partitioning System Problem The greedy approach for finding a partition system as described in Section 2.3.1 simplifies the problem by arbitrarily creating Q, the partition of symbols, and then creating a partition of positions P based on the best solution at every step, without changing a decision made in previous iterations. The greedy nature of this algorithm permits the reduction of running time and search space, at the cost of possibly finding a suboptimal solution. 27

Algorithm 1: Greedy Partitioning Algorithm Data: M, a list of blocks with d + 1 and d, intra an inter hamming distance respectively. k, the number of blocks and the number of parts to divide the set of symbols Z n 1. Result: Q, P a partition of symbols and positions, respectively. 2 begin 3 Q {Q 0 = {0, 1,..., k 1}, Q 1 = {k,..., 2k 1},... Q k = {(n 1) (k 1),..., n 1}} 4 P {P 0 = {}, P 1 = {},... P k = {}} 5 P A {0, 1,... n 1} /* Set of Available positions */ 6 for p P A do 7 cov [ ] /* Temporary array for tracking block coverage */ 8 for 0 i k do 9 cov[i] = coverage(b i, Q i, p) 10 m idx =argmax(cov) 11 P [midx ] P [midx ] p 12 P A P A p 14 return P 1 Procedure coverage(b i, Q i, p) 2 cov 0 /* Number of permutations covered */ 3 ; for perm B i do 4 if perm[p] Q i then 5 cov cov + 1 7 return cov In order to outperform this greedy algorithm, one can expand the search space and explore a larger set of solutions. As the possibility of exhaustively exploring all possible partitions of symbols and positions is unattainable, we again arbitrarily create the partition of symbols Q, but describe the search for the partition of symbols P as an optimization problem. In fact, we cast the search for P as an Integer Linear Programming problem, henceforth ILP, and allow an off-the-shelf solver to explore the entire search space of partitions for P. There exist commercial solvers (Gurobi Optimization, 2016; CPLEX, 2009), capable of solving large ILP problems efficiently. 28

In addition to searching a larger set of solutions, another advantage of this approach is its flexibility, namely, it allows the user to decide the amount of resources ( computation time, processors, etc.) to allocate to the problem. It is important to recall that despite these advantages, ILP is a NP-Hard problem (Karp, 1972), and its solution will be, in general, only an approximation of the optimum. Formally, let c i,j be a binary variable indicating that the j th permutation of block i is covered. The function u(i) returns the number of permutations in block i. Also, let b i,p be a binary variable indicating that the p th position is assigned to block i and let y be a symbol in Q i, the set of symbols assigned to block i. maximize c i,j k 1 i=0 u(i) 1 j=0 c i,j (2.1) subject to k 1 b i,p = 1; p; (2.2) i=0 1 σp,y b i,p c i,j ; i, j, p; (2.3) y Q i k 1 n 1 b i,p = n; (2.4) i=0 p=0 where 1 if σ(p) = y 1 σp,y = 0 otherwise. (2.5) Equation (2.1) is the objective function to be maximized, that is, the total number of permutations covered in all blocks in M. The optimization is subject to three constraints: Equation (2.2) ensures that the resulting partition P assigns a position to exactly one block, Equation (2.3) establishes that permutation j in block i is covered when at least one of its 29

symbols listed in Q i appears in position p, and p is assigned to this block i, and Equation (2.4) enforces the solution to assign each and every position to a block. Constraints (2.2) and (2.4) effectively ensure that the solution is a partition. Equation (2.5) defines an indicator function that verifies whether a permutation σ is covered or not by checking if symbol y appears at position p, in the same way coverage is defined in section 2.2. 2.3.3 An ILP approach for finding a partitions Q and P simultaneously In section 2.3.2 we presented an ILP formulation for finding the partition of the set of positions P. This formulation started by creating an arbitrary partition of the set of symbols Q in order to reduce the search space of P, allowing the solver to find solutions more rapidly. However, there are problem instances in which the optimum solution can only be found by allowing the solver to simultaneously search for partitions Q and P. This simultaneous search effectively removes restrictions on the set of reachable solutions. Naturally, searching simultaneously for Q and P increases the search space producing lengthier computing times, but does not necessarily guarantee a better solution than the simpler ILP formulation in section 2.3.2. 30

maximize c i,j subject to k 1 i=0 u(i) 1 j=0 c i,j (2.6) k 1 b i,p = 1; p; (2.7) i=0 k 1 b i,q = 1; q; (2.8) i=0 x P i Q i b i,j,p,q c i,j ; i, j; (2.9) b i,j,p,q = b i,p + b i,q 1; i, j, p, q; (2.10) b i,j,p,q b i,p ; i, j, p, q; (2.11) b i,j,p,q b i,q ; i, j, p, q; (2.12) k 1 n 1 b i,p = n; (2.13) i=0 p=0 k 1 n 1 b i,q = n; (2.14) i=0 q=0 Using similar notation as in subsection 2.3.2, let c i,j be a binary variable indicating that the j th permutation of block i is covered. The function u(i) returns the number of permutations in block i. Also, let b i,p be a binary variable indicating that the p th position is assigned to block i, let b i,q be a binary variable indicating that the q th symbol is assigned to block i. Additionally, let b i,j,p,q be a binary variable indicating that the j th permutation in the i th block has assigned symbol q at position p. Now, equation (2.6) is the objective function to be maximized, that is, the total number of permutations covered in all blocks in M. The optimization is subject to the following constraints: Equation (2.7) ensures that the resulting partition P assigns a position to exactly one block, likewise, Equation (2.8) ensures that the resulting partition Q assigns a symbol to exactly one block. 31

Table 2.2. Partitions P and Q for 6 blocks on Z 32 symbols that cover all 192 permutations. This partition produces a new lower bound for M(33, 32) 192. id P Q 0 {0, 11, 12, 15, 16, 21, 28, 29} {0, 18, 23, 25, 27, 30} 1 {7, 13, 14, 22} {3, 5, 9, 10, 14, 21, 22, 31} 2 {1, 2, 5, 18, 20, 24, 25, 30} {1, 4, 20, 24} 3 {3, 6, 10, 17} {2, 6, 7, 12, 13, 19, 28, 29} 4 {4, 8, 9, 19, 23, 26, 27, 31} {8, 11, 15, 16, 17, 26} 5 - - Equation (2.9) establishes that permutation j in block i is covered when at least one of its symbols and positions are assigned to P i and Q i respectively, represented by the the variable b i,j,p,q. Equation (2.10) enforces that variable b i,j,p,q is true only when the symbol q and position p are assigned to block i, for every permutation j in it. Equations (2.11) and (2.12) ensure that a variable b i,j,p,q is true only if position p and symbol q are assigned to block i, respectively. Finally, constraints (2.13) and (2.14) ensure that the solution is a partition of positions P and a partition of symbols Q, respectively. Since this ILP formulation is so resource demanding, it is only possible to apply it for small problems. Table 2.2 shows the partitions Q and P for an instance of the M(n, n 1) problem whose current lower bound was found using this method and no other approach known to us is able to outperform it. 2.4 Parallel Partition and Extension Technique 2 In Section 2.2 we provided two different methods for finding partition systems based on the partition and extension technique. The partition and extension technique extends a permutation array by introducing one new symbol in carefully selected positions. The replaced symbol in each permutation is appended at the end of the permutation. Parallel partition 2 c 2017 IEEE. Portions Adapted, with permission, from S. Bereg, L. Mojica, L. Morales and H. Sudborough, Parallel Partition and Extension, IEEE Conference on Information Sciences and Systems (CISS), March 2017. 32

and extension introduces one or more symbols simultaneously when appropriate. One of the motivations for introducing more than one symbol simultaneously is that one can extend k blocks and introduce r new symbols to an existing PA, assuming the necessary conditions are fulfilled. If one were to introduce r new symbols by repeated applications of the partition and extension technique described in section 2.2, after each application one could only partition and extend k of the previous iteration. So, it would seem that, the resulting PA obtained from a sequential or iterative applications would be smaller than the one obtained from parallel partition and extension. 2.4.1 Rudimentary Parallel Partition and Extension A rudimentary form of parallel partition and extension was described in Nguyen (2013), where a PA A on Z n was extended to a PA A on Z n+r by introducing, to each permutation in A, r new symbols simultaneously. Specifically, suppose A has k = 2r blocks B 0, B 1,..., B k 1, for some r, with, for all i, hd(b i ) d, for some d, and, for all i j, hd(b i, B j ) d r. In particular, hd(a) d r, and a new PA A is created such that hd(a ) d. The sequence σ of new symbols, namely σ = n, n + 1,..., n + r 1, is added to each permutation in each of the blocks B 0, B 1,..., B k 1, but the order and position of the sequence in different blocks is changed by a cyclic shift. In particular, for each integer t (0 t < r), let shift (σ, t) denote the left cyclic shift of the sequence by t positions. For example, shift (σ, 1) is the sequence n+1, n+2,..., n+r 1, n and shift (σ, 2) is the sequence n+2,..., n+r 1, n, n+1. Then, in block B i, for all i (0 i < r), the first r symbols in each permutation of B i, are replaced by shift(σ, i), and the r symbols replaced are put in their original order at the end of the permutation in positions n, n + 1,..., n + r 1. And, in block B i, for all i (r i < 2r), the sequence shift (σ, i) is added to each permutation in positions n, n + 1,..., n + r 1. It is known that the Hamming distance between two permutations does not change when the order of the permutations is altered in a fixed manner. Consequently, the movement of 33

the first r symbols in each permutation to positions n, n + 1,..., n + r 1 does not change the Hamming distance between permutations in the same block or between permutations in different blocks. Since the new symbols n, n + 1,..., n + r 1 are added in different orders in different blocks, no new agreement between permutations in different blocks is created. As the Hamming distance was d r and the length of the permutations was increased by r, the Hamming distance between different blocks is d. The Hamming distance between permutations in the same block was d. A sequence of r new symbols were added in a fixed order to each block, thus creating r new agreements. Since the length of all permutations was increased by r, the Hamming distance between permutations in the same block is d. Thus, the new PA A has Hamming distance d. 2.4.2 A Better Parallel Partition and Extension We now provide a richer version of a parallel partition and extension technique. The motivation for this technique is the observation that the standard version introduces new symbols in the first r positions of the permutations in a permutation array A. That means that there is possibly a large number of positions in addition to the first r that can be used to introduce new symbols allowing the extension to a larger number of blocks. In order to use a larger number of positions without creating agreements between permutations in different blocks, we use the partition and extension technique described in Section 2.2 to obtain a partition system and introduce new symbols based on its P and Q partitions of Z n. Let (M, P, Q) be a partition system. In the standard partition and extension method described in Section 2.2, M consists of k + 1 blocks, say B 0, B 1,..., B k of permutations (the last block need not be partitioned), P is a partition of the positions, i.e. Z n, into k disjoint sets, and Q is a partition of the symbols, i.e. Z n, into k disjoint sets, and each block is extended by introducing exactly one more symbol, say n. A more general case is where r new symbols are to be added simultaneously. We can use a partition system (M, P, Q), 34

where M consists of v blocks, where v k + r, say B 0, B 1,..., B v 1, and, where, for all i, hd(b i ) d, and, for all i j, hd(b i, B j ) d r. As before, P is a partition of the positions, i.e. Z n, into k disjoint sets, and Q is a partition of the symbols, i.e. Z n, into k disjoint sets. In the standard partition and extension, each of the k blocks in M is assigned a set P i P and a set Q i Q so that all covered permutations in block B i are expanded. For parallel partition and extension, each block is a assigned r sets in P and r sets Q, so that every permutation σ B i that is covered by all the r sets in P and Q assigned to B i is extended with r new symbols symbols. Any permutation that is not covered by all r sets in P and Q is discarded and is not included in the extended PA A. By using this approach, different blocks in M use the same sets from partitions P and Q, potentially introducing new agreements between blocks. To avoid new agreements, one needs to ensure three conditions: (a) Introduce different new symbols in each block that uses the same position and, (b) Replaced symbols in different blocks should be appended at the end of the permutations in different positions. (c) Blocks extending its permutations by introducing new symbols, should introduce the new symbols in different positions. For example, if position p is assigned to multiple blocks, say B i,..., B j,..., B k, one introduces symbol n, n + 1,... n + r 1 in position p in each block, respectively. Also, if symbol q is assigned to multiple blocks, then this symbols should be introduced to different positions at the end of permutation. Following this strategy for all shared positions in all blocks ensures that no new agreements are created between two blocks. Condition (c) ensures that all new positions or columns appended to the original permutations are from disjoint set of symbols between blocks, so no new agreements are created in this way. 35

Theorem 1. Let τ B i and γ B j be two permutations from different blocks in the partition system (M, P, Q). Let the Hamming distance be hd(τ, γ) = d r. After introducing r symbols using parallel partition and extension, the Hamming distance between τ and γ remains the same. Proof. For the purpose of contradiction, assume that there is a new agreement between τ and γ, so that hd(τ, γ ) < d r. Case (1): The new agreement, τ (p) = γ (p) occurs at position p (0 p n 1). The same set of positions from P is assigned to blocks B i and B j and position p is an element of such set. Condition (a) ensures that different blocks introduce different symbols for shared positions. This contradicts the initial assumption and τ (p) γ (p). No new agreement is introduced in this case. Case (2): τ (p) = γ (p) = q for some p (n p n + r 1). The symbol q is a symbol replaced after introducing a new symbol at some other position p < n. Since τ and γ share the same symbol, both permutations were assigned the same set of symbols from the partition Q. Following condition (b), the symbol q is a assigned to two distinct positions at the end of the permutations, therefore, τ (p 1 ) = q and γ (p 2 ) = q and p 1 p 2. This is a contradiction of the initial assumption, and there are no new agreements in this case either. Case (3): τ (p) = γ (p) = q for some p (n p n+r 1). The symbol q is a new symbol from the set {n,... n + r 1}. Following condition (c), symbol q is appended in different positions between blocks, therefore, τ (p 1 ) = q and γ (p 2 ) = q and p 1 p 2. Contradicting again the initial assumption, and no new agreements between blocks are created. All possible new agreements between pairs of permutations between blocks are considered in these two cases. As shown above, no new agreement is possible following the necessary conditions for parallel partition and extension. Now that we have shown that the necessary conditions described above produce no new agreements between blocks, we show a simple strategy to enforce these constraints in practice. 36

To avoid the introduction of the new symbol in the same position in two different blocks, assign the sequence of new symbols n, n + 1,... n + k to each block in a cyclic shift order, in a similar way as the rudimentary parallel partition does. That is, block B 0 introduces the new symbols sequence given by shift (σ, 0) in the set of positions assigned to this block. In general, block B i introduces the sequence of new symbols using the cyclic shift (σ, i) for 0 i r. In a similar fashion, the replaced symbols in block B i are appended at the end of the permutation in positions given by the cyclic shit (σ, i). In addition to the first k blocks that are expanded by the partitions P and Q, there are up to r additional blocks that can be added to the resulting PA A. These blocks are expanded by appending the r new symbols at the end of the permutation. To avoid creating new agreements between any pair of blocks one can append the new symbols using cyclic shifts of the sequence σ. For example, block B j (k j k + r 1) appends the sequence of new symbols using the cyclic shift (σ, (j mod k)). e.g. Let k = 4, r = 3, then one can extend 3 additional blocks, where block B 4 will be appended with the sequence given by the cyclic shift (σ, (4 mod 4)) = (σ, 0) = n, n + 1,..., n + r 1. Likewise, block B 5 will be appended with the sequence (σ, (5 mod 4)) = (σ, 1) = n + 1,..., n + r 1, n. This construction is summarized in Table 2.3. Each row in the Table represents a block in the resulting PA A after partitioning and extending a PA A with r symbols. The Block column gives each block a unique index. The Positions column, indicates the sets of positions from P assigned to a block. In the same way, Symbols column shows the sets of symbols from Q assigned to a block. The New Symbols column represents the cyclic shift of the sequence of new symbols σ = n, n + 1,..., n + r 1 in which the new symbols should be introduced in the covered permutations in the block. The remaining columns illustrate the positions where the replaced symbols in a permutation should be appended. As mentioned before, this technique is capable of extending k + r of blocks while the rudimentary parallel partition and extension can extend up to 2r blocks. The cardinality 37

Table 2.3. Parallel Partition and Extension Construction Symbols at new Positions Block Positions Symbols New Symbols n... n... n + r 1 0 P h, P i,..., P j Q h, Q i,..., Q j (σ, 0) Q h... Q i... Q j........................... i P h, P i,..., P j Q h, Q i,..., Q j (σ, 1) Q i... Q j... Q h........................... k 1 P h, P i,..., P j Q h, Q i,..., Q j (σ, k 1) Q j... Q h... Q i k - - - n... n + i... n + r 1........................... k + r 1 - - - n + r 1... n + r 2... n of the extended first k blocks is subject to the coverage obtained from the partition and extension technique, so a number of permutations will not be be part of the extended blocks. Therefore, to obtain a competitive result compared to the rudimentary technique, one typically chooses k > r, so that the extension of a larger number of blocks compensates for the permutations lost due to imperfect coverage. It is important to say that one must choose empirically the optimal value for k. The largest possible value of k will not necessarily produce a competitive bound. The reason is that as k increases, the number of symbols and positions assigned to each of the k blocks for the partitions P and Q decreases, and so does the coverage of the blocks, potentially resulting in extended blocks with fewer permutations than the fully covered r blocks obtained from the rudimentary technique. Example. Consider a set of blocks M = {B 0, B 1 } on Z 10 from P GL(2, 9), where hd(b 0 ) = hd(b 1 ) = 10 and hd(b 0, B 1 ) = 8. Let the partition of positions be P = {P 0 = {0, 3, 5, 7}, P 1 = {1, 4, 8, 9}, P 2 = {2, 6}}, and the partition of symbols be Q = {Q 0 = {0, 1, 2, 9}, Q 1 = {3, 4, 5}, Q 2 = {6, 7, 8}}. We introduce two new symbols (r = 2), using parallel partition and extension. Thus, every permutation in each block that is covered by two sets in the partition P and Q will be part of the extended PA. Additionally, let the sequence of new symbols be σ = 10, 11, the cyclic shift (σ, 0) = 10, 11, and the cyclic shift (σ, 1) = 11, 10. 38

2 1 5 9 4 8 3 6 7 0 2 1 5 9 4 8 3 6 7 0 4 2 6 1 8 7 9 0 5 3 4 2 6 1 8 7 9 0 5 3 8 4 0 2 7 5 1 3 6 9 8 4 0 2 7 5 1 3 6 9 7 8 3 4 5 6 2 9 0 1 7 8 3 4 5 6 2 9 0 1 5 7 9 8 6 0 4 1 3 2 5 7 9 8 6 0 4 1 3 2 P 0 : P 1 : 6 5 1 7 0 3 8 2 9 4 6 5 1 7 0 3 8 2 9 4 0 6 2 5 3 9 7 4 1 8 0 6 2 5 3 9 7 4 1 8 3 0 4 6 9 1 5 8 2 7 3 0 4 6 9 1 5 8 2 7 9 3 8 0 1 2 6 7 4 5 9 3 8 0 1 2 6 7 4 5 1 9 7 3 2 4 0 5 8 6 1 9 7 3 2 4 0 5 8 6 In order to extend Block B 0, shown above, with two new symbols, we required two sets from the partitions P and Q. We arbitrarily select (P 0, Q 0 ) and (P 1, Q 1 ). The set of positions in P 0 is highlighted on the left side, and the set of position P 1 on the right side. P 0 P 1 P 2 P 0 P 1 P 0 P 2 P 0 P 1 P 1 2 1 5 9 4 8 3 6 7 0 4 2 6 1 8 7 9 0 5 3 8 4 0 2 7 5 1 3 6 9 7 8 3 4 5 6 2 9 0 1 5 7 9 8 6 0 4 1 3 2 6 5 1 7 0 3 8 2 9 4 0 6 2 5 3 9 7 4 1 8 3 0 4 6 9 1 5 8 2 7 9 3 8 0 1 2 6 7 4 5 1 9 7 3 2 4 0 5 8 6 39

The block above shows block B 0 with both sets of positions, P 0 and P 1 as well as the positions and symbols where permutations are covered when the respective set of symbols Q 0 and Q 1 are considered. The covering positions and symbols are underlined. Note that a single permutation can be covered in multiple positions by the same combination (P i, Q i ) but, must be covered at least once by each assigned sets of positions and symbols. Those permutation that are not covered by both combinations of symbols and positions (P 0, Q 0 ) and (P 1, Q 1 ) are discarded, noted in this example by the stricken out permutations. P 0 P 1 P 2 P 0 P 1 P 0 P 2 P 0 P 1 P 1 n n + 1 10 1 5 9 11 8 3 6 7 0 2 4 4 2 6 10 8 7 9 0 5 11 1 3 8 11 0 10 7 5 1 3 6 9 2 4 7 8 3 4 11 6 2 10 0 1 9 5 5 7 9 8 6 10 4 1 11 2 0 3 6 11 1 7 0 3 8 10 9 4 2 5 10 6 2 5 11 9 7 4 1 8 0 3 10 11 8 0 1 2 6 7 4 5 9 3 The extended Block B 0 is shown above. The block was extended using the corresponding cyclic shifts (σ, 0) and (σ, 1) for the introduction of the two symbols, respectively. That is, the symbols-positions covered by (P 0, Q 0 ) are replaced by the new symbol 10 and symbolspositions covered by (P 1, Q 1 ) are replaced by symbol 11. The same cyclic shifts are used for selecting the position where the replaced symbols are placed the new columns n, n + 1. Again, the symbols replaced by (P 0, Q 0 ) are appended in column or position n = 10 and symbols replaced by (P 1, Q 1 ) are appended in column n + 1 = 11. 40

P 0 P 1 P 2 P 0 P 1 P 0 P 2 P 0 P 1 P 1 9 5 3 6 2 0 8 1 4 7 2 9 1 5 0 4 6 7 3 8 0 2 7 9 4 3 5 8 1 6 4 0 8 2 3 1 9 6 7 5 3 4 6 0 1 7 2 5 8 9 Block B 1 is shown above. For this block we arbitrarily select sets (P 1, Q 1 ) and (P 2, Q 2 ) from P and Q. The assigned position are highlighted in gray and the covering symbolspositions are underlined. P 0 P 1 P 2 P 0 P 1 P 0 P 2 P 0 P 1 P 1 n n + 1 9 10 3 6 2 0 11 1 4 7 5 8 2 9 1 5 0 4 11 7 10 8 3 6 0 2 11 9 10 3 5 8 1 6 4 7 4 0 11 2 10 1 9 6 7 5 3 8 3 10 11 0 1 7 2 5 8 9 4 6 The Block B 1 shown above has been extended. In this case using cyclic shifts (σ, 1) and (σ, 0) for introducing symbols 10 and 11, respectively. That is, symbols-positions (P 1, Q 1 ) are replaced by symbol n = 10 and the replaced symbols are placed in position n, where as symbols-positions (P 2, Q 2 ) are replaced by symbol n + 1 = 11 and the replaced symbols are placed in position n + 1. 41

P 0 P 1 P 2 P 0 P 1 P 0 P 2 P 0 P 1 P 1 n n + 1 10 1 5 9 11 8 3 6 7 0 2 4 4 2 6 10 8 7 9 0 5 11 1 3 8 11 0 10 7 5 1 3 6 9 2 4 7 8 3 4 11 6 2 10 0 1 9 5 5 7 9 8 6 10 4 1 11 2 0 3 6 11 1 7 0 3 8 10 9 4 2 5 10 6 2 5 11 9 7 4 1 8 0 3 10 11 8 0 1 2 6 7 4 5 9 3 9 10 3 6 2 0 11 1 4 7 5 8 2 9 1 5 0 4 11 7 10 8 3 6 0 2 11 9 10 3 5 8 1 6 4 7 4 0 11 2 10 1 9 6 7 5 3 8 3 10 11 0 1 7 2 5 8 9 4 6 The PA shown above is the union of B 0 and B 1. By simple inspection it is easy to verify that the set of positions assigned to both blocks, P 1, introduce different new symbols in the same position, so there are no new agreements between the two blocks. Also, positions n and n + 1 a the end of the permutations append disjoint set of symbols between the two blocks. For example, in block B 0 the set of symbols at position n is given by the set Q 0, while for block B 1 on the same position the symbols correspond to those in the set Q 1. The same occurs in position n + 1. Therefore, no new agreements between blocks are introduced. The PA is now on Z 12 symbols with hd(a ) = 10. 42

P 0 P 1 P 2 P 0 P 1 P 0 P 2 P 0 P 1 P 1 n n + 1 4 8 9 1 6 3 2 5 7 0 10 11 6 4 5 8 3 7 1 0 9 2 10 11 3 6 0 4 7 9 8 2 5 1 10 11 7 3 2 6 9 5 4 1 0 8 10 11 9 7 1 3 5 0 6 8 2 4 10 11 5 9 8 7 0 2 3 4 1 6 10 11 0 5 4 9 2 1 7 6 8 3 10 11 2 0 6 5 1 8 9 3 4 7 10 11 1 2 3 0 8 4 5 7 6 9 10 11 8 1 7 2 4 6 0 9 3 5 10 11 5 4 9 0 8 2 1 6 7 3 11 10 8 5 6 4 2 7 0 3 9 1 11 10 2 8 3 5 7 9 4 1 6 0 11 10 7 2 1 8 9 6 5 0 3 4 11 10 9 7 0 2 6 3 8 4 1 5 11 10 6 9 4 7 3 1 2 5 0 8 11 10 3 6 5 9 1 0 7 8 4 2 11 10 1 3 8 6 0 4 9 2 5 7 11 10 0 1 2 3 4 5 6 7 8 9 11 10 4 0 7 1 5 8 3 9 2 6 11 10 In addition to blocks B 0 and B 1, we can extend two additional blocks, because we are introducing two new symbols. The PA shown above shows that blocks B 2 and B 3 can be extended by introducing the new symbols in the new positions n and n + 1. Following the same strategy of introducing new symbols using cyclic shifts (σ, 0) and (σ, 1) assigned to 43

Table 2.4. M(n, d) lower bounds. n denotes the number of symbols in the permutation array, d the permutation array Hamming distance, ns the number of symbols used for extending the base permutation array, prev the previously known bound and new the new bound. n d ns prev. new n d ns prev. new 33 27 3 97,440 148,089 57 50 3 892,944 1,046,194 40 33 2 202,464 287,232 62 54 2 821,280 1,339,625 41 34 3 303,696 330,269 63 55 3 888,729 1,500,405 45 38 3 413,280 458,211 64 56 4 1,642,560 1,663,055 47 40 3 476,784 533,721 65 57 5 888,729 1,828,258 52 45 2 470,400 731,805 66 58 6 888,729 1,762,187 53 46 3 705,600 810,088 70 62 2 1,202,784 2,049,044 56 49 2 595,296 941,382 71 63 3 1,804,176 2,260,434 57 49 3 892,944 1,047,191 blocks B 2 and B 3 respectively, no new agreements between these two blocks are introduced. It also is simple to verify that the set of symbols in blocks B 2 and B 3 is disjoint from the rest of the other blocks and no new agreements between any pair of blocks are made. Therefore, A = B 0 B 1 B 2 B 3 on Z 12, and the Hamming distance hd(a ) = d = 10. Example. Table 2.4 presents a selection of new lower bounds obtained by the better parallel partition and extension technique. 2.5 Sequential Partition and Extension Technique In section 2.4.2 we considered the idea of iteratively applying the partition and extension technique (introducing one symbol at each iteration). We argued that it is better to introduce r symbols in parallel. Nonetheless, it is possible to perform iterative partition and extension to advantage when sufficient blocks are available. For the special case of r = 2, one can perform one iteration of partition extension n times on n blocks each time, obtaining n extended blocks, producing a PA A, and then, perform a second iteration on this new set of blocks, effectively introducing r symbols after r iterations. The resulting PA, say A, is composed of approximately n n = n blocks. Empirically, we have found this iterative technique, that we call sequential partition and extension, to be competitive for bounds on 44

M(n, n 2), when the group A = AGL(1, q) is used as the initial PA, producing permutation arrays of size A = A, where is a set of permutation lost due to imperfect coverage when performing partition and extension. Formally, the sequential partition extension operation can be done using more than one distance-d partition system of permutations on Z n. The objective is from a collection of M permutation arrays on Z n giving a good lower bound on M(n, d 1) to obtain a large cardinality PA A of permutations on Z n+1 with hd(a) d. Let M = {M 1, M 2,..., M k } be permutation arrays on Z n, with, for all i (1 i k), hd(m i ) d and, for all r, s (1 r s k), hd(m r, M s ) d 1. Let Π 1 = (M 1, P 1, Q 1 ), Π 2 = (M 2, P 2, Q 2 ),..., Π k = (M k, P k, Q k ) for some m, be m distance-d partition systems for Z n, where M 1, M 2..., M k are pairwise disjoint subsets of M. For each distance-d partition system obtain the extended PAs by the partition and extension given in Section 2.2. That is, one obtains ext(1), ext(2),..., ext(m), each a PA on Z n+1, with hd(ext(i)) d, for all i (1 i m), and hd(ext(i), ext(j)) d 1, for all i, j (1 i j m) and i j. Note that hd(ext(i), ext(j)) d 1, as, for all r, s (1 r s k), hd(m r, M s ) d 1, and the extension operation on permutations p and q, within M r and M s, respectively, when M r and M s are in different partition systems, adds at most one to the count of positions in p and q with the same symbol. That is, if the new symbol, say n, is exchanged with symbols in the same position, say i, of p and q, then position i has the same symbol, namely n, and, if the symbols in position i were already the same, then they remain the same in their new position, namely n, where they were moved to. Since the new permutations have one additional symbol, i.e. are permutations on Z n+1 not Z n, and the number of dissimilar positions was at least d 1, the hamming distance is still at least d 1. So, Π = (M 1 = ext(1), M 2 = ext(2),..., M m = ext(m)) can be used as a list of permutation arrays in a new distance-d partition system and one can create a permutation array ext(π ) on Z n+2 so that hd(ext(π )) d. The idea is, from a collection of permutation arrays on Z n giving a lower bound on M(n, d 1), one creates a permutation array giving a lower bound on M(n + 1, d). 45

Example. As 37 is prime, there is a group AGL(1, 37) consisting of the cyclic group C 37 of permutations on Z 37 given by { x+b b Z 37 } and thirty five cosets of this group, namely B j = { jx + b b Z 37 }, for all j (2 j 36). Form five different distance-37 partition systems Π 1 = (M 1, P 1, Q 1 ), Π 2 = (M 2, P 2, Q 2 ), Π 3 = (M 3, P 3, Q 3 ), Π 4 = (M 4, P 4, Q 4 ), Π 5 = (M 5, P 5, Q 5 ) as indicated in Table 2.5. Using the sequential partition and extension technique previously described we get M = (ext(1), ext(2), ext(3), ext(4), ext(5)) consisting of sets with 253, 253, 253, 253, and 252 permutations, respectively. Each of the five sets is a PA on Z 38 with the properties that (1) for all i (1 i 5), hd(ext(i)) = 37, and (2) for all i, j (1 i j 5), hd(ext(i), ext(j)) = 36. We next form a distance-37 partition system Π = (M, P, Q ) described in Table 2.6. Using the extension operation for the distance-37 partition system Π described in Table 2.6, we get the PA ext(π ) with 1, 264 permutations. Consequently, we have M(39, 37) 1, 264. Example. Table 2.7 presents a selection of new lower bounds obtained by the sequential partition and extension technique. 46

Table 2.5. Sequential Partition and Extension on AGL(1, 37). First Iteration. Π i Coset P i Q i ext(π i ) x + b b Z 37 {4, 11, 18, 25, 31, 34} {0, 1, 2, 3, 4, 5, 6} 2x + b b Z 37 {5, 8, 10, 13, 16, 19, 21} {7, 8, 9, 10, 11, 12} Π 1 3x + b b Z 37 {14, 20, 22, 24, 28, 30} {13, 14, 15, 16, 17, 18} 4x + b b Z 37 {9, 12, 15, 26, 29, 32} {19, 20, 21, 22, 23, 24} 253 5x + b b Z 37 {6, 7, 17, 23, 27, 33} {25, 26, 27, 28, 29, 30} 6x + b b Z 37 {0, 1, 2, 3, 35, 36} {31, 32, 33, 34, 35, 36} 7x + b b Z 37 - - 8x + b b Z 37 {1, 12, 23, 25, 36} {0, 1, 2, 3, 4, 5, 6} 9x + b b Z 37 {0, 11, 13, 22, 24, 35} {7, 8, 9, 10, 11, 12} Π 2 10x + b b Z 37 {8, 9, 10, 17, 18, 26, 27} {13, 14, 15, 16, 17, 18} 11x + b b Z 37 {4, 5, 6, 7, 19, 20, 28} {19, 20, 21, 22, 23, 24} 253 12x + b b Z 37 {14, 15, 16, 32, 33, 34} {25, 26, 27, 28, 29, 30} 13x + b b Z 37 {2, 3, 21, 29, 30, 31} {31, 32, 33, 34, 35, 36} 14x + b b Z 37 - - 15x + b b Z 37 {2, 3, 4, 6, 15, 27} {0, 1, 2, 3, 4, 5, 6} 16x + b b Z 37 22} {12, 13, 14, 16, 17, 18, {7, 8, 9, 10, 11, 12} Π 3 17x + b b Z 37 {0, 21, 25, 28, 29, 33} {13, 14, 15, 16, 17, 18} 18x + b b Z 37 {7, 8, 19, 20, 31, 32} {19, 20, 21, 22, 23, 24} 253 19x + b b Z 37 {10, 11, 23, 24, 35, 36} {25, 26, 27, 28, 29, 30} 20x + b b Z 37 {1, 5, 9, 26, 30, 34} {31, 32, 33, 34, 35, 36} 21x + b b Z 37 - - 22x + b b Z 37 {2, 3, 5, 9, 21, 33} {0, 1, 2, 3, 4, 5, 6} 23x + b b Z 37 {4, 8, 11, 22, 23, 34} {7, 8, 9, 10, 11, 12} Π 4 24x + b b Z 37 {7, 16, 17, 25, 26, 35} {13, 14, 15, 16, 17, 18} 25x + b b Z 37 {12, 13, 14, 30, 31, 32} {19, 20, 21, 22, 23, 24} 253 26x + b b Z 37 {1, 6, 10, 15, 24, 29} {25, 26, 27, 28, 29, 30} 27x + b b Z 37 {0, 18, 19, 20, 27, 28, 36} {31, 32, 33, 34, 35, 36} 28x + b b Z 37 - - 29x + b b Z 37 {2, 5, 13, 18, 26, 29} {0, 1, 2, 3, 4, 5, 6} 30x + b b Z 37 {12, 19, 21, 27, 34, 36} {7, 8, 9, 10, 11, 12} Π 5 31x + b b Z 37 {6, 7, 8, 9, 10, 11} {13, 14, 15, 16, 17, 18} 32x + b b Z 37 {4, 14, 15, 25, 31, 35} {19, 20, 21, 22, 23, 24} 252 33x + b b Z 37 {0, 3, 16, 17, 20, 23, 33} {25, 26, 27, 28, 29, 30} 34x + b b Z 37 {1, 22, 24, 28, 30, 32} {31, 32, 33, 34, 35, 36} 35x + b b Z 37 - - 47

Table 2.6. Sequential Partition and Extension on AGL(1, 37). Second Iteration. Π i P i P Q i Q ext(π i ) Π 1 {4, 11, 18, 25, 31, 34} {0, 1, 2, 3, 4, 5, 6} 253 Π 2 {5, 8, 10, 13, 16, 19, 21} {7, 8, 9, 10, 11, 12} 253 Π 3 {14, 20, 22, 24, 28, 30} {13, 14, 15, 16, 17, 18} 253 Π 4 {9, 12, 15, 26, 29, 32} {19, 20, 21, 22, 23, 24} 253 Π 5 - - 252 Total 1264 Table 2.7. New lower bounds from sequential partition and extension. n denotes the number of symbols in the permutation array, d the permutation array Hamming distance, new the new lower bound and prev the previously known bound. n d new prev. 21 19 338 334 55 53 2539 1307 63 61 3306 2048 69 67 4107 2264 85 83 6207 3465 91 89 6876 3681 105 103 9245 4968 111 109 10,144 5317 133 131 14,554 7624 48

CHAPTER 3 THE COSET METHOD In contrast to the idea of increasing the number of symbols of existing PAs presented in chapter 2, in this chapter we explore the idea of finding new PAs when the original PAs are groups and take advantage of the group properties. This technique is called the coset method and was first introduced by Bereg et al. (2015). This technique relies on the concept of a group coset. Formally, let A be a subgroup of G and let π be a fixed element of G. The set of all products π σ (also written as πσ) with σ in A is the left coset for π of A in G, denoted by πa (Hillman and Alexanderson, 1988). We refer to the left coset simply as a coset of a group. Consider a permutation group A on Z n symbols, then A is a subgroup of the symmetric group S n. The group A is also a PA on the symbols of Z n. Let the Hamming distance hd(a) = min{ hd(σ, τ) σ, τ A} d. If π is a permutation in S n and π / A, then B = πa is a coset of A. Furthermore, B is a PA on the symbols of Z n and the Hamming distance of B is hd(b) = min{ hd(πσ, πτ) πσ, πτ B}=min{ hd(π 1 (πσ), π 1 (πτ)) π 1 (πσ), π 1 (πτ) B} = min{ hd(σ, τ) σ, τ B} d. A group coset by itself does not provide improved lower bounds for M(n, d). However, the union of two cosets, namely A and B, creates a new PA C = A B, whose cardinality is the sum of the two PAs, that is C = A + B = 2 A. We know that the Hamming distance of hd(a) = hd(b). So, the Hamming distance of C is hd(c) = min{ hd(σ, γ) σ A and γ B}. Observe that hd(σ, γ) = hd(σ, πτ), for some τ A. Furthermore, hd(σ, πτ) = hd(στ 1, p(ττ 1 )) = hd(στ 1, π) hd(a, π), since στ 1 A. Therefore, the Hamming distance of a PA constructed using this technique is determined by the Hamming distance between π and every permutation in the group A, as shown in equation (3.1). Figure 3.1 49

shows an abstract representation of permutations (dark connected nodes) in the group A, a subgroup of the symmetric S n as well as a permutation π which is not part of A. hd(c) min{ hd(σ, π) σ A} (3.1) The coset method can be applied iteratively. That is, in the first iteration one has a PA C, as described before. In the next iteration, if we are able to find a permutation π 2 / C, such that hd(π 2, c) d ; c C, then we create a new PA, say D, D = C π 2 A. This process can be iterated as many times as coset representatives are available, creating a PA A = k i=1π i A A, where k is the number of coset representatives and the cardinality of the resulting PA is A = (k + 1) A. A practical consideration is the growth of A. At every iteration, one needs to compute the Hamming distance between a potential coset representative π i and the current PA A. Bereg et al. 2015, showed that this can be efficiently computed as follows, hd(π, A ) = min 1 i k {hd(π 1 i π, A)}, where k is the number of coset representatives and the entire computation takes O(k A ) time. Algorithm 2 is the direct implementation of this fast hamming distance computation and is a procedure invoked in algorithm 3. The effectiveness of this technique is noteworthy. Firstly, most of the PAs obtained by the coset method using AGL(1, q), P GL(2, q), AΓL(1, q), P ΓL(2, q) and Mathieu groups, create competitive new lower bounds. In many cases the results are orders of magnitude better than previously known bounds. Secondly, PAs obtained with this technique are used as an initial PA for Parallel Partition and Extension described in section 2.4. This is possible due to the typical large difference between the number of symbols n and the Hamming distance d, needed to introduce multiple symbols in parallel. 50

Algorithm 2: Fast Hamming Distance Computation between a Coset Representative and a set of Cosets of a Group Data: Permutation Array A (a group), a coset representative π, and a set of coset representatives P i, n the number of symbols in the permutations in A Result: the hamming distance d = hd(π, A = k i P i π i A) 1 fast hd() 2 d n 3 for π P i do 4 d = min(d, hd(π 1 i π, A)) 6 return d A S n σ π τ Figure 3.1. Representation of the search space for a Coset representative π. 3.1 Random Search Algorithm The symmetric group S n is the search space for a coset representative π. Even for small values of n, the cardinality of S n is enormous. Therefore, performing an exhaustive search for π is simply infeasible except for trivial cases. Bereg et al. 2015, presented an efficient randomized search algorithm for finding coset representatives. The search strategy uniformly samples a permutation in S n, namely π, and computes the Hamming distance using Algorithm 2. If the resulting Hamming distance is at least d for some specified d value, then π is used as a coset representative, otherwise, π is discarded and the processes continues with a new randomly chosen permutation. This search process resembles the rejection sampling techniques Robert (2004) used to generate observations from unknown distributions. 51