Abstract. We revisit two notions of difference between codewords, namely separation and the existence of small witnesses, and explore their links.
IntroductionLet Q be an alphabet of size q. A subset C of Q n with |C| = M is an (n, M ) q or (n, M )-code. Elements c = (c 1 , . . . , c n ) of C are codewords. Let R = R(C) = log q M/n denote the rate of C.Coding theory asks for codes (or sets) C such that every codeword c ∈ C is as "different" as possible from all the others. The usual requirement is a large minimum Hamming distance between codewords; the associated question is to determine the maximum size of such a code.We survey here two relaxations of this problem, namely, the notions of separation and witness, and their interplay.In the first one, separation, we look for some minimum distance between disjoint subsets of codewords (instead of merely -singletons of-codewords).In the second relaxation, dealing with the existence of a witness, we look for a small subset W ⊂ [n] of coordinates such that c differs from every other codeword in W . In other words, c can be singled out from all the other codewords by observing only a small subset of coordinates.We then establish links between some separating and witness codes and conclude with a few open problems.
SeparationAs an introductory illustration before the general case, consider hashing, central in Computer Science and Coding, see, e.g., [12] and its references.For a parameter t ≥ 2 a code C is called t-hashing if for any t distinct codewords c 1 , . . . , c t ∈ C there is a coordinate 1 ≤ i ≤ n such that all values cAn obvious necessary condition for the existence of a t-hashing family is q ≥ t; it turns out to be sufficient too (see [11], [22], [23], [29] for bounds on the rate of t-hashing families of growing length).An extension of hashing was introduced in [6].