250 likes | 363 Views
Encodings. Overview. Review of some basic math Error correcting codes Low degree polynomials. H.W. +, ·,0, 1, -a and a -1 are only notations!. Review - Fields. Def (field): A set F with two binary operations + (addition) and · (multiplication) is called a field if.
E N D
Overview • Review of some basic math • Error correcting codes • Low degree polynomials H.W
+,·,0, 1, -a and a-1 are only notations! Review - Fields Def (field): A set F with two binary operations + (addition) and · (multiplication) is called a field if 6 a,bF, a·bF 7 a,b,cF, (a·b)·c=a·(b·c) 8 a,bF, a·b=b·a 9 1F, aF, a·1=a 10a0F, a-1F, a·a-1=1 1 a,bF, a+bF 2 a,b,cF, (a+b)+c=a+(b+c) 3 a,bF, a+b=b+a 4 0F, aF, a+0=a 5 aF, -aF, a+(-a)=0 11 a,b,cF, a·(b+c)=a·b+a·c
Finite Fields Def (finite field):A finite set F with two binary operations + (addition) and · (multiplication) is called a finite field if it is a field. Example:Zpdenotes {0,1,...,p-1}. We define + and · as the addition and multiplication modulo p respectively. One can prove that (Zp,+,·) is a field iff p is prime. Throughout the presentations we’ll usually refer to Zpwhen we’ll mention finite fields.
Strings & Functions (1) • Let = 0 2 . . . n-1, where i.We can describe the string asa function : {0…n-1} , such that i (i) = i. • Let f be a function f : D R. Then f can be described as a string in R|D|, spelling f’s value on each point of D.
Strings & Functions - Example For example, let f be afunction f : Z5 Z5, and let = Z5.
received message “noise” 1 1101110 Introduction to Error Correcting Codes Motivation: original message 1001110 1001110 communication line We’d like to still be able to reconstruct the original message
Error Correcting Codes Note that :mmR+ is indeed a distance function, because it satisfies: (1) x,ym(x,y)0 and (x,y)=0 iff x=y (2) x,ym(x,y)=(y,x) (3) x,y,zm(x,z)(x,y)+(y,z) Def (encoding): An encodingE is a function E : n m, where m >> n. Def (code word): A code word w is a member of the image of the encoding E : n m. Def (-code): An encoding E is an-code if n (E(),E()) 1 - , where (x,y) (the Hamming distance), denotes the fraction of entries on which x and y differ.
Example – a simple error correcting code Consider the following code: for every n , let E(,k)=^k (the same word repeated k times, hence m=kn). E(,4)
Example – a simple error correcting code Because every two words n were different on at least one coordinate to begin with, the distance of the code (1-alpha) is:
E 1-=1/n Example – a simple error correcting code D R
Reed-Solomon codes We shall now use polynomials over finite fields to build a better generic code (larger distance between words) Def (univariate polynomial): a polynomial in x over a field F is a function P:FF, which can be written as for some series of coefficientsa0,...,ar-1F. The natural number r is called the degree-bound of the polynomial. Note: A polynomial whose degree-bound is r is of degree at most r-1 !
Reed-Solomon codes Thm : Given x0,y0,...,xr-1,yr-1F there is a single univariate polynomial P and degree-bound r, which satisfies 0kr-1 P(xk)=yk Proof : Uniqueness: If there are two such polynomials: p1 & p2, then p1-p2 is a polynomial with degree-bound r, which has r roots. This contradicts the fundamental theorem of Algebra! Existence: We shall build such a polynomial using Lagrange’s formula:
Reed-Solomon codes yt 0 a-b denotes a+(-b) a/b denoted a•(b-1) Let’s check the value of this polynomial in x = xt for some 0 t r-1: Since the degree-bound of this polynomial is r, we in fact proved the correctness of the formula
Reed-Solomon codes Def (the Reed-Solomon code): Set Fto be the finite field Zp for some prime p, and assume for simplicity that = Fand m = p. Given n, let E()be the string of the function f : F F that satisfies:f is the unique polynomial of degree-bound n such that f(i) = ifor all 0 i n-1.
Reed-Solomon codes • E()can be interpolated from any n points. • Hence, for any , E()and E() may agree on at most n – 1 points. • Therefore,Eis an (n – 1) / m– code, that is a code with distance of:
Reed-Solomon codes p = m = 5, n = 2
Strings & Functions (2) • We can describe any string as a function f:Hd H (H is a finite field, d is a positive integer). • Given a n we’ll achieve that by choosing H=Zq, where q is the smallest prime greater than ||, and d=logqn.
Reed-Muller Codes Def (multivariate polynomial): Let F be a field and let d be some positive integer number. A function p:FdF is a multivariate polynomial if it can be written as for some series of coefficients in the field. h is the degree-bound on each one of the variables. The total-degree of the polynomial is max{ i0+…+id-1 : ai0…id-1 0 }.
Error correcting Codes Home Assignment • We’ve seen that Reed-Solomon codes using polynomials with degree-bound r have distance of: • What is the distance of error correcting codes that use multivariate polynomials (over a finite field F, with degree-bound h in each variable and dimension d)? Next
Low Degree Extension (LDE) Def: (low degree extension): Let : Hd H be a string (where H is some finite field). Given a finite field F, which is a superset of H, we define a low degree extension of to F as a polynomial LDE : Fd F which satisfies: • LDE agrees with on Hd(extension). • The degree-bound of LDEis |H| in each variable (low degree).
Low Degree Extension (LDE) Goal: To be able to find the value of an LDE in any point (set of points) of Fd. LDE x LDE(x)
Low Degree Extension (LDE) Straightforward approach: Represent the LDE by its coefficients. Alas, this will require access to |H|d variables,log|F| bits each, each time! the coefficients of the dimension-d, degree-bound- |H|LDE x LDE(x)
Low Degree Extension (LDE) Second approach: Represent the LDE by its values in the points of Fd. Now we only need access to one variable (log|F| bits) each time. But now we encounter anew problem: we cannot be sure the values we are given are consistent, i.e. correspond to a single dimension-d, degree-bound-|H| polynomial. the value of the LDE in every point in Fd x LDE(x)
Consistent Readers In the upcoming lectures we’ll see how to build readers which: • access only a small number of the variables each time. • detect inconsistency with high probability.