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 i0 R - Vn (k;R) R k i0 = i Sphere-Covering Lower Bound (Constant Radius) Theorem (Symmetric Sphere-Covering Bound). 2n K(n,R) Vn (R) 2n 2n R R n n i0 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 i0 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