25
1 1

1. 2 Overview Review of some basic math Review of some basic math Error correcting codes Error correcting codes Low degree polynomials Low degree polynomials

Embed Size (px)

Citation preview

11

22

OverviewOverview

Review of some basic mathReview of some basic math Error correcting codesError correcting codes Low degree polynomialsLow degree polynomials

H.W

33

Review - FieldsReview - FieldsDef (field):Def (field): A set A set FF with two binary operations with two binary operations ++

(addition) and (addition) and ·· (multiplication) is called a (multiplication) is called a fieldfield if if

6 6 a,ba,bFF, , a·ba·bFF

7 7 a,b,ca,b,cFF, , (a·b)·c=a·(b·c)(a·b)·c=a·(b·c)

8 8 a,ba,bFF, , a·b=b·aa·b=b·a

9 9 1 1FF, , aaFF, , a·1=aa·1=a

1010 aa00FF, , a a-1-1FF, , a·aa·a-1-1=1=1

1 1 a,ba,bFF, , a+ba+bFF

2 2 a,b,ca,b,cFF, , (a+b)+c=a+(a+b)+c=a+(b+c)(b+c)

3 3 a,ba,bFF, , a+b=b+aa+b=b+a

4 4 0 0FF, , aaFF, , a+0=aa+0=a

5 5 aaFF, , -a -aFF, , a+(-a)=0a+(-a)=0

11 11 a,b,ca,b,cFF, , a·(b+c)=a·b+a·ca·(b+c)=a·b+a·c

+,·,0, 1,-a and a-1

are only notations!

44

Finite FieldsFinite FieldsDef (finite field):Def (finite field): A A finite finite set set FF with two binary with two binary

operations operations ++ (addition) and (addition) and ·· (multiplication) is (multiplication) is called a called a finite fieldfinite field if it is a field. if it is a field.

Example:Example: ZZpp denotes denotes {0,1,...,p-1}{0,1,...,p-1}. We define . We define ++ and and ·· as the addition and multiplication modulo as the addition and multiplication modulo pp respectively. respectively.

One can prove that One can prove that (Z(Zpp,+,·) is a field iff p is ,+,·) is a field iff p is primeprime. Throughout the presentations we’ll . Throughout the presentations we’ll usually refer to usually refer to ZZpp when we’ll mention finite when we’ll mention finite fields.fields.

55

Strings & Functions (1)Strings & Functions (1)

Let Let = = 0 0 2 2 . . . . . . n-1n-1, where , where ii..We can describe the string We can describe the string asas a functiona function : {0…n-1} : {0…n-1} , such that , such that i i (i) = (i) = ii..

Let Let ff be a function be a function f : D f : D R R. Then . Then f f can be can be described as a string in described as a string in RR|D||D|, spelling , spelling ff’s ’s value on each point of value on each point of DD..

66

Strings & Functions - Strings & Functions - ExampleExample

For example, let For example, let f f be abe a function function f : Zf : Z5 5 Z Z55, and let , and let = Z = Z55..

14

43

42

11

00

)(xf

"01141"

2)( xxf

77

1001110

Introduction to Error Correcting Introduction to Error Correcting CodesCodes

Motivation: Motivation:

communication line

original message

1001110

received message

1101110

1

“noise”

We’d like to still be able to reconstruct the original message

88

Error Correcting CodesError Correcting Codes

DefDef (encoding): (encoding): An An encodingencoding EE is a function is a function E E : : nn mm, where , where m >> nm >> n..

DefDef (code word): (code word): A A code word code word ww is a member is a member of the image of the encoding of the image of the encoding E : E : nn mm..

DefDef ( (-code):-code): An encoding An encoding EE is an is an-code-code if if n n (E((E(),E(),E()) )) 1 - 1 - , , where where (x,y) (x,y) (the Hamming distance)(the Hamming distance), , denotes the fraction of entries on which denotes the fraction of entries on which x x and and yy differ. differ.

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)

99

Example – a simple error Example – a simple error correcting codecorrecting code

011

:3

n

