Hi,
On 9/21/06, George Zhong <[EMAIL PROTECTED]> wrote:
It would be easier to read if you could generate a "diff", but this is also ok.
Actually, the point of this routine is to generate sacrifice moves that cause a shortage of liberty, so we DO want self-ataris here.
That hardly matters, as occupied intersections won't have any move reasons -- if they do, we may find a bug...
Arend
hi, there, I read out two code bugs from the source of 3.7.10, through I am not sure.As I do not install CVS, can I put report the way here?
It would be easier to read if you could generate a "diff", but this is also ok.
1.reading.c line 2552if (potential_move == NO_MOVE
|| !is_self_atari(potential_move, other))
continue;approxlib(potential_move, other, 1, libs2);amend:if (potential_move == NO_MOVE
|| is_self_atari(potential_move, other))continue;/* do not consider the move self atari, and it may return not liberty in 'libs2' */
approxlib(potential_move, other, 1, libs2);
Actually, the point of this routine is to generate sacrifice moves that cause a shortage of liberty, so we DO want self-ataris here.
2.value_moves.c line 3299/* Visit the moves in the standard lexicographical order */
for (n = 0; n < board_size; n++)
for (m = board_size-1; m >= 0; m--) {
pos = POS(m, n);move[pos].value = value_move_reasons(pos, color,
pure_threat_value, our_score,
use_thrashing_dragon_heuristics);
if (move[pos].value == 0.0)
continue;
amend:
/* Visit the moves in the standard lexicographical order */
for (n = 0; n < board_size; n++)
for (m = board_size-1; m >= 0; m--) {
pos = POS(m, n);if (board[pos]) continue;/* why not skip the intersection where there already occupied? */
That hardly matters, as occupied intersections won't have any move reasons -- if they do, we may find a bug...
Arend
_______________________________________________ gnugo-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnugo-devel

