



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Definitions, properties, and existential bounds for error-correcting codes, which are used for reliable communication over noisy channels. It covers basic definitions such as codes, encoding functions, and hamming distance. It also discusses the distinction between random and worst-case errors, and defines notions of successful recovery through unique and list decoding. Additionally, it presents existential bounds for the existence of good codes using the probabilistic method.
Typology: Study notes
1 / 5
This page cannot be seen from the preview
Don't miss anything!




CS225: Pseudorandomness Prof. Salil Vadhan
April 3, 2007
Based on scribe notes by Sasha Schwartz and Adi Akavia.
The field of coding theory is motivated by the problem of communicating reliably over noisy chan- nels — where the data sent over the channel may come out corrupted on the other end, but we nevertheless want the receiver to be able to correct the errors and recover the original message. There is a vast literature studying aspects of this problem from the perspectives of electrical engi- neering (communications and information theory), computer science (algorithms and complexity), and mathematics (combinatorics and algebra). In this course, we are interested in codes as ‘pseu- dorandom objects,’ ones that are intimately related with the other objects we are studying. In particular, we will see how to use ideas from coding theory to construct the condensers and unbal- anced expanders that we assumed in the previous lectures (for our construction of extractors).
The approach to communicating over a noisy channel is to restrict the data we send to be from a certain set of strings that can be easily disambiguated (even after being corrupted).
Definition 1 A q-ary code is a set C ⊆ Σˆn, where Σ is an alphabet of size q. Elements of C are called codewords. Some key parameters:
An encoding function for C is an injective mapping Enc : { 0 , 1 }n^ → C (for n a positive integer). Given such an encoding function, we view the strings in { 0 , 1 }n^ as messages. The code is explicit if Enc is computable in polynomial time.
Note that every code C whose message length is an integer has an encoding function Enc. We view C and Enc as being essentially the same object (with Enc merely providing a ‘labelling’ of codewords), with the former being useful for studying the combinatorics of codes and the latter for algorithmic purposes. Our notation differs from the standard notation in coding theory in several ways. Typically in coding theory, the input alphabet is taken to be the same as the output alphabet (rather than { 0 , 1 } and Σ, respectively), the blocklength is denoted n, and the message length (over Σ) is denoted k and is referred to as the rate.
So far, we haven’t talked at all about the error-correcting properties of codes. Here we need to specify two things: the model of errors (as introduced by the noisy channel) and the notion of a successful recovery.
For the errors, the main distinction is between random errors and worst-case errors. For random errors, one needs to specify a stochastic model of the channel. The most basic one is the binary symmetric channel (over alphabet Σ = { 0 , 1 }), where each bit is flipped independently with prob- ability δ. People also study more complex channel models, but as usual with stochastic models, there is always the question of how well the theoretical model correctly captures the real-life dis- tribution of errors. We, however, will focus on worst-case errors, where we simply assume that at most some δ fraction of symbols have been changed. That is, when we send a codeword c ∈ Σ nˆ over the channel, the received word r ∈ Σˆn^ differs from c in at most δˆn places.
Definition 2 For two strings x, y ∈ Σˆn, their (relative) Hamming distance dH (x, y) equals Pri[xi 6 = yi]. For a string x ∈ Σˆn^ and δ ∈ [0, 1], the Hamming ball of radius δ around x is the set B(x, δ) of strings y ∈ Σˆn^ such that dH (x, y) ≤ δ. Define Hq(δ, nˆ) to be such that |B(x, δ)| = qHq^ (δ,nˆ)·nˆ.
For the notion of a successful recovery, the traditional model requires that we can uniquely decode the message from the received word (in the case of random errors, this need only hold with high probability). Our main focus will be on a more relaxed notion which allows us to produce a small list of candidate messages. As we will see, the advantage of such list-decoding is that it allows us to correct a larger fraction of errors.
Definition 3 Let Enc: { 0 , 1 }n^ → Σˆn^ be an encoding algorithm for a code C. A δ-decoding algo- rithm for Enc is a function Dec : Σnˆ^ → { 0 , 1 }n^ such that for every m ∈ { 0 , 1 }n^ and r ∈ Σnˆ^ such that dH (Enc(m), r) ≤ δ, we have Dec(r) = m. If such a function Dec exists, we call the code δ-decodable.
A (δ, L)-list-decoding algorithm for Enc is a function Dec : Σnˆ^ → ({ 0 , 1 }n^ )L^ such that for every m ∈ { 0 , 1 }n^ r ∈ Σˆn, such that dH (Enc(m), r) ≤ δ, we have m ∈ Dec(r). If such a function Dec exists, we call the code (δ, L)-list-decodable.
Note that a δ-decoding algorithm is the same as a (δ, 1)-list-decoding algorithm. It is not hard to see that, if we do not care about computational efficiency, the existence of such decoding algorithms depends only on the combinatorics of the code.
Definition 4 The (relative) minimum distance of a code C ⊆ Σˆn^ equals minx 6 =y∈C dH (x, y).
Proposition 5 Let C ⊆ Σnˆ^ be a code with any encoding function.
The factor of 2 in Item 1 is the reason that list-decoding can provide an advantage over unique decoding in the fraction of errors corrected.
The main goals in constructing codes are to have infinite families of codes (e.g. for every message length n) in which we:
Proposition 7 (Johnson Bound)
ε), O(1/
ε))-list-decodable.
ε), O(1/ε))- list- decodable.
Proof: We prove Item 1. The proof is by inclusion-and-exclusion. Let r ∈ Σ nˆ, say C 1 , ..., Cs are codewords at distance at most 1 − ε′^ from r, for ε′^ =
2 ε and s = 2/ε′.
1 ≥ fraction of positions where r agrees with some Ci ≥
i
agreement(r, Ci) −
1 ≤i<j≤s
agreement(Ci, Cj )
≥ sε′^ −
s 2
· ε
2 − 1 = 1
where the last inequality is by our setting of parameters. We reached a contradiction, implying s < (^) ε^2 ′.
Note that the quadratic loss in the distance parameter. This means that optimal codes with respect to minimum distance are not necessarily optimal with respect to list-decoding. Nevertheless, if we do not care about the exact tradeoff between the rate and the decoding radius, in both cases, the above can yield codes where the decoding radius is as large as possible (approaching 1 and 1/2, respectively).
As usual, most applications of error-correcting codes (in particular the original motivating one) require computationally efficient encoding and decoding. For now, we focus on only the efficiency of encoding.
i mixi^ mod 2.
d/q) with lists of size O(
q/d).
(m+d d
· log q, ˆn = qm.
d/q) with lists of size O(
q/d).