[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Groups, liberties, and such
drd@xxxxxxxxxxxxxxxxx a écrit :
When a move connects 2 strings, isn't it easy and fast to calculate
the liberty count of the newly combined string?
That doesn't work because the 2 strings may have common liberties far
away from the connecting stone.
new_count = old_string_A_count + old_string_B_count - 1 + LNC.
LNC means Liberties Not in Common. For the newly placed stone (that does
the connecting), we look at the 4 neighbor points. If they are empty,
we tally 1 if they are not liberties of EITHER of the OLD strings.
This idea is easily extended for connections of 3 or 4 groups.
When connecting 2 groups, you would have to look at 6 points at most,
the 2 possible new liberties, and the 3 possible points around these new
liberties to check if they touch the old group.
computer-go mailing list