[Top][All Lists]

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

Re: [gnugo-devel] tactics code cleanup

From: Gunnar Farneback
Subject: Re: [gnugo-devel] tactics code cleanup
Date: Mon, 02 Dec 2002 20:37:35 +0100
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:
> In many cases we only care about success or failure (eg when checking
> whether the attack move worked).  When called by the move generation or
> owl code, we are currently asking the wrong question.  What we really want
> is a list of all moves that attack or defend the string.

The move generation (partially through the worm code) goes to great
lengths at finding virtually all tactical attack and defense moves.
There's no way for the reading code itself to find all that

With the owl code and to some extent the connection code it's
different. We don't really want all tactical moves, just a few of the
best ones.

> Perhaps only getting some of them is a viable performance tradeoff,
> but I don't think we should count on attack() or find_defense()
> returning the best move; that would seem to be beyond the intent of
> the function, especially since "best" may be a changing criteria (eg
> if for move generation, we would prefer an attack that kills
> unconditionally instead of in a ladder; for owl code we prefer the
> attack that is also a vital point).

We do wish attack() and find_defense() to return at least a good move.
In particular they shouldn't return a pointless stalling move.

> I plan to write these functions at some point soon, unless there is
> a sense that they aren't so useful after all.

The connection code could use such functions, but it would have no use
for every move. Most interesting are alternative moves which defend by
attacking a neighbor string or attack by defending a friendly


reply via email to

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