Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 8 Reed-Muller codes Synopsis. The minimum distance of a perfect code cannot exceed 7 unless the code is a repetition code. This is disappointingly low. In this final section of the course, we construct Reed-Muller codes, a family of codes with large minimum distance. Unfortunately, they are not perfect. First, we cover the necessary material on the Boolean algebra. We then define the Reed-Muller codes R(r, m) as certain subspaces of the Boolean algebra on V m . We calculate the parameters of R(r, m). In the exercises to this chapter, some of the previously known codes are realised as Reed-Muller codes. The first notion we will need to define Reed-Muller codes is that of a Boolean function. We fix m ≥ 1. Definition (Boolean functions) Denote by V m the set of all binary words of length m. (It is the same as Fm 2 but viewed without any vector space structure). A Boolean function is a (set-theoretical) function f : V m → F2 . Remark (the number of Boolean functions) m The total number of all Boolean functions on V m is |F2 ||Vm | = 22 . Remark (Boolean functions as rows of a truth table) One has certainly met Boolean functions when constructing truth tables for statements in basic logic. To give an illustration, let m = 3. Consider statements which involve variables x1 , x2 , x3 , each of which can take values 0 (false) or 1 (true). 1 Reed-Muller codes 2 We will represent a logical statement by a row (not column) in a truth table. (We use rows because it is common in Coding Theory to think of codewords as of row vectors; and we will see that in Reed-Muller codes, the role of codewords is played by certain Boolean functions.) In our example (m = 3), the table will have 8 columns: x1 x2 x3 (x1 and x2 ) =⇒ x3 0 1 v2 v3 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 In this table, (x1 and x2 ) =⇒ x3 is a statement whose truth value depends on the values of x1 , x2 and x3 . Therefore, it can be viewed as a Boolean function: its value at the binary word 000 is 1, at the word 100 the value is 1, and so on. The only binary word where this function takes the value 0 is the word 110: indeed, if x1 and x2 are true, then x1 and x2 is true, but x3 is false, and the value of the implication “true =⇒ false” is false. (The other rows in the table will be explained below.) The Boolean algebra Because Boolean functions take values in F2 = {0, 1} which is a field, Boolean functions can be added and multiplied pointwise: if f, g : V m → F2 , one has the functions f + g, f g : V m → F2 ; (f + g)(x) = f (x) + g(x), (f g)(x) = f (x)g(x), ∀x ∈ V m . Also, there are constant functions 0 and 1. (They are shown in the 2nd, respectively 3rd, row of the truth table above.) The Boolean function 1 is often called the tautological truth. We conclude that Boolean functions form a commutative ring. The traditional logical operations can be written in terms of the ring operations + and ×. Clearly, multiplication is the same as AND: f g = f and g. The addition obeys the rule 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, 1 + 1 = 0. The logical operation which corresponds to addition is called the exclusive OR: f + g = f xor g = (f or g) and not(f and g). The ring of Boolean functions on V m is also a vector space over F2 . Reed-Muller codes 3 Definition The ring/vector space of Boolean functions on V m is called the Boolean algebra on V m. Claim (dimension of the Boolean algebra) m Because the Boolean algebra on V m has 22 elements, it is of dimension 2m over F2 . We will now introduce two special kinds of elements of the Boolean algebra: coordinate functions and, more generally, monomial functions. Definition (coordinate function, monomial) The Boolean function vi : V m → F2 defined by vi (x1 , x2 , . . . , xm ) = xi is called the ith coordinate function. To each subset {i1 , . . . , ir } ⊆ {1, . . . , m} there corresponds the monomial function (or monomial ) vi1 . . . vir , of degree r. Also, 1 is the monomial function corresponding to the set ∅, of degree 0. Remark (properties of monomials) • Observation: because the values of any Boolean function are 0 and 1, one has vi = vi2 = vi3 = . . .. This is the reason why there are no higher powers of the vi in the definition of a monomial. • There are 2m monomials in the Boolean algebra on V m (because there are 2m subsets of {1, . . . , m}). 8.1 Lemma Monomials are a basis of the Boolean algebra. Proof. There are 2m (= the dimension of the Boolean algebra on V m ) monomials. We will use the following fact from linear algebra: if a spanning set in a finite dimensional vector space has cardinality equal to the dimension of the space, then this set is a basis. Therefore, it is enough to prove that the monomials span the Boolean algebra. Reed-Muller codes 4 To each point x ∈ V m there is associated a delta-function: ( 0 if y 6= x, m δx : V → F2 , δx (y) = 1 if y = x. There are 2m delta-functions on V m . Their value vectors are exactly the vectors of m weight 1 in F22 . We know that vectors of weight 1 span the whole space, thus the delta-functions span the Boolean algebra. It is therefore enough to show that each delta-function lies in the linear span of monomials. Let x = (x1 , . . . , xm ) be a binary word. Observe that Y Y δx = vi (1 + vj ). i:xi =1 j:xj =0 Indeed, the product on right-hand side becomes 1 if it is evaluated at the word x, and 0 if it is evaluated at a word which differs from x in at least one bit. Now open the brackets and expand the product to see that δx is a sum of products of some of the vi , i.e., a sum of several monomials. Definition (Reed-Muller code) The rth order Reed-Muller code on V m , denoted R(r, m), is the subspace of the Boolean algebra on V m spanned by monomials of degree at most r. (Here 0 ≤ r ≤ m.) m How to write codewords of R(r, m) as row vectors in F22 ? Order all binary words of length m as y0 , . . . , y2m −1 . The standard ordering is obtained by interpreting the word x1 x2 . . . xm as a number written in base 2, i.e., the number 2m−1 x1 + . . . + 2xm−1 + xm . Thus, the binary words of length 3 appear in the following order: 000, 001, 010, 011, 100, 101, 110, 111. Let f : V m → F2 be a Boolean function. To f we associate the value vector of f , which is the binary vector f = (f (y0 ), . . . , f (y2m −1 )), of length 2m . We can say that R(r, m) is spanned by the value vectors of all monomials of degree at most r in the Boolean algebra on V m . 8.2 Lemma R(r, m) has length 2m , dimension m 0 + m 1 + ... + m r . Reed-Muller codes 5 Proof. Length = 2m by construction; dimension is the number of monomials of degree 0, 1, . . . , r, which are a basis of R(r, m). The number of monomials of degree d is the same as the number of d-element subsets of {1, . . . , m}, which is m d ; hence the result. To find the minimum distance of R(r, m), we need the following auxiliary construction. The bar product (the [ u | u + v ] construction) If u, v ∈ Fnq , the vector [ u | v ] ∈ F2n q is formed by u followed by v. Definition Let C1 , C2 ⊆ Fnq be two linear codes. The linear code |C1 |C2 | = {[ u | u + v ] : u ∈ C1 , v ∈ C2 }. of length 2n is called the bar product of C1 and C2 . 8.3 Proposition d(|C1 |C2 |) = min{ 2d(C1 ), d(C2 ) }. Proof. The minimum distance of |C1 |C2 | is the smallest weight of a non-zero vector [ u | u + v ] where u ∈ C1 and v ∈ C2 ; that is, the minimum of w(u) + w(u + v). If v = 0, this is 2w(u) ≥ 2d(C1 ). The value 2d(C1 ) is attained when w(u) = d(C1 ), v = 0. If v 6= 0, one has w(u) + w(u + v) = d(u + v, 0) + d(0, u) ≥ d(u + v, u) = w(u + v − u) = w(v) ≥ d(C2 ). The value d(C2 ) is attained when u = 0, w(v) = d(C2 ). Hence the minimum of w(u) + w(u + v) over all possible non-zero [ u | u + v ] is indeed min{ 2d(C1 ), d(C2 ) }. 8.4 Proposition R(r + 1, m + 1) = |R(r + 1, m)|R(r, m)|. Explanation. A function f ∈ R(r + 1, m + 1) corresponds to linear combination of monomials in v1 , . . . , vm+1 , of degree at most r + 1. Each monomial contains a copy of v1 or none. Hence f (v1 , . . . , vm+1 ) = g(v2 , . . . , vm+1 ) + v1 h(v2 , . . . , vm+1 ), Reed-Muller codes 6 where g ∈ R(r + 1, m) and h ∈ R(r, m). Observe that our numbering of binary words of length m + 1 is such that the value vector of v1 is h i m+1 v1 = 0 0 . . . 0 | 1 1 . . . 1 ∈ F22 , and that g has value vector [ g | g ] and v1 h has value vector [ 0 | h ]. Thus, f has value vector [ g | g + h ], and any g, h as above yield f = g + v1 h ∈ R(r + 1, m + 1). 8.5 Theorem The Reed-Muller code R(r, m) is a [2m , k, 2m−r ]2 -code where k = m 0 + m 1 +. . .+ m r . Proof. The length n = 2m and dimension k are by Lemma 8.2. We calculate d. If r = 0, R(0, m) is spanned by the value vector of the monomial 1. Hence it is the binary repetition code of length 2m . So d = 2m , as claimed. If r = m, R(m, m) is the trivial code and has d = 1 = 20 , as claimed. Now let us use induction in m. The case m = 1 is done (here either r = 0 or r = 1). Inductive step: R(r + 1, m + 1) = |R(r + 1, m)|R(r, m)|, hence, using the inductive hypothesis, d(R(r + 1, m + 1)) = min{2 × 2m−r−1 , 2m−r } = 2m−r , as claimed.