The combinatorics of hidden diversity

Abstract In this paper, we study the following “balls in buckets” problem. Suppose there is a sequence B 1 , B 2 , … , B n of buckets having integer sizes s 1 , s 2 , … , s n , respectively. For a given target fraction α , 0 α 1 , our goal is to sequentially place balls in buckets until at least ⌈ α n ⌉ buckets are full, so as to minimize the number of balls used, which we shall denote by O P T α ( I ) for a given instance I . If we knew the size of each bucket, we could obtain an optimal assignment, simply by filling the buckets in order of increasing size until the desired number had been filled. Here we consider the case where, although we know n and α , we do not know the specific bucket sizes s i , and when we place a ball in bucket B j , we only learn whether or not the bucket B j is now full. We study what can be done under four variants of incomplete information: 1. We know nothing at all about the bucket sizes; 2. we know the maximum bucket size; 3. we know the sizes s 1 ≤ s 2 ≤ ⋯ ≤ s m that occur in the instance; and 4. we know the profile of the sizes: the size list as above, and, for each size, s i , the number k i of buckets that have that size, providing both algorithmic performance guarantees and lower bounds on the best that any algorithm can achieve. The game above showcases the rich variety of interesting combinatorial and algorithmic questions that this setup gives rise to, and in addition has applications in an area of cryptography known as secure multi-party computation , where taking over (“corrupting”) a party by an adversary has a cost, and where a hidden diversity —corresponding to lack of information on the amount of computational resources the adversary should invest to corrupt a participant—translates into robustness and efficiency benefits.