January 30th, 2007, 10:16 am
Let (a_1, ... a_10) be the weight of the ball from jar 'i', a_i = 1 or 2.Let (b_1,... b_10) the number of balls chosen in each jar, chosen in [[0,10]].One is only allowed to know outcome of the function f(a,b) := Sum a_ib_i. If this function is not injective then we won't be able to determine the odd jars.Suppose that there exists i!=j such that b_i = b_j then Sum a_ib_i = Sum a'_ib_i with (a_i, a_j) = (2, 1) and (a'_i, b'_i) = (1,2) and a_k = a'_k for k not in {i,j}, that is 'f' is not injective. So a first constraint on (b_1,... b_10) is that all b_i are different, which yields to 11 choices (choose which number in [[0,10]] u discard). (C1)Now, there is an other constraint. Suppose that there exists (i,j,k,l), distinct such that b_i + b_j = b_k + b_l. Then (a) and (a') with a_i = a_j = 2 and a'_k = a'_l = 2, other a' and a fixed to 1, are indistinguishable, i.e. Sum a_pb_p = Sum a'_pb_p. (C2)For example, (b) = (1,2,3,... 10) doesn't satisfy (C2) as 1+4 = 2+3, so you can't have {1,2,3,4} at the same time, {0,1,2,3} doesn't work either. In fact, if there are 4 consecutive numbers it won't work. If you choose to discard i, if i > 3 then {0,1,2,3} won't allow 'f' to be injective. If i < 3 then {7,8,9,10} will rise trouble.Thus, it is easily seen that there doesn't exist (b) that satisfy (C1) and (C2). Subsequently, one has to allow b_j to take values in a bigger range than [[0,10]]. The solution is to cut the balls in 2, or 4 or more. If we have enough balls, then the solution should be obvious. Now, what is the minimum balls we need to have to be able to satisfy (C1) and (C2) ?Let's try one solution.{0,1,2}, 3 is not possible.{0,1,2,4} 5 doesn't workFinally {0,1,2,4,6,9,12,16,20,25} is a possible allocation (difference between consecutive terms 1 1 2 2 3 3 4 4 5 5 etc..Thus, I cut the balls in 3, obtaining 30 pieces of ball in each jar, and the problem becomes possible.Edit: Not proven that (C1) and (C2) satisfied imply 'f' injective. Edit: Indeed, that doesn't work. In fact one has to choose a sequence such that adding 2 numbers among previous one, can't be equal to the next + one of the previous. Let's try again.{0,1,2} -> choosing to add 2 numbers allow {1,2,3} as a sum, so 3 doesn't work (3+0 = 3){0,1,2,4} -> sum to {1,2,3,4,5,6} so 6 doesn't work.{0,1,2,4,7} -> {1,2,3,4,5,6,7,8,9,11}ok {0,1,2,4,7,12,20, 33, 54, 88} works. I cut in 9.
Last edited by
iwanttobelieve on January 29th, 2007, 11:00 pm, edited 1 time in total.