gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] Owl (performance) tuning


From: bump
Subject: Re: [gnugo-devel] Owl (performance) tuning
Date: Tue, 24 Dec 2002 07:17:19 -0800

I notice that in owl_attackpats.db Pattern 107 has this constraint:

Pattern A107
# gf Not on second line without known support. See trevora:290. (3.1.15)
# nn Added constraint (3.3.14)

....?         block on third line
Y.*.?
....?
....?
-----

:8,-,value(50)

....?
a.*.b
....?
....?
-----

; weak(a) || oarea(b)

This is the only occurrence of either of these autohelper
macros in the owl databases.

Here weak calls the function dragon_weak, which returns true
if DRAGON2(pos).weakness > 0.40001. But the stone at 'a'
might not even be on the board at the beginning of reading,
so consulting the dragon array is problematical. I notice
that dragon_weak contains this fixme:

  /* FIXME: This should not happen, but avoids a crash. What is
   *   the proper fix for calling this at stackp != 0 ?
   */
  if (dragon[pos].id < 0 || dragon[pos].id >= number_of_dragons)
     return 1;

It seems to me that this function should NOT be called when
stackp != 0.

The oarea(b) is a little better but still I think it takes
information from an array which is not updated during owl
reading.

These autohelper functions are therefore more correct when 
used in patterns.db than in the owl pattern databases.

Dan





reply via email to

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