Sie sind auf Seite 1von 15

Probabilistic Methods in Coding Theory:

Asymmetric Covering Codes


Joshua N. Cooper
UCSD Dept. of Mathematics

Robert B. Ellis
Texas A&M Dept. of Mathematics

Andrew B. Kahng
UCSD Dept. of Computer Science and Engineering

Covering Codes
Definition: A code is a subset of the set of binary n-strings. The
(Hamming) distance d(S,T) between two strings S and T is the
number of coordinates at which they differ.

Definition: A covering code of radius R is a code C such that,


for any binary n-string S, d(S,c) <= R for some element c
in C. We use the convention that R will always be as small
as possible.

Compression
WANT: 1010
USE: 1110
ID: 00

00

01

10

11

Asymmetric Loss
What if only certain types of loss are allowed? For example,
we can prohibit changes from 1s to 0s -- invalidating the
1010 -> 1110 change from before.
Definition: An asymmetric covering code of radius R is a
code C such that, for any binary n-string S, there is some
element c of C which can be turned into S by flipping at
most R 0s to 1s.

Balls
Define the (asymmetric) ball of radius R about the vector
(string) x to be the set of strings reachable from the vector
x by changing at most R ones to zeroes.

A set of vectors is a asymmetric covering code of radius R iff the


balls centered at the codewords cover the n-cube (and R is the
smallest integer so that this is true).

Questions
How large is the smallest possible asymmetric
covering code of radius R on n bits? Call this
number K+(n,R).
Interesting cases:
1. R is constant.
2. n-R (the coradius) is constant.
3. Everything else.

Sphere-Covering Lower Bound: Ball Sizes


Size of symmetric ball: independent of ball center
Size of asymmetric ball: determined by weight of ball center

V3 (3;1) = 4

V3 (2;1) = 3

V3 (1;1) = 2

V3 (0;1) = 1

Definition. Vn(R):
size of symmetric ball of radius R in Qn
Vn (k;R): size of asymmetric ball of radius R about a point of weight k
n

Vn(R) = i
i0
R

Vn (k;R)

i 0 i
R

Sphere-Covering Lower Bound (Constant Radius)


Theorem (Symmetric Sphere-Covering Bound).

2n

K(n,R)
Vn (R)

2n
2 n
R
R
n
n


i 0 i

Theorem (Asymmetric Sphere-Covering Bound).


n

k

n
n
n
k
2 n

K+(n,R) R k n R
k 0 V (k R; R)
k 0
n


i 0 i

Proof.

There are

n
k

( ) vertices of weight k. Fix such a vertex.

Largest ball containing such a vertex is centered at level k+R


The vertex contributes at least 1/Vn- (k+R;R) to the size of K +(n,R).

Upper bounds?
How close can we come to the sphere-covering lower bound?
Theorem: The size of a minimal (symmetric) covering code of
constant radius R is (2n/nR).
The construction is linear, i.e., produces a code which is a linear
subspace of GF(2)n.
This is a problem, because the algebraic structure of Hamming
space shows no respect at all for the asymmetric covering relation.
In fact, minimal linear asymmetric covering codes turn out to be
HUGE, like (2n).

A Random Approach
Lets try choosing a set of codewords randomly. Let the
probability of picking a point x be proportional to log n divided by
the number of points which x covers.

Then, throw in anything we missed.


Result: A code of size (2n log n/nR). Close, but no cigar.

A Tool
For asymmetric covering codes C1 and C2, define the direct
sum to be all concatenations of strings from C1 and C2:

Proposition: C1 C2 is an asymmetric covering code of radius


R+S if C1 and C2 are asymmetric covering codes of radius R
and S, respectively, so, in particular,
K+(n+m,R+S) <= K+(n,R) K+(m,S).

A Random Approach (Reprise)


Write the cube as a product of two cubes of about the same
dimension.
1. Perform the previous random process on the first factor.
2. For each red point, put a full copy of the second factor in.
3. For each blue point, put an asymmetric covering code of
the second factor in. (I.e., induction!)

Did it help?
Theorem. K+(n,R) = (2n/nR).

Next question: Whats the constant?


Define *(R) = lim inf (K(n,R) * volume of R-ball / 2n)
= min symmetric redundancy factor.
Define 0*(R) = lim inf (K+(n,R) * average vol. of R-ball / 2n)
= min asymmetric redundancy factor.

?? Open Questions ??
This construction gives an exponential upper bound for (R) and
?
?
(R). Van Vu has given an upper bound of cR log R for both.
0

Conjecture. *(R) = 1 for all R.


But what is 0*(R)?
Question: Are there efficiently computable minimal asymmetric
covering codes?
Question: What is the order of K+(n,R) where R is not constant?
Question: What about the non-binary case?

Best Known Bounds


A single value appears if the bound is tight;
otherwise a range of values appears.

R\n
1

1
1

2
2

3
3

4
6

5
10

6
18

2
3
4
5
6
7
8
8
8

1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1

2
1
1
1
1
1
1
1
1

3
2
1
1
1
1
1
1
1

5
3
2
1
1
1
1
1
1

8
4
3
2
1
1
1
1
1

7
31

8
58

9
10
93162106
196
13-15 20-25 32-46 52-81
6-7
9-13 14-21 22-36
4
6
8-11 12-16
3
4
6
8-9
2
3
4
5
1
2
3
4
1
1
2
3
1
1
1
2
1
1
1
1

Das könnte Ihnen auch gefallen