Consider the following code: for every Consider the following code: for every nn , let , let E(E(,k)=,k)=^k^k (the same word repeated k times, (the same word repeated k times, hence hence m=knm=kn).).

E(,4),4)

110110110110)4,( E

1010

Example – a simple error Example – a simple error correcting codecorrecting code

Because every two words Because every two words nn were different on were different on at least one coordinate to begin with, the distance at least one coordinate to begin with, the distance of the code (1-alpha) is:of the code (1-alpha) is:

nkn

nkkyEkxE

yx n

1)1(11)),(),,((

:

1111

Example – a simple error Example – a simple error correcting codecorrecting code

E 1-=1/n

D R

1212

Reed-Solomon codesReed-Solomon codesWe shall now use polynomials over finite fields to build a We shall now use polynomials over finite fields to build a

better generic code (larger distance between words)better generic code (larger distance between words)

1

0

)(r

j

jj xaxP

Note: A polynomial whose degree-bound is r

is of degree at most r-1 !

Def (univariate polynomial):Def (univariate polynomial): a a polynomialpolynomial in in x x over a over a field field FF is a function is a function P:FP:FFF, which can be written as, which can be written as

for some series of for some series of coefficientscoefficients aa00,...,a,...,ar-1r-1FF..

The natural number The natural number rr is called the is called the degree-bound degree-bound of of the polynomial.the polynomial.

1313

Reed-Solomon codesReed-Solomon codesThmThm : :

Given Given xx00,y,y00,...,x,...,xr-1r-1,y,yr-1r-1FF there is a single there is a single univariate polynomial univariate polynomial P P and degree-boundand degree-bound r r, , which satisfies which satisfies 00kkr-1 P(xr-1 P(xkk)=y)=ykk

Existence: Existence: We shall build such a polynomial We shall build such a polynomial using Lagrange’s formula:using Lagrange’s formula:

Proof :Proof : Uniqueness: Uniqueness: If there are two such polynomials: p1 If there are two such polynomials: p1

& p2, then p1-p2 is a polynomial with degree-& p2, then p1-p2 is a polynomial with degree-boundbound r, which has r roots. This contradicts the r, which has r roots. This contradicts the fundamental theorem of Algebra!fundamental theorem of Algebra!

1414

Reed-Solomon codesReed-Solomon codes

Let’s check the value of this polynomial in x = xt

for some 0 t r-1:

Since the degree-boundof this polynomial is r, we

in fact proved the correctness of the formula

a-b denotes a+(-b) a/b denoted a•(b-1)

1

0 )(

)(

)(r

kkj

jk

kjj

k xx

xx

yxP

1

0 )(

)(

)(r

kkj

jk

kjjt

kt xx

xx

yxP

tjjt

tjjt

ttk

kjjk

kjjt

kt xx

xx

yxx

xx

yxP)(

)(

)(

)(

)( 0 yt

1

0 )(

)(

)(r

kkj

jk

kjj

k xx

xx

yxP

1515

Reed-Solomon codesReed-Solomon codes

Def (the Reed-Solomon code):Def (the Reed-Solomon code):

Set Set FF to be the finite field to be the finite field ZZpp for some prime for some prime pp, and , and assume for simplicity thatassume for simplicity that = F = F and and m = pm = p..

Given Given nn, let , let E(E()) be the string of the function be the string of the function ff : : F F F F that satisfies: that satisfies:ff is the unique polynomial of degree-bound is the unique polynomial of degree-bound nn such that such that ff(i) = (i) = ii for all for all 0 0 i i n-1 n-1..

1616

Reed-Solomon codesReed-Solomon codes

E(E()) can be interpolated from any can be interpolated from any nn points. points.

Hence, for any Hence, for any , E(, E()) and and E(E()) may agree on at may agree on at most most n – 1n – 1 points. points.

Therefore,Therefore, EE is an is an (n – 1) / m(n – 1) / m – code, that is a code – code, that is a code with distance of:with distance of:

m

n 11

1717

Reed-Solomon codesReed-Solomon codes

p = m = 5, n = 2p = m = 5, n = 2

= 1, 2= 1, 2 = 3, 1= 3, 1

ff(x) = x + 1(x) = x + 1ff(x) = 3x + 3(x) = 3x + 3

E(E() = 1, 2, 3, 4, ) = 1, 2, 3, 4, 00E(E() = 3, 1, 4, 2, ) = 3, 1, 4, 2, 00

1818

Strings & Functions (2)Strings & Functions (2)

We can describe any string as a function We can describe any string as a function f:Hf:Hd d H H ( (HH is a finite field, is a finite field, dd is a positive is a positive integer).integer).

Given a Given a nn we’ll achieve that by we’ll achieve that by choosing choosing H=ZH=Zqq, where , where qq is the smallest is the smallest prime greater than prime greater than ||||, and , and d=d=loglogqqnn..

1919

Reed-Muller CodesReed-Muller Codes

Def (multivariate polynomial):Def (multivariate polynomial): Let Let FF be a field and let be a field and let dd be some positive integer number. A function be some positive integer number. A function p:Fp:FddFF is a is a multivariate polynomialmultivariate polynomial if it can be if it can be written aswritten as

for some series of coefficients in the field.for some series of coefficients in the field.hh is the degree-bound on each one of the variables. is the degree-bound on each one of the variables.The total-degree of the polynomial is The total-degree of the polynomial is

max{ imax{ i00+…+i+…+id-1d-1 : a : aii00……iid-1d-1 0 }0 }..

1

0

1

010,...,10

0 1

10

10......),...,(

h

i

h

i

id

iiid

d

d

dxxaxxp

2020

Error correcting Codes Error correcting Codes Home AssignmentHome Assignment

We’ve seen that Reed-Solomon codes using We’ve seen that Reed-Solomon codes using polynomials with degree-bound polynomials with degree-bound rr have distance of: have distance of:

Next

What is the distance of error correcting codes that use What is the distance of error correcting codes that use multivariate polynomials (over a finite field multivariate polynomials (over a finite field FF, with , with degree-bound degree-bound hh in each variable and dimension in each variable and dimension dd)?)?

m

n 11

2121

Low Degree Extension (LDE)Low Degree Extension (LDE)Def: (low degree extension):Def: (low degree extension): Let Let : H : Hd d H H

be a string (where be a string (where HH is some finite field). is some finite field).

Given a finite field Given a finite field FF, which is a superset , which is a superset of of HH, we define a , we define a low degree extensionlow degree extension of of to to FF as a polynomial as a polynomial LDELDE : F: Fd d F F which satisfies: which satisfies:

LDELDE agrees with agrees with onon H Hdd (extension)(extension).. The degree-bound of The degree-bound of LDELDE is is |H| |H| in in

each variable each variable (low degree)(low degree)..

2222

Low Degree Extension (LDE)Low Degree Extension (LDE)

Goal:Goal: To be able to find the value of an To be able to find the value of an LDELDE in any point (set of points) of in any point (set of points) of FFdd..

LDEx LDE(x)

2323

Low Degree Extension (LDE)Low Degree Extension (LDE)

x LDE(x)

Straightforward approach: Straightforward approach:

Represent the Represent the LDELDE by its coefficients. by its coefficients.

Alas, this will require access to Alas, this will require access to |H||H|d d variables,variables, log|log|F|F| bits each, each time! bits each, each time!

the coefficients of the dimension-d, degree-bound- |H| LDE

2424

Low Degree Extension (LDE)Low Degree Extension (LDE)

x LDE(x)

the value of the LDE in every point in Fd

Second approach:Second approach:

Represent the Represent the LDELDE by its values in the points of by its values in the points of FFdd. .

Now we only need access to one variable (Now we only need access to one variable (log|F|log|F| bits) each time.bits) each time.

But now we encounter a new problem: we cannot be sure the values we are given are consistent, i.e. correspond to a single dimension-d, degree-bound-|H| polynomial.

2525

Consistent ReadersConsistent Readers

In the upcoming lectures we’ll see how In the upcoming lectures we’ll see how to build to build readersreaders which: which:

access only a small number of the access only a small number of the variables each time. variables each time.

detect inconsistency with high detect inconsistency with high probability. probability.