LINEAR CODES WITH NON-UNIFORM ERROR CORRECTION CAPABILITY

Similar documents
Construction C : an inter-level coded version of Construction C

The Probabilistic Method

EC500. Design of Secure and Reliable Hardware. Lecture 9. Mark Karpovsky

On Rainbow Cycles in Edge Colored Complete Graphs. S. Akbari, O. Etesami, H. Mahini, M. Mahmoody. Abstract

ON THE STRONGLY REGULAR GRAPH OF PARAMETERS

A Vizing-like theorem for union vertex-distinguishing edge coloring

Module 7. Independent sets, coverings. and matchings. Contents

The strong chromatic number of a graph

On Covering a Graph Optimally with Induced Subgraphs

Math 170- Graph Theory Notes

Notes for Lecture 24

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

On the Max Coloring Problem

The Encoding Complexity of Network Coding

Linear Block Codes. Allen B. MacKenzie Notes for February 4, 9, & 11, Some Definitions

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

31.6 Powers of an element

EDGE-COLOURED GRAPHS AND SWITCHING WITH S m, A m AND D m

On the Computational Complexity of Nash Equilibria for (0, 1) Bimatrix Games

Size of a problem instance: Bigger instances take

Winning Positions in Simplicial Nim

3 No-Wait Job Shops with Variable Processing Times

MT5821 Advanced Combinatorics

REDUCING GRAPH COLORING TO CLIQUE SEARCH

Vertex Magic Total Labelings of Complete Graphs 1

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Graphs connected with block ciphers

CSC Linear Programming and Combinatorial Optimization Lecture 12: Semidefinite Programming(SDP) Relaxation

Graph Algorithms Matching

LATIN SQUARES AND TRANSVERSAL DESIGNS

SAT-CNF Is N P-complete

The complement of PATH is in NL

Vertex 3-colorability of claw-free graphs

Computing the Minimum Hamming Distance for Z 2 Z 4 -Linear Codes

Revisiting the bijection between planar maps and well labeled trees

Parameterized Complexity of Independence and Domination on Geometric Graphs

A geometric non-existence proof of an extremal additive code

An Eternal Domination Problem in Grids

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS

MOST attention in the literature of network codes has

Abstract. A graph G is perfect if for every induced subgraph H of G, the chromatic number of H is equal to the size of the largest clique of H.

Computability Theory

Small Survey on Perfect Graphs

Negative Numbers in Combinatorics: Geometrical and Algebraic Perspectives

The (extended) coset leader and list weight enumerator

Treewidth and graph minors

PLANAR GRAPH BIPARTIZATION IN LINEAR TIME

Chordal deletion is fixed-parameter tractable

Computation with No Memory, and Rearrangeable Multicast Networks

Line Graphs and Circulants

1. Lecture notes on bipartite matching February 4th,

Monochromatic loose-cycle partitions in hypergraphs

On the Balanced Case of the Brualdi-Shen Conjecture on 4-Cycle Decompositions of Eulerian Bipartite Tournaments

Non-zero disjoint cycles in highly connected group labelled graphs

Algebraic method for Shortest Paths problems

Chain Packings and Odd Subtree Packings. Garth Isaak Department of Mathematics and Computer Science Dartmouth College, Hanover, NH

Extended and generalized weight enumerators

The Borsuk-Ulam theorem- A Combinatorial Proof

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

1. Lecture notes on bipartite matching

Lecture 4: 3SAT and Latin Squares. 1 Partial Latin Squares Completable in Polynomial Time

A graph is finite if its vertex set and edge set are finite. We call a graph with just one vertex trivial and all other graphs nontrivial.

On Soft Topological Linear Spaces

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

NP-completeness of generalized multi-skolem sequences

Star Decompositions of the Complete Split Graph

Comparative Study of Domination Numbers of Butterfly Graph BF(n)

On graph decompositions modulo k

18.S34 (FALL 2007) PROBLEMS ON HIDDEN INDEPENDENCE AND UNIFORMITY

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

ABSTRACT ALGEBRA FINAL PROJECT: GROUP CODES AND COSET DECODING

Hashing. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong

PANCYCLICITY WHEN EACH CYCLE CONTAINS k CHORDS

Online Coloring Known Graphs

