# Codes by lonyoo

VIEWS: 26 PAGES: 21

• pg 1
```									Probabilistic verification
Mario Szegedy, Rutgers
www/cs.rutgers.edu/~szegedy/07540

Lecture 5
C= (n,k,d)q codes
•   n = Block length
•   k = Information length
•   d = Distance
•   k/n = Information rate
•   d/n = Distance rate
•   q = Alphabet size
Linear Codes
• C = {x | x Є L}      (L is a linear subspace of Fqn)

• Δ(x,y) = Δ(x-z,y-z)
• min Δ(0,x) = min Δ(x,y)         x,y Є L

• k = dimension of the message space = dim L
• n = dimension of the whole space (in which the code words lie)

• Generator matrix: {xG | x   Є  Fqk}
• “Parity” check matrix: {y       n
Є Fq | yH = 0}
Reed-Solomon codes
• The Reed–Solomon code is an error-correcting code that works by
oversampling a polynomial constructed from the data.

• C is a [n, k, n-k+1] code; in other words, it is a linear code of length n
(over F) with dimension k and minimum distance n-k+1.
Welch-Berlekamp decoding
algorithm for RS codes
•        Length = n (n ≤ |F|)
•        Degree = k
•        # of errors =e                             We assume: k+2e < n.
•        Received code word = y
•        E = non-zero polynomial that is zero at the bad “bits” of y

y E = B.           deg E ≤ e       deg B ≤ e + k

NOTATION:

I.       v = w (exc e) means “word v is the same as word w except at e places)
II.      v = w (exc H) means “word v is the same as word w except on set H)

We have         P = y (exc Err), where P is the encoded word, and |Err| ≤ e.

We can find E and B such that y E = B by solving a system of linear equations:

E0 + E1 fj + E2 fj2 + … + Ee fje = yj B0 + yj B1 fj + yj B2 fj2 + … + yj Be fje+k   (1 ≤ j ≤ n)
Welch-Berlekamp decoding
algorithm for RS codes
Since P = y (exc Err), it follows that

PE = yE = B (exc Err),

But deg PE = k + e, and deg B = k + e, and since   k+e < n–e, we have

PE = B.

Now we can easily recover P by simply dividing polynomial B by E.
Generalization of the WB algorithm
• C is a general code (replacing RS)
α.   A * C is a subset of B
β.   dim A > e
γ.   d(B) > e
δ.   d(A) + d(C) ≥ n

solve     y a = b (we need β. for such non-zero a to exist)
let c be the code word we are looking for

ca = ya = b (exc Err) α.,γ. ca = b, since ca Є B. →
→
→      b/a = c (exc zeros(a)) →
b/a = c (exc n – d(A))     δ.
→      we can recover c
Multi-variate polynomials

Two variate polynomial of multi-degree (2,2):

General n variate polynomial:
P(x1,x2,…,xn) = P(x) = Σα aα xα
Multi-degree
deg y

x3y5

x2y3

deg x

Multi-degree (3,5)
Multi-degree
deg y

deg x

General multi-degree pattern. Multi-degree polynomials
of a fix pattern form a vector space over F.
Multi-degree
deg y

P→P+P

deg x

Under multiplication degree patterns add like vectors
Total degree d
deg y

terms
total degree 5

deg x

for each coeff vector α in P(x) we have     Σi α i ≤ d
LEMMA: Let S be a subset of a field F, |S|=d+1 ≥ 1.
Then any function from Sn to F has a unique
extension to a multi-degree (d,…,d) polynomial.

PROOF:
1. there exists a low degree extension:
By linearity it is enough to show that any function that takes a single
non-zero value has an extension. Assume the non-zero value is
taken over (a1,a2,…,an). Then over S it can be expressed as:

const ∙ ΠiΠs (xi - s)

s runs through S, but leaves out ai
LEMMA: Let S be a subset of a field F, |S|=d+1 ≥ 1.
Then any function from Sn to F has a unique
extension to a multi-degree (d,…,d) polynomial.

2. The low degree extension is unique:
Because of linearity it is enough to show that the identically zero
function on Sn has a unique extension (which is the 0 polynomial).
In 1 dimension this follows from the fact that a degree d polynomial
cannot have more than d roots. Assume that we have proven the
statement for d-1. →

If we fix xi to any constant s in S, we get an identically zero
polynomial.          →

Now fix all the other variables (anyhow), except xi, we get a
polynomial taking zeros on all points of S. → All such uni-variate
polynomial has to take zero everywhere. → P(x)=0.
(d+1)n-1

xi

d+1                    0

All other variables
Zippel’s lemma

THEOREM (Schwartz-Zippel). Let

be a polynomial of degree d over a field, F. Let S be a finite subset
of F and let                 be selected randomly from S. Then
PROOF: Induction on n. For n = 1, P can have at most d roots. This gives us the
base case. Now, assume that the theorem holds for all polynomials in n − 1
variables. We can then consider P to be a polynomial in x1 by writing it as

Since P is not identically 0, there is some i such that Pi is not identically 0.
Take the largest such i. Then                     .
PROOF: Induction on n. For n = 1, P can have at most d roots. This gives us the
base case. Now, assume that the theorem holds for all polynomials in n − 1
variables. We can then consider P to be a polynomial in x1 by writing it as

Since P is not identically 0, there is some i such that Pi is not identically 0.
Take the largest such i. Then                     . Now we randomly pick
.                 from S. By the induction hypothesis,
PROOF: Induction on n. For n = 1, P can have at most d roots. This gives us the
base case. Now, assume that the theorem holds for all polynomials in n − 1
variables. We can then consider P to be a polynomial in x1 by writing it as

Since P is not identically 0, there is some i such that Pi is not identically 0.
Take the largest such i. Then                     . Now we randomly pick
.                 from S. By the induction hypothesis,

If                             then                               is of degree i.
Event A:
Event B:
Maximal number of zeros of a
multi-degree (d,…,d) polynomial

qn – (q – d)n

Homework

```
To top