On Nov 14, 2007 1:44 PM, Lavergne Thomas <[EMAIL PROTECTED]> wrote: > Let elaborate a little more on this. We want one number for each cells : > nums = {n1, n2, n3, ..., n81} > > And we want the following properties : > > for any a, b in nums : > (a + b) / 2 is in nums --> a == b > for any a, b, c in nums : > (a + b + c) / 3 is in nums --> a == b == c > for any a, b, c, d in nums : > (a + b + c + d) / 4 is in nums --> a == b == c == d
If you want to make use of the pseudoliberty count, yes. My solution doesn't make use of that, and satisfies the stronger property: 0 <= a_i <= 4 and sum a_i * n_i is in 1*nums union 2*nums union 3*nums union 4*nums => only one a_i is nonzero. > If we have this we are sure to don't have problems like you pointed. > Using brute force search, I've produced the following sequence of > numbers : > ... > 148912497, 156351446, 168096257, 176942297, 194310098, 211199842] > This sequence is not the best you can found, but it was quick to > generate... indeed, it's possible with much smaller numbers. > But now we have another problem... We have the sum of the number of the > pseudo libertyes of a chain, and we can compute (sum / nb_plibs) but > next we have to check if the resulting number is in the list. > And the second problems is that this solution doesn't scale well. On > 19x19 you need 361 numbers in your list, so even if you find a list like > this, I doubt that you can sum up the value of all the pseudo liberties > of a big group without overflowing an unsigned and you have to switch > to bigger int like int 64. > So I think John was suggesting something different in his first mail, > but I still search what it can be... > Does anyone have an idea ? you might try to encode the x and y coordinate of a point separately... regards, -John _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/