arxiv: v1 [cs.it] 9 Feb 2009

THE BASIC THEORY OF PERSISTENT HOMOLOGY

Lecture 15: The subspace topology, Closed sets

Parameterized graph separation problems

Error Correcting Codes

On the construction of nested orthogonal arrays

Deficient Quartic Spline Interpolation

arxiv: v3 [cs.ds] 18 Apr 2011

FUTURE communication networks are expected to support

Flexible Coloring. Xiaozhou Li a, Atri Rudra b, Ram Swaminathan a. Abstract

Part II. Graph Theory. Year

Byzantine Consensus in Directed Graphs

Hamming Codes. s 0 s 1 s 2 Error bit No error has occurred c c d3 [E1] c0. Topics in Computer Mathematics

Algebraic Graph Theory- Adjacency Matrix and Spectrum

HW Graph Theory SOLUTIONS (hbovik) - Q

Theorem 2.9: nearest addition algorithm

ON SWELL COLORED COMPLETE GRAPHS

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

Disjoint directed cycles

CSC 310, Fall 2011 Solutions to Theory Assignment #1

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3

Superconcentrators of depth 2 and 3; odd levels help (rarely)

Bipartite Perfect Matching in O(n log n) Randomized Time. Nikhil Bhargava and Elliot Marx

Interleaving Schemes on Circulant Graphs with Two Offsets

Transcription:

LINEAR CODES WITH NON-UNIFORM ERROR CORRECTION CAPABILITY By Margaret Ann Bernard The University of the West Indies and Bhu Dev Sharma Xavier University of Louisiana, New Orleans ABSTRACT This paper introduces a class of linear codes which are non-uniform error correcting, i.e. they have the capability of correcting different errors in different codewords. A technique for specifying error characteristics in terms of algebraic inequalities, rather than the traditional spheres of radius e, is used. A construction is given for deriving these codes from known linear block codes. This is accomplished by a new method called parity sectioned reduction. In this method, the parity check matrix of a uniform error correcting linear code is reduced by dropping some rows and columns and the error range inequalities are modified. 1. INTRODUCTION The linear codes studied in coding literature for correcting random errors are such that the codes can correct uniformly up to e random errors in every code word. However, the situation may arise where certain words have a greater requirement for error control than others. A constant length code which corrects non-uniform errors i.e. different number of errors in different code words, may be more suitable. Some work has already appeared on non-uniform error correction. In [5], (see also [1] ), the authors examined perfect codes and showed that by a process of 'sectioning', non-uniform error correcting codes can be produced that remain 'perfect' in the sense that their error ranges remain disjoint and exhaust the whole space. The idea arises also in [3] where purely combinatorial results on sphere packings of different radii have been considered. The codes widely studied in the literature are linear codes in general and specifically minimum distance specified codes like BCH codes [6]. If non-uniform error correcting codes are to be obtained, it is natural to consider obtaining them from linear codes and other well-defined codes. In this paper, we develop a systematic method to produce linear codes which are non-uniform error correcting from known linear codes. The approach focuses on the errors to be corrected; this is done by studying the error ranges, representing them as algebraic inequalities. This technique arose out of a study made by the authors on error correcting codes with variable word lengths [2,4]. Since there is no well defined code

