Document

advertisement
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 1’s to 0’s -- 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 0’s to 1’s.
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 
i0  
R
-
Vn (k;R)
R
k
i0
 
=  i 
Sphere-Covering Lower Bound (Constant Radius)
Theorem (Symmetric Sphere-Covering Bound).
2n

K(n,R) 
Vn (R)
2n
 2n 
  R 
R
n
n 

 
i0  i 
Theorem (Asymmetric Sphere-Covering Bound).
n
 
k
n
 
n
n
n
k


2




K+(n,R)    R
R k
k  0 V (k  R; R)
k 0
n 
n

 
i0  i 
Proof.
n
(
There are 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
Let’s 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: What’s 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 μ0*(R) and
μ*(R). Van Vu has given an upper bound of cR log R for both.
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
Download