gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

答复: [gnugo-devel] Patch suggest


From: 易野
Subject: 答复: [gnugo-devel] Patch suggest
Date: Fri, 22 Sep 2006 12:45:26 +0800

Hi,

On 9/21/06, George Zhong <address@hidden> wrote:
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 2552
 
    if (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.
 
but what is the last line (above) for?
'approxlib' certainly returns 0 for self-ataris stone and libs2[0] will remain the old value. 
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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]