space for a variable length code, a technique was developed for representing error ranges in inequality form, which have meaning in spaces of any dimension. The errors to be corrected do not necessarily have to form a sphere of radius e around the code word but may form an asymmetric figure corresponding to the error characteristics. A non-uniform error correcting linear code is produced by 'sectioning ' a uniform error correcting linear code at a parity check position. The new parity check matrix is obtained by reducing the parity check matrix of the uniform error correcting code in a particular fashion. The error ranges are represented by modified inequalities. In section 2, we give some definitions and concepts. In section 3, we discuss sectioning of linear codes at parity check positions; this produces the non-uniform error correcting codes. In section 4, we consider the effect of sectioning linear codes at information positions; what we obtain are shortened linear codes and their coset codes. 2. DEFINITIONS AND CONCEPTS Let C be an e random error correcting, (n,k) linear code over GF(q) with codewords {c 1, c 2,...., c qk }. The error range, E( c i ), of a codeword c i, i = 1, 2,....., qk consists of the set of n-tuples {x = x 1 x 2... x n } over GF(q) such that w ( c i - x ) e, where w (. ) is the Hamming weight of the vector in (. ). Traditionally in coding theory, the error range of a codeword c i has been represented as a sphere of radius e around c i. In this paper, an alternative representation of error ranges is used. Algebraic inequalities are used to define and determine the error ranges of codewords. If c i = ( c i,1, c i,2,.., c i,n ), i = 1, 2,....., qk is a codeword of C, the error range inequality of c i is x 1 - c i,1 + x 2 - c i,2 +..... + x n - c i,n e where x j {0,1,..., q-1}, j = 1, 2,..., n and x j - c i,j, j = 1, 2,...., n, is the Hamming distance between the digits xj and c i, j. For the binary case, x j - c i,j is simply the absolute difference between xj and c i, j. Each set of values for x 1, x 2,... x n which is a solution to the inequality represents a vector which is at a distance e or less from c i. The set of all solutions to the inequality is the error range of c i. This algebraic inequality thus forms a convenient representation of the error range. It is an alternative to the geometric representation of the error range as a sphere. In later sections of this paper, we use a process called sectioning of a code; we now give a definition of a sectioned code and take it up later for further study. Definition : Let C be an e error correcting (n,k) linear code over GF(q) with code words { c 1, c 2,...., c qk }; let the error range inequalities of the codewords c i, i = 1, 2,....., qk be given by n x j - c i,j e i = 1, 2,....., qk. j = 1

For any integer g e, an (n-g) sectioned code of C is a code C,with codeword length n-g, which is obtained by deleting some g positions from each code word of C and by fixing the values of the corresponding g variables in the error range inequalities of the code words of C. Some of the new range inequalities formed may have no valid solutions; the codewords of C corresponding to these inequalities are simply dropped in forming C. In general, the error range inequalities of the codewords of a sectioned code do not all have the same number of solutions; the sectioned code is, in general, non-uniform error correcting. Next, we give a theorem which is a generalization of the well known, minimum distance 2e+1 criterion as it applies to non-uniform error correcting codes; it will be used in later sections. THEOREM 2.1 (Sharma & Bernard [5] ) A code C with code word length n can correct e 1 random errors in m 1 code words, e 2 errors in m 2 code words and so on, up to e g errors in m g code words, if and only if we can partition C into g subsets C 1, C 2,..., C g of sizes m 1, m 2,..., m g respectively, such that for each c C i and c' Cj, i, j = 1,2,..., g, d ( c, c' ) e i + ej + 1. Sectioning of a code may be done at information or parity check positions. We will first discuss the sectioning of linear codes at parity check positions. 3. SECTIONING LINEAR CODES AT PARITY CHECK POSITIONS In this section we examine the effect of sectioning linear codes at parity check positions. What we obtain are classes of non-uniform error correcting linear codes. The method used, which we refer to as 'parity sectioned reduction', induces a reduction of the parity check matrix that has not been previously considered in the literature. We first introduce the ideas by means of two examples; following these, the general result is given in Theorem 3.1. In the first example, we discuss sectioning of a single error correcting code; this produces non-uniform error correcting codes of smaller codeword length which are capable of correcting single errors in some codewords and zero errors in other codewords. In the second example, we discuss sectioning of a double error correcting BCH code; this produces non-uniform error correcting codes of smaller codeword length which are capable of correcting two, one and zero errors.

