Sunteți pe pagina 1din 25

1

2
Overview
Review of some basic math
Error correcting codes
Low degree polynomials
H.W
3
Review - Fields
Def (field): A set F with two binary operations +
(addition) and (multiplication) is called a field if
6 a,beF, abeF
7 a,b,ceF, (ab)c=a(bc)
8 a,beF, ab=ba
9 - 1eF, aeF, a1=a
10 a=0eF, - a
-1
eF, aa
-1
=1
1 a,beF, a+beF
2 a,b,ceF, (a+b)+c=a+(b+c)
3 a,beF, a+b=b+a
4 - 0eF, aeF, a+0=a
5 aeF, - -aeF, a+(-a)=0
11 a,b,ceF, a(b+c)=ab+ac
+,,0, 1,
-a and a
-1

are only notations!
4
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: Z
p
denotes {0,1,...,p-1}. We define + and as
the addition and multiplication modulo p
respectively.

One can prove that (Z
p
,+,) is a field iff p is prime.
Throughout the presentations well usually refer
to Z
p
when well mention finite fields.
5
Strings & Functions (1)
Let o = o
0
o
2
. . . o
n-1
, where o
i
eE.
We can describe the string o as a function o :
{0n-1} E, such that i o(i) = o
i
.

Let f be a function f : D R. Then f can be
described as a string in R
|D|
, spelling fs value
on each point of D.
6
Strings & Functions - Example
For example, let f be a function f : Z
5
Z
5
, and let E = Z
5
.

=
1 4
4 3
4 2
1 1
0 0
) (x f
" 01141 " = o

2
) ( x x f =
7
1001110
Introduction to Error Correcting
Codes
Motivation:
communication line
original
message
1001110
received
message
1101110 1
noise
Wed like to still be
able to reconstruct
the original message
8
Error Correcting Codes
Def (encoding): An encoding E is a function E :
E
n
E
m
, where m >> n.

Def (code word): A code word w is a member of
the image of the encoding E : E
n
E
m
.

Def (o-code): An encoding E is an
o-code if o=teE
n
A(E(o),E(t)) > 1 - o, where
A(x,y) (the Hamming distance), denotes the
fraction of entries on which x and y differ.
Note that A:E
m
E
m
R
+
is indeed a distance
function, because it satisfies:
(1) x,yeE
m
A(x,y)>0 and A(x,y)=0 iff x=y
(2) x,yeE
m
A(x,y)=A(y,x)
(3) x,y,zeE
m
A(x,z)sA(x,y)+A(y,z)
9
Example a simple error
correcting code
011
: 3
=
=
o
n
Consider the following code: for every oeE
n
, let
E(o,k)=o^k (the same word repeated k times, hence
m=kn).

E(o,4)

11 0110110110 ) 4 , ( = o E
10
Example a simple error
correcting code
Because every two words o=teE
n
were different on at
least one coordinate to begin with, the distance of the
code (1-alpha) is:
n kn
n k
k y E k x E
y x
n
1 ) 1 (
1 1 )) , ( ), , ( (
:
=

> > A
E e =
o
11
Example a simple error
correcting code
AE > 1-o=1/n
D R
12
Reed-Solomon codes
We shall now use polynomials over finite fields to build a
better generic code (larger distance between words)

=
=
1
0
) (
r
j
j
j
x a x P
Note: A polynomial
whose degree-bound is
r is of degree at most
r-1 !
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 coefficients a
0
,...,a
r-1
eF.
The natural number r is called the degree-bound of the
polynomial.
13
Reed-Solomon codes
Thm :
Given x
0
,y
0
,...,x
r-1
,y
r-1
eF there is a single univariate
polynomial P and degree-bound r, which satisfies
0sksr-1 P(x
k
)=y
k

Existence: We shall build such a polynomial using
Lagranges formula:
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!
14
Reed-Solomon codes
Lets check the value of
this polynomial in x = x
t

for some 0 s t s r-1:
Since the degree-bound
of 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
k
k j
j k
k j
j
k
x x
x x
y x P

[
[

=
=
=

=
1
0
) (
) (
) (
r
k
k j
j k
k j
j t
k t
x x
x x
y x P
|
|
|
.
|

\
|

+
|
|
|
.
|

\
|

=
[
[

[
[
=
=
=
=
=
t j
j t
t j
j t
t
t k
k j
j k
k j
j t
k t
x x
x x
y
x x
x x
y x P
) (
) (
) (
) (
) (
0 y
t

[
[

=
=
=

=
1
0
) (
) (
) (
r
k
k j
j k
k j
j
k
x x
x x
y x P
15
Reed-Solomon codes
Def (the Reed-Solomon code):

Set F to be the finite field Z
p
for some prime p, and
assume for simplicity that
E = F and m = p.

Given oeE
n
, let E(o) be the string of the function f
o
: F
F that satisfies:
f
o
is the unique polynomial of degree-bound n such
that f
o
(i) = o
i
for all 0 s i s n-1.
16
Reed-Solomon codes
E(o) can be interpolated from any n points.

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

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

17
Reed-Solomon codes
p = m = 5, n = 2
o = 1, 2 t = 3, 1
f
o
(x) = x + 1 f
t
(x) = 3x + 3
E(o) = 1, 2, 3, 4, 0 E(t) = 3, 1, 4, 2, 0
18
Strings & Functions (2)
We can describe any string as a function f:H
d
H (H is a finite field, d is a positive
integer).
Given a oeE
n
well achieve that by choosing
H=Z
q
, where q is the smallest prime greater
than |E|, and d=log
q
n(.
19
Reed-Muller Codes
Def (multivariate polynomial): Let F be a field and let d
be some positive integer number. A function p:F
d
F
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{ i
0
++i
d-1
: a
i
0

i
d-1
=0 }.

=
1
0
1
0
1 0 ,..., 1 0
0 1
1 0
1 0
... ... ) ,..., (
h
i
h
i
i
d
i
i i d
d
d
d
x x a x x p
20
Error correcting Codes
Home Assignment
Weve seen that Reed-Solomon codes using
polynomials with degree-bound r have distance
of:

Next
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)?
m
n 1
1

21
Low Degree Extension (LDE)
Def: (low degree extension): Let o : H
d
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 o to
F as a polynomial LDE
o
: F
d
F which
satisfies:

- LDE
o
agrees with o on H
d
(extension).
- The degree-bound of LDE
o
is |H| in each
variable (low degree).
22
Low Degree Extension (LDE)
Goal: To be able to find the value of an
LDE in any point (set of points) of F
d
.

LDE

x LDE(x)
23
Low Degree Extension (LDE)



x LDE(x)
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
24
Low Degree Extension (LDE)



x LDE(x)
the value of the
LDE in every point
in F
d

Second approach:
Represent the LDE by its values in the points of F
d
.
Now we only need access to one variable (log|F| 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.
25
Consistent Readers
In the upcoming lectures well see how to
build readers which:
access only a small number of the
variables each time.
detect inconsistency with high
probability.

S-ar putea să vă placă și