[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] atari_atari patch
From: |
Gunnar Farneback |
Subject: |
Re: [gnugo-devel] atari_atari patch |
Date: |
Sun, 30 Mar 2003 12:38:21 +0200 |
User-agent: |
EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7 (sparc-sun-solaris2.7) (with unibyte mode) |
Evan wrote:
> OK, I'll work on that. Defending tactically critical enclosing strings
> made sense to me as a general thing, but I think you're right that it will
> help with speed.
I don't think it really makes sense generally. To begin with we don't
want to include uninteresting tactical defenses like filling an
unimportant ko or saving a small string without strategical
importance. This could to some extent be helped by excluding strings
which were tactically unstable at the start of the atari_atari
reading. The second problem is that tactical defenses fairly often
are not strategically viable, reaching five liberties but no potential
for eyes. Especially stones played in the atari_atari attack sequence
can often be saved tactically without gaining life, unless a
substantial opponent string is captured in the process.
> Oops, looks like I forgot to remove those once it worked. Oh, is
>
> for (k = BOARDMIN; k < BOARDMAX; k++) {
> if (k != find_origin(k))
> continue;
>
> the recommended way to loop over all strings?
No, find_origin() is only valid to call for stones. The usual
formulation would be
for (k = BOARDMIN; k < BOARDMAX; k++) {
if (!IS_STONE(board[k]) || k != find_origin(k))
continue;
/Gunnar