EXAMPLE 3.1 Consider the binary, single error correcting, (6,3) linear systematic code C = { c 1, c 2,...., c 2 3 }. The parity check matrix in systematic form is as follows: 1 1 0 1 0 0 H 3,6 = [ A I 3 ] = 1 0 1 0 1 0 0 1 1 0 0 1 The error range inequalities of the codewords c i, i = 1, 2,....., 2 3 are 6 x j - c i,j 1 i = 1, 2,....., 2 3. [3.1] Since this code is single error correcting (e = 1), we may select at most one position for sectioning (i.e. g e ). We may select any one of the parity check positions for parity sectioned reduction, say c i,6, i = 1, 2,....., 2 3. Since this is a binary code, in the error range inequalities, x 6 may have one of two possible values, namely 0 or 1. Let us consider first x 6 = 0. The error range inequalities of 3.1 may be written as: 5 x j - c i,j + 0 - c i,6 1 i = 1, 2,....., 2 3. [3.2] For those codewords of C with c i,6 = 0, the constant on the right hand side of the inequalities of 3.2 will be unchanged. For those codewords of C with c i,6 = 1, the constant on the right hand side of the inequalities will be reduced by 1. The sectioned code C' produced by the sectioning has codeword length 5 and is capable of correcting e 1 = 1 errors in those code words formed from words of C with c i,6 = 0, and e 2 = 1-1 = 0 errors in those code words formed from words of C with c i,6 = 1. The code C' consists of two disjoint subsets C 1 and C 2 of code words such that if c 1,c 2 C 1 d ( c 1,c 2 ) 3 if c 1,c 2 C 2 d ( c 1,c 2 ) 3 if c 1 C 1 and c 2 C 2 d ( c 1,c 2 ) 2 This satisfies the distance criteria of Theorem 2.1 for e 1 = 1 and e 2 = 0. The parity check matrix H' of the new code C' can be obtained by an interesting reduction of H. We are sectioning at the third of the three parity check positions; H' is obtained by deleting the third column of I 3 (i.e. the last column of H) and the third row of I 3 (i.e. the third row of H) to give 1 1 0 1 0 H' = 1 0 1 0 1 The code C' obtained from H' is a linear (5,3) code capable of correcting e 1 = 1 errors in the 2 2 code words of C 1 (those code words of C'with c i,2 + c i,3 = 0 ) and e 2 = 0 errors in the 2 2 code words of C 2 (those code words of C'with c i,2 + c i,3 = 1 ).

In the preceeding discussion, we have considered the situation for x 6 = 0. We now consider the case when x 6 = 1. The range inequalities of 3.1 would be 5 x j - c i,j + 1 - c i,6 1 i = 1, 2,....., 2 3. What we obtain is a sectioned code with the same two disjoint subsets C 1 and C 2 as in C' but now with the words of C 1 capable of correcting 0 errors and those of C 2 capable of correcting single error. The above discussion was for sectioning at c i,6. The result would be similar if we sectioned at any of the parity check positions. We would obtain a non-uniform error correcting code with the codeword length reduced to 5 but with the information bits unchanged. The method introduced for reducing the parity check matrix H n-k,n = [ A I n-k ] is as follows: If we section at the pth parity check position, we delete the pth column and row of I n-k (deleting the pth row of I n-k is to be interpreted as deleting the pth row of H). In Example 3.1, we used a code which is single error correcting and obtained sectioned codes with single and zero error correction capability. In the second example, we will use a double error correcting BCH code; we will obtain non-uniform error correcting sectioned codes capable of correcting double, single and zero errors in different codewords. EXAMPLE 3.2 Consider the binary (15,7) double error correcting BCH code generated by g(x) = ( x 4 + x + 1 ) ( x 4 + x 3 + x + 1 ) with parity check matrix H = 1 α α 2 α 3... α 14 1 α 3 α 6 α 9... α 12 where α is a root of x 4 + x + 1 and the minimum polynomial of α 3 is x 4 + x 3 + x 2 + x+1 The error range inequalities of the codewords c i, i = 1, 2,....., 2 7 are 15 x j - c i,j 2 i = 1, 2,....., 2 7. We now give the parity check matrix in systematic form for ease of visualizing the ideas following: 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 H 8,15 = [ A I 8 ] = 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1

