The Perfect Binary One-Error-Correcting Codes of Length 15: Part I--Classification
A complete classification of the perfect binary one-error-correcting codes of length 15 as well as their extensions of length 16 is presented. There are 5983 such inequivalent perfect codes and 2165 extended perfect codes. Efficient generation of the…
Authors: Patric R. J. "Osterg{aa}rd, Olli Pottonen
1 The Perfect Binary One-Error -Correcti ng Codes of Length 15 : Par t I—Classificati on Patric R. J. ¨ Osterg ˚ ard, Olli Pottonen Abstract A complete class ification o f the perfect binary one-er ror-correcting codes of length 15 as well as their e xten sions of length 16 is presented. There are 5 983 such inequiv alent perfect codes and 2 165 e xte nded perfect codes. Efficient generation of these codes relies on the recent classification of Stein er qu adrup le systems of order 16 . Utilizin g a result o f Blackmore, the optimal b inary o ne-err or-correcting codes of leng th 14 and the (15 , 1 02 4 , 4) code s are also classified; there are 38 408 and 5 9 83 such codes, respectively . Index T erms classification, Hamming code, perfect binary code, Steiner system I . I N T RO D U C T I O N Consider the space F n 2 of dimensi on n over t he Galois field F 2 = { 0 , 1 } . A binary code of length n is a subs et of F n 2 . The (Hamming) dist ance d ( x , y ) between two codew ords x , y is the numb er of coordinates in which they diffe r , and the (Hamming) weight wt( x ) is the num ber of nonzero coordinates. The support of a codew ord is the set of non zero coordinates, supp( x ) = { i : x i 6 = 0 } . Accordingly , d ( x , y ) = wt( x − y ) = | supp( x − y ) | . A code has minimum dista n ce d if d is the lar gest int eger such that the d istance between any dis- tinct cod e words is at least d . Then t he balls of radiu s ⌊ ( d − 1) / 2 ⌋ centered around the code words are nonintersecting, and the code is said to be a ⌊ ( d − 1) / 2 ⌋ -error -correcting code. If these ball s tile th e whole sp ace, t hen the code is called perfect . The parameters of perfect codes over an alphabet of prime order are well known [1], and perfect binary codes exist with d = 1 ; d = n ; d = ( n − 1) / 2 for odd n ; d = 3 , n = 2 m − 1 for m ≥ 2 ; and d = 7 , n = 23 . The first t hree types of codes are called trivial, the fourth has the p arameters of Hamm ing codes, and the last one is the binary Golay code. A perfect code with min imum d istance d is also called a ⌊ ( d − 1) / 2 ⌋ -perfect code. A binary code with l ength n , m inimum distance d , and M codewords is called a ( n, M , d ) code. In this notation a binary 1 -perfect code is a (2 m − 1 , 2 2 m − m − 1 , 3) code. T wo related families are the extended and shortened 1 -perfect codes, which have parameters (2 m , 2 2 m − m − 1 , 4) and (2 m − 2 , 2 2 m − m − 2 , 3) , respectiv ely . Existence of b inary 1 -perfect codes foll ows from the existence of Hamm ing codes, whi ch are the uniq ue linear 1 -perfect codes. Still constructi ng all 1 -perfect codes i s a long standing open problem. It makes sense to approach this issue by consid ering the number of in equ i valent codes (or more formally the numb er of equiv alence classes). T wo codes are said to be equiv alent if one is obtai ned from the other by permuting coordinates and adding a constant vector; a formal definition appears in Section II. There is trivially a uni que 1 -perfect code of length 3 . Zaremba [2] showed that also th e 1 -perfect code of leng th 7 i s u nique. Howe ver , already the next case of length 15 has until this work wit hstood all attempts of compl ete classification, although s e veral constructions of such codes ha ve been published; see the surve ys [3], [4]. It turns out that these result s were not far from a complete classi fication as for the number of codes found. The growth of th e number of 1 -perfect bi nary cod es is doub le exponential in th e This work was supported in part by the Graduate School in Electronics, T elecommunication and Automation and by the Academy of Finland, Grant Numbers 107493 and 110196. P . R. J. ¨ Osterg ˚ ard and O. Pottonen are with the Department of Communications and Net working, Helsinki Univ ersity of T echnology TKK, P .O.Box 3000, F I-02015 T KK, F inland (e-mail: patric.ostergard@tkk.fi, olli.pottonen@tkk.fi) 2 length of the code, see [5] for a lower bound on this number . For an in-depth t reatment of the topic of classifying comb inatorial objects, see [6]. The aim of t he current work is to obtain a com plete classification of inequ iv alent 1 -perfect binary codes of length 15 . By comp uter s earch it is here shown t hat t heir number is 5 983 . Al so the codes obtained b y extending, shortening or extending and shortening are classified; the nu mbers of (1 6 , 2 048 , 4) , (14 , 1 024 , 3) and ( 15 , 1 024 , 4) codes t urn out to be 2 165 , 3 8 408 and 5 983 respectively . In the rest of the p aper we document the classification of the extended 1-perfect codes of length 16 , which yields cl assifications of the 1-perfect codes of length 15 and the shortened 1-perfect codes of length 14 . In Section II we define som e concepts and consider construction of extended 1-perfect codes via Steiner s ystems. In Section III we present algorithms for d etecting and rejecting equiv alent codes, and in Section IV, we take a brief l ook at the results; a separate, more d etailed st udy of the classi fied codes wil l appear in a separate paper [7]. Finally , in Section V we giv e a consi stency check for gaining confidence in the comput ational results. I I . P R E L I M I N A R I E S A N D C O N S T RU C T I O N A permutation π of the set { 1 , 2 , . . . , n } acts on code words by permuting the coordinates: π (( c 1 , c 2 , . . . , c n )) = ( c π − 1 (1) , c π − 1 (2) , . . . , c π − 1 ( n ) ) . P airs ( π , x ) form the wr eat h product S 2 ≀ S n , which acts on codes as ( π, x )( C ) = π ( C + x ) = π ( C ) + π ( x ) . T w o codes, C 1 and C 2 , are isomorp h ic if C 1 = π ( C 2 ) for some π and equivalent if C 1 = π ( C 2 + x ) for some π , x . The auto morphism g roup o f a code C , Aut( C ) , is the group of all pairs ( π , x ) such that C = π ( C + x ) . T w o important subg roups of Aut( C ) are the gr oup of symmetri es , Sym( C ) = { π : π ( C ) = C } and the kernel Ker( C ) = { x : C + x = C } . If the code cont ains the all-zero w ord, 0 , then the elements of the kernel are code words. A Steiner system S ( t, k , v ) can be viewed as a code S ⊂ F v 2 with t he p roperty that each codew ord o f S has weight k , and for any y ∈ F v 2 with wt( y ) = t , there is a un ique x ∈ S such that supp( y ) ⊆ supp( x ) . Usually Steiner syst ems are defined as set systems rather than codes, b ut our definit ion i s more directly applicable for t his work. The parameter v is the or der o f the sys tem. Steiner systems S (2 , 3 , v ) and S (3 , 4 , v ) , which are called Steiner t riple systems and Steiner quadr u ple systems , respectively , are related to 1-perfect codes in t he following way . If C is a 1-perfe ct binary code of length v and x ∈ C , then th e code words of C + x with weight 3 form a Stein er triple system of order v . Similarly , i f C is an extended 1-perfect bi nary code and x ∈ C , then t he code words of C + x with weight 4 form a Steiner quadruple system. These s ystems are, respectively , the neighborhood tri ple system and nei g hborhood quadruple system associated with t he code and the codew ord. As a starting point for th e classification of the e xtend ed 1-perfect binary codes of lengt h 16, we hav e the classification [8] of Steiner quadrupl e sy stems o f o rder 16; th ere are 1 05 4 1 63 such desi gns. W e want to find, for each S (3 , 4 , 16) , all extended 1-perfect binary cod es in which it occurs. This can be done by pu ncturing any coordinate, aug menting t he result ing code to 1-perfect codes in all possi ble ways, and finally extending eve ry result ing code with a parity bit . When augmenting a set of code words to a 1-perfect code, we con sider a 1-perfect code as a set of ball s with radius one that form a partition of the ambient s pace. Accordingly , finding a code (with specified code words) is a special case of the exact cover pr oblem , where we are give n a set S and a collection U of its subs ets, and the task is to form a partition of S by using sets in U . Let the set Q cont ain the code words obtai ned by puncturing the all-zero code word and its neig hborhood quadruple system. In this case we h a ve S = F 15 2 \ B ( Q ) , and U = { B ( x ) : B ( x ) ∩ B ( Q ) = ∅} , where B ( x ) = { y : d ( x , y ) ≤ 1 } and B ( C ) = { B ( x ) : x ∈ C } . W e use the libexact software [9] for solv ing such instances of the exact cove r problems. In th e search we could i n fact have m ade use of the f act that all 1-perfect binary codes 3 are self-comp lementary—in ot her words, th e all-one word is alw ays in the kernel—but this w oul d not hav e had an y practical significance as the search was rather fast. Since t he all-zero word and its neighborho od quadruple system contain 141 of the 2 048 codewords, 1907 new codew ords are needed. Searching for these was a remarkably easy computational task; on a verage the search trees i n which codes were found had 1978 nodes and those in wh ich no codes were found had 3 n odes. I I I . I S O M O R P H R E J E C T I O N The general framework by McKay [10] was used to carry out i somorph rejection, altho ugh a less sophisticated method w ould ha ve sufficed in this w ork. Recall th at we augment a Steiner q uadruple system Q to a n e xtend ed 1-perfect code C . W e accept C if it passes the following two tests; otherwis e i t is rejected. First we require that C shall be the mini mum (with respect to s ome practically computable total order of cod es) u nder the action of Aut( Q ) . Second, we compute the canonical equiv alence class representativ e c E ( C ) , consider π , x for which π ( C + x ) = c E ( C ) and require that x and 0 a re on the same Au t( C ) orbi t (we define c E so that x ∈ C always hol ds). When the e xtended 1-perf ect codes have been classified, classifyi ng the 1-perfe ct codes is straightfor- ward. A ll 1-perfect codes are obtained by puncturing the extended codes, and the resulting 1-perfect codes are equiv alent if and only if they are obtained by puncturin g the same extended code at coordinates which are in the same orbit o f the automorphism group. A compl ete classification of the (14 , 1 024 , 3 ) codes is obtained sim ilarly , since each such code is obtained by shortening a uni que (up to equivalence) 1-perfect code of lengt h 15 ; this resul t w as proved by Blackmore [11]. Although a code can be shortened at any coordinate in two ways, by selecting the code words w ith 0 or 1 in a certain coo rdinate, both selections lead to equivalent codes. T his follows from the fact that e very 1-perfect binary code is self-complementary . Furthermore we note that any (15 , 1 024 , 4) code is obt ained by e xtending a (14 , 1 024 , 3 ) code with a parity b it. Hence all such codes are obt ained by shortening and extending a perfect cod e, or equiv alently removing all words of chosen parity . As th e perfect cod es are self-complem entary , we get (up t o equiva- lence) same code by chosing either odd o r e ven par it y . As this mapping is reversible, we conclude that there is on e-to-one correspondence between equivalence classes of (15 , 2 048 , 3) codes and equiv alence classes of (1 5 , 1 024 , 4) codes, and in both cases their number is 5 983 . Let C be a (15 , 1 02 4 , 4 ) code C and let C ′ be the corresponding perfect code. The g roup Aut( C ′ ) contains Aut( C ) as a subgroup, and Aut( C ′ ) has one more generator than Aut( C ) , namely the all-one code word. Accordingly | Aut( C ′ ) | = 2 | Aut( C ) | . W e still hav e to describe an alg orithm for canonical labeling. The most s traightforward approach o f using the general purpose isomorph ism nauty [12] is rather slow on codes as lar ge and regular as the (16 , 2 048 , 4) codes; t his was also noted by Phelps [13]. Hence a tailored approach is necessary . The method presented below has a lot in common with the one described in [13]. An alternative m ethod based on minim um distance graphs w oul d also work [14], cf. [15]. A triangle consists of 3 code words with mutual distance 4 . T riangles constitute an easily computable and rath er sensi tive in variant of Steiner quadrupl e system s. Distingu ishing the isomorphis m class es of the neighborhood qu adruple sys tems of a code also constitu tes an in variant of the extended 1-perfec t codes. These two in variants turned out to be useful for speeding up our computations. A canonical isomorphism class representative c I ( C ) for a code C can be computed by us ing nauty to label a correspondi ng graph canonically . Moreover , nau ty comp utes generators of the group Sym( C ) . Canonical equiv alence class representati ve can be defined as c E ( C ) = min { c I ( C + x ) : x ∈ C } , where the mi nimum is again taken wi th respect to some practically com putable total order of codes. Note that t wo codew ords, x and y , are in the same orbi t of Aut ( C ) if and only if c I ( C + x ) = c I ( C + y ) . Because of th is, if we know that x and y are in the sam e orbit, and c I ( C + x ) h as been computed, then there is no need to comp ute c I ( C + y ) . A lso if c I ( C + x ) = c I ( C ) , then nauty yields a permutation π 4 such that π ( C + x ) = C . Th e pairs ( π , x ) are coset representativ es of Aut( C ) with respect to Sym( C ) , so we get generators of t he group Aut( C ) . I V . R E S U L T S There are exactly 2 165 inequiv alent extended 1-perfect codes o f length 16 , 5 98 3 inequivalent 1-perfect codes of lengt h 15 , 38 4 08 shortened 1-perfect codes of length 14 and 5 983 (15 , 1 024 , 4) codes. The orders of t he automo rphism groups of the codes are p resented in T ables I, II and III. As noted in Section III, the order of the aut omorphism group of a (15 , 1 024 , 4) code is half of the order of the autom orphism group of the correspond ing perfect code. The codes hav e been made ava ilabl e in electroni c form by i ncluding them in the so urce of the arXiv ver - sion of this paper . Downloading http: //arxiv.o rg/e- print/0806.2513v3 and uncomp ressing it with g unzip and tar yields the files perfect15 and ex tended16 . Only 15 590 of the 1 054 163 nonis omorphic S (3 , 4 , 16) can be augmented to a 1-perfect code, and the total number of extensions is 22 814 . The computati onally intensiv e part of this result was the earlier classification of S (3 , 4 , 16) , which requi red severa l y ears of CPU time, while all searches describ ed in this paper took onl y a coupl e of hou rs of CPU tim e. A detailed study o f t he properties of t he classified codes will appear in a second part of t his arti cle [7]. T ABLE I A U T O M O R PH I S M G RO U P S O F (16 , 2 048 , 4) C O D E S | Aut( C ) | # | Aut( C ) | # | Aut( C ) | # 128 11 5 376 1 196 608 6 192 5 6 144 23 262 144 3 256 105 8 192 174 344 064 1 384 9 10 752 2 393 216 3 512 377 12 288 22 524 288 2 672 2 16 384 103 688 128 1 768 19 2 4 576 12 786 432 2 1 024 416 32 768 47 1 572 864 3 1 344 1 43 008 2 2 359 296 1 1 536 21 49 152 18 2 752 512 1 1 920 1 61 440 1 3 145 728 1 2 048 394 65 536 33 5 505 024 2 2 688 1 86 016 3 6 291 456 1 3 072 18 98 304 12 660 602 880 1 4 096 298 131 072 6 V . C O N S I S T E N C Y C H E C K T o g et confidence in t he result s, we performed a consi stency check si milar t o the one used, for example, in [8]. In this check we count the total number of codes in t wo different ways and ensure that the resul ts agree. First we consider the set C of equiv alence class representatives obtained in the classification. By t he orbit-stabilizer theorem, the total number of extended 1-perfect cod es is X C ∈C 16! · 2 16 Aut( C ) , where 16! · 2 16 is t he order of the wreath product group acting on t he codes. Let Q consist of t he representative Steiner q uadruple systems, and let E ( Q ) be the number of all extended 1-perfect codes obtain ed by augmentin g Q . Applying the orbit-stabilizer t heorem, we get t he expression 1 2 0 48 X Q ∈Q 16! · 2 16 · E ( Q ) Aut( Q ) , 5 T ABLE II A U T O M O R PH I S M G RO U P S O F (15 , 2 048 , 3) C O D E S | Aut( C ) | # | Aut( C ) | # | Aut( C ) | # 8 3 512 1 017 24 576 7 12 3 672 3 32 768 8 16 5 768 32 43 008 4 24 10 1 024 697 49 152 10 32 138 1 536 17 65 536 5 42 2 2 048 406 98 304 1 48 12 2 688 1 131 072 1 64 542 3 072 37 172 032 1 96 22 3 840 1 196 608 5 120 1 4 096 202 344 064 2 128 1 230 5 376 4 393 216 2 192 18 6 144 35 589 824 1 256 1 319 8 192 94 41 287 680 1 336 3 12 288 7 384 30 16 384 44 T ABLE III A U T O M O R PH I S M G RO U P S O F (14 , 1 024 , 3) C O D E S | Aut( C ) | # | Aut( C ) | # | Aut( C ) | # 1 5 168 1 8 192 80 2 75 192 80 12 288 18 3 8 256 4 392 16 384 14 4 425 336 5 21 504 1 6 39 384 114 24 576 15 8 1 162 512 2 469 32 768 14 12 56 768 30 49 152 1 16 3 465 1 024 1 346 65 536 1 21 4 1 344 1 86 016 1 24 39 1 536 54 98 304 2 32 7 311 2 048 527 172 032 1 48 59 2 688 6 196 608 2 64 9 068 3 072 55 1 376 256 1 96 49 4 096 222 128 7 172 6 144 18 where the division by 2 048 is necessary since each code is counted once for each code word. Both formulas yield the same re sul t, 2 795 493 027 033 907 200 . Sim ilarly we also counted t he 1-perfe ct codes and short ened 1-perfect cod es in two diffe rent ways; their number is 1 397 746 513 516 9 53 600 . Indeed, there are tw ice as many extended 1-perfect codes as there are 1-perfec t codes, si nce each 1-perfect code admits two extensions: one with even parity bi t and one wit h od d. Sim ilarly , we get a bijectio n from the 1-perfect codes t o shortened 1 -perfect codes if we s horten each code by t aking, for i nstance, the cod e words with value 0 in coordinate 15 and removing that coordinate. Thus there are equall y many 1-perfect codes and short ened 1-perfect codes. R E F E R E N C E S [1] F . J. MacW illiams and N. J. A. Sloane, The Theory of Err or-Corr ecting Codes . Amsterdam: North-Holland, 1977. [2] S. K. Zaremba, “Cov ering problems concerning Abelian groups, ” J. L ondon Math. Soc. , vol. 27, pp. 242–246, 1952. [3] T . E tzion and A. V ardy , “Perfect binary codes: constructions, properties, and enumeration, ” IEEE T rans. Inform. Theory , vol. 40, pp. 754–76 3, 1994. [4] O. Heden, “ A surv ey of perfect codes, ” Adv . Math. Commun. , vo l. 2, pp. 223–2 47, 2008. [5] D. S . Krotov and S . V . A vgustino vich, “On the number of 1 -perfect binary codes: a lower bound, ” IEEE T rans. Inform. Theory , vo l. 54, pp. 1760–1 765, 2008. [6] P . Kaski and P . R. J. ¨ Osterg ˚ ard, C lassification A lgorithms f or Codes and Designs . B erlin: Springer, 2006. [7] P . R. J. ¨ Osterg ˚ ard, O . Pottonen and K. T . P helps, “The Perfect Binary One-Error-Correcting codes of L ength 15: Part II—Properties”, submitted for publication. P reprint at arXiv:0903:27 49. 6 [8] P . Kaski, P . R. J. ¨ Osterg ˚ ard, and O. P ottonen, “The Steiner quadruple systems of order 16, ” J. Combin. T heory Ser . A , vol. 113, pp. 1764–1 770, 2006. [9] P . Kaski and O. Pottonen, “libexac t user’ s guide, version 1.0. ”, Helsinki Instit ute for Information T echnology HIIT , Helsinki, T ech. Rep. 2008 -1, 2008. [10] B. D. McKay , “Isomorph-free exhaus tive generation, ” J. A lgorithms , vo l. 26, pp. 306–32 4, 1998. [11] T . Blackmore, “Every binary (2 m − 2 , 2 2 m − 2 − m , 3) code can be lengthened to form a perfect code of length 2 m − 1 , ” IEE E T rans. Inform. Theory , vol. 45, pp. 698–700, 1999. [12] B. D. McKay , “ nauty user’ s guide (version 1.5), ” Computer Science Department, Australian National Uni versity , Canberra, T ech. Rep. TR-CS-90–02, 1990. [13] K. T . Phelps, “ An enumeration of 1-perfect binary codes, ” Australas . J. Combin. , vol. 21, pp. 287–298, 2000. [14] I. Y u. Mogilny kh, P . R. J. ¨ Osterg ˚ ard, O . Pottonen and F . I. S olov’e v a, “Reconstructing Extended Perfect Binary One-Error-Correcting Codes from Their Minimum Distance Graphs”, IEEE Tr ans. Inform. T heory , vol. 55, pp. 2622– 2625, 2009. [15] K. Phelps and M. L ev an, “Swi tching equiv alence classes of perfect codes”, Des. Codes Cryptogr . vol. 16, pp. 179–184 , 1999.
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment