1. 2 Overview Review of some basic math Review of some basic math Error correcting codes Error...
-
Upload
cali-binkley -
Category
Documents
-
view
220 -
download
0
Transcript of 1. 2 Overview Review of some basic math Review of some basic math Error correcting codes Error...
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)),(),,((
:
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.