gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] owl:11


From: kevin yong
Subject: Re: [gnugo-devel] owl:11
Date: Thu, 10 Apr 2003 14:06:40 -0400 (EDT)

 --- Evan Berggren Daniel <address@hidden>
wrote: > I was looking through the owl test suites,
and
> noticed that owl:11
> performs very poorly.  Specifically, it uses 848943
> reading nodes, and
> only one owl node.  The reading nodes are used in
> evaluating the O6 eye
> (GTP command eval_eye O6 uses most of the reading
> nodes).
> 
> Is there a convenient way to trace what is going on
> in the optics code, eg
> an sgf trace?

Hi, Evan:

  i have been trying to figure out a way to trace
what's going in the reading.c process for while. it
has not been completed, but following are what i have
done:

  in general, i have been keep modify source code to
acheive what i need, i m not sure this is the right
direction at all.

  1. for each specific test case, ussually we have a
specific target (dragon/worm), and a specific move
position to exam. so, at the beginning of
make_worms(), i hard-coded something like:

  mainPos = zStrToLoc(board_size,"P5");
  mainPos1 = zStrToLoc(board_size,"P6");

  in a long term, these could be passed in as
parameters.

  2. inside worm.c find_worm_attacks_and_defenses(), i
insert:

    gprintf("worm.c find_worm_attacks_and_defenses,
considering defense of %1m\n", str); 
    mainPos2 = str;

  the usage of these is:

  3. inside board.c popgo(), i insert:

popgo()
{
  if (ZlastAct == TRY_MOVE) {
    if (mainPos2 == mainPos) {
          dump_stack();
    }
  }

  what these do is: it only dump_stack() when gnugo is
currently exam the target dragon we are interested.
and only print a complete variation list (no printout
at middle of series popgo() to retreat from a complete
variation). it cut the printout file size by 99%.
  
  4. inside reading.c, for each functions of
defend1,defend2,defend3,defend4,attack1,attack2,attack3,attack4,
at each of their return point:

  if (str == mainPos) {
    gprintf("defend2 for %1m, xpos=%1m,acode=%d\n",
str,xpos,acode);
  }

  then we know which function examed which pos, (it
can be found from the dump_stack), and what's the
result.

  i like to hear your comments about these.

  btw: i just installed cygwin, and i m runing a full
test suite before/after remove pattern CD106. i l get
the result back to you very soon.

best regards.

kevin.





______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca




reply via email to

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