[ut.theory] A problem

arvind@utcsri.UUCP (04/10/87)

From: "VICTOR S. MILLER" <VICTOR@ibm.com>
Subject: A problem
     
Does anyone know anything about the following problem?
     
Inputs:
   A positive integer m, written in unary.
and a residue a mod m
     
Outputs:
   Call a subset S of Z mod m a-good if the sum of no non-empty subset
of S is = a.  The output is to be the cardinality of the largest good
subset (in the first version), or one such subset (in the second version).
Questions:
     
given a subset S is there a short proof that it is good (more
specifically, is the first problem in NP)?  Is there a good algorithm
(for either version).
     
Notes:
     
1) If a is relatively prime to m, then it is easy to show that there is
a good set of cardinality at least 2*r+1, where r is the integer
satisfying r**2-r <= 2*m-4 < r**2+r.  This value is about sqrt(2*m).
Namely we can obviously multiply everything by anything invertible mod
m, so that we can take a=m-1.  Take the subset S to be integers (or
residue classes) -k through k. Then any sum will be bounded in absolute
value by k*(k-1)/2 (the factor of 2 due to Don Coppersmith).
     
2) If l is a prime dividing m and a is relatively prime to l, then the
subset consisting of all residues divisible by l is a-good.  Thus, in
this case the cardinality is at least m/l.
     
3) How many a-good subsets are there of a given cardinality?