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/

Reply via email to