We may select any parity check position for parity sectioned reduction, say the 8th parity check position, c i,15 ; let us also set x 15 = 0 in the error range inequalities. We form the parity check matrix of a (14,7) non-uniform error correcting sectioned code by deleting the last (15th) column and last (8th) row of H (i.e. the 8th column and 8th row of I 8 ). We obtain two disjoint subsets C 1 and C 2 of code words. C 1 has 2 6 code words, namely those for which the dropped parity check equation was c i,4 + c i,6 + c i,7 =0 The error range inequalities of the codewords of C 1 are: 14 x j - c i,j 2 i = 1, 2,....., 2 6. C 2 also has 2 6 code words, namely those for which the dropped parity check equation was c i,4 + c i,6 + c i,7 = 1. The error range inequalities of the codewords of C 2 are: 14 x j - c i,j 1 i = 1, 2,....., 2 6. We may proceed further by selecting any two parity check positions for dropping, say the 7th and 8th parity check positions, c i,14 and c i,15. Let us select also x 14 = x 15 = 0 in the inequalities. The parity check matrix of the (13,7) sectioned code is obtained by dropping the 14th and 15th columns and the 7th and 8th rows of H (i.e. the 7th and 8th columns and rows of I 8 ). We obtain three disjoint subsets C 1, C 2 and C 3 of code words. C 1 has 2 5 code words, with error range inequalities 13 x j - c i,j 2 i = 1, 2,....., 2 5. C 2 has 2 2 5 code words, with error range inequalities 13 x j - c i,j 1 i = 1, 2,....., 2 5. C 3 has 2 5 code words, with error range inequalities 13 x j - c i,j 0 i = 1, 2,....., 2 5. The distance criteria of Theorem 2.1 are clearly satisfied. The code is a (13,7) linear code capable of correcting e 1 = 2 errors in the code words of C 1, e 2 = 1 errors in the code words of C 2, and e 3 = 0 errors in the code words of C 3. The two examples discussed illustrate a process for deriving non-uniform error correcting codes which we have called 'parity sectioned reduction' of the parity check matrix and the error range inequalities of a linear code. We now formally define parity sectioned reduction for the binary case: Definition : Let C be a binary e error correcting (n,k) linear systematic code with parity check matrix H n-k,n = [ A I n-k ] and error range inequalities n x j - c i,j e i = 1, 2,....., 2k. j = 1

By g-parity sectioned reduction of the code C, we mean the following operations on H and the error range inequalities: 1. select some g ( e ) parity check positions for sectioning; if the code is sectioned at the pth check position, then delete the pth column and row of I n-k. A reduced matrix H n-k-g,n-g = [ A' I n-k-g ] is obtained. 2. in each code word of C, delete the g parity check digits; in the error range inequalities, assign values from (0,1) to the variables corresponding to these g positions. Next, we will state in Theorem 3.1, the method discussed in this section for deriving nonuniform error correcting linear codes; but first, we state a Lemma that is needed in the proof of Theorem 3.1. LEMMA 3.1 Let C be a q-ary (n,k) linear code. The number of code words of C which have given constant values in some g ( k ) positions, is q k-g. PROOF This Lemma can be proved in a straightforward manner using coset decomposition with respect to that subgroup of the code which has all zeros in the given positions. Consider the set C' of code words of C which have 0's in g positions c i 1, c i,... c i ; g < k. The vector (0, 0,..., 0) belongs to C', and straightforwardly C' is a subgroup of C. Next, consider the coset decomposition of C with respect to its subgroup C'. There are clearly q g cosets. Thus C' has q (k-g) vectors. Now, take any coset; it has q(k-g) vectors all having same fixed values in positions c i 1, c i,... c i This proves the result. THEOREM 3.1 Let C be a binary, e-error correcting (n,k) linear, systematic code with parity check matrix H n-k,n = [ A I n-k ]. g-parity sectioned reduction of H gives a code C' which is non-uniform error correcting (n-g,k) linear code having code words in g+1 sets {C 0 ', C 1 ',.... C g ' } with j g 2 k-g code words in C j ', j = 0, 1,... g, such that in the word c C j ', the code C' can correct up to e-j errors. PROOF Let C have 2 k code words { c 1, c 2,...., c 2 k } correcting randomly up to e errors. The error range inequalities for code words c i are n x j - c i,j e i = 1, 2,....., 2k. j = 1 Without loss of generality, let the columns to be deleted in parity sectioned reduction be the last g columns of H. Obviously, C being a systematic code, the deleted g positions are check positions, as required. We may write the error range inequalities as:

n-g n x j - c i,j + x j - c i,j e i = 1, 2,....., 2k. j = 1 j = n-g+1 In the sectioning, we are at liberty to set the values of the g variables x n-g+1, x n-g+2,...,x n of the range inequalities to either 0 or 1. Let us choose x n-g+1 = x n-g+2 =.... = x n = 0. We consider now the g-bit portions c i,n-g+1, c i,n-g+2,... c i,n, i = 1,2,... 2 k of the code words of C. The code words which have j ( j = 0, 1,... g ) non-zero values in the last g bits can be selected in j g ways and each of these, according to Lemma 3.1, occurs 2 k-g times. Thus the number of code words with j non-zero values in the last g bits is g j 2 k-g. When the g bits are dropped, the right hand side of the inequalities would be reduced by j for those code words which had j non-zero values. The parity sectioned reduction therefore gives an (n-g,k) code C' = { C 0 ', C 1 ',..., C g ' } in which the error range of each code word in the subset C j, j = 0, 1,..., g, contains all vectors at a distance e-j or less from it. It is easy to see that the ranges remain disjoint and the distance criteria of Theorem 2.1 are satisfied. Hence the Theorem. 4.SECTIONING LINEAR CODES AT INFORMATION POSITIONS In this section, we examine the effect of sectioning linear codes at information positions. The situation is quite different from that obtained in sectioning at parity check positions. If an information position is dropped, we naturally would expect to get a shortened code. The reduction of the parity check matrix is simply to delete the columns corresponding to the sectioned positions. For the sake of completeness, we look at one example, mainly to see what happens with the range inequalities. Let us consider the (6,3) linear code C of Example 3.1. We may select any of the information positions for sectioning, say c i,1, i = 1,2,..., 2 3. Also, in the range inequalities, x 1 may take values 0 or 1. Let us select x 1 = 0. For the 2 2 code words of C which have c i,1 = 0, the right hand side of the inequalities will be unaffected; the shortened code, C" will continue to correct single errors in those code words. Those code words of C which have c i,1 = 1 will now not satisfy the reduced parity check equations and hence have no corresponding codewords in the shortened code. Hence, the sectioned code, C" is a shortened (5,2)code with uniform single error correction capability. The range inequalities are: 6 x j - c i,j 1 i = 1, 2,....., 2 2. j = 2 If, in sectioning the code C, we made the other choice, x 1 = 1, the code we obtain is also uniform single error correcting; it is a coset code of C" formed from words of C in which c i,1 = 1. We may select any of the other information positions for sectioning. In all cases, when we section at an information position, we do not get a non-uniform error correcting code; rather, we get the shortened code and a coset code of that shortened code.

5. CONCLUDING REMARKS The method of parity sectioned reduction of the H matrix, introduced for constructing non-uniform error correcting codes, has not been considered previously in the literature while several of the known modifications of H have produced very interesting and useful codes. Algebraic inequalities were used as an essential tool for defining and determining the error ranges of code words. Traditionally, error ranges have been studied in terms of spheres and sphere packings. The range inequalities provide an alternative representation of error ranges that allow determination of the error ranges in a different manner. Finally, one may be tempted to examine the uniform error correcting linear codes, without sectioning, for non-uniform error correction. However, this does not work, at least for the Hamming codes because it is not possible to partition the code words in two or more different sets wherein the distance criterion of Theorem 2.1, for different values of e i 's, could work. The sectioning of the BCH, RS and other well known codes may provide interesting situations. REFERENCES 1. M.A.Bernard "Error correcting Codes with Variable Lengths and Non-uniform Errors", Ph.D. Thesis, The University of the West Indies, Trinidad, 1987. 2. M.A.Bernard and B.D.Sharma "A Lower Bound on Average Code word Length of Variable Length Error correcting Codes", IEEE IT Vol. 36, No. 6, pp. 1474-1475, 1990. 3. B.Montaron and G. Cohen "Codes Parfaits Binaires A Plusieurs Rayons", Revue Du Cethedec NS 79-2, pp.35-58, 1979. 4. B.D.Sharma and M.A.Bernard "A Search for Perfect Codes of Variable Word Lengths", Journal of Computing and Information, Vol.1, No.1, pp.45-68, 1990. 5. B.D.Sharma and M.A.Bernard "Combinatorial Results on Non-uniform Error correcting Codes", presented at Fourth Carbondale Combinatorics Conference, Carbondale (Ill. ), Nov. 2-4, 1989. 6. F.J.Macwilliams and N.T.A.Sloane "The Theory of Error-correcting Codes", North Holland Pub. Co., 1978.