gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] atari_atari patch


From: Gunnar Farneback
Subject: [gnugo-devel] atari_atari patch
Date: Mon, 03 Dec 2001 22:14:25 +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)

I've put up an atari_atari patch at
http://www.lysator.liu.se/~gunnar/gnugo/patches/gunnar_1_16.4.gz

- confirm_safety() takes two new parameters telling which stones were
  supposedly saved by this move
- atari_atari_confirm_safety() revised
- compute_aa_status() revised
- new function is_vital_string() in combinations.c to keep track of
  stones which may not be sacrificed in a combination attack
- generation of attack moves in do_atari_atari uses patterns
- new pattern database pattern/aa_attackpats.db
- atari_atari_find_defense_moves() improved
- new functions get_saved_worms() and get_saved_dragons() in
  move_reasons.c
- new function move_reasons_confirm_safety()
- examine_move_safety() revised
- new function decide_combination() in sgfdecide.c
- new option --decide-combination
- new gtp command aa_confirm_safety
- new test cases in atari_atari.tst

This patch makes some significant changes related to the atari_atari
code. To begin with there's a new option --decide-combination which
can be used to produce sgf trees of the atari_atari reading. There's
also a new gtp command to run atari_atari_confirm_safety.

There are two main changes in the atari_atari code. One is that
atari_atari_confirm_safety() makes a better job and in particular
verifies that stones which are supposedly saved by the move can't be
lost in a combination sequence. The typical case of this is test case
strategy:103 where the move at A15 loses to a combination sequence,
but since the move is assumed to be quite big,
atari_atari_confirm_safety() didn't care about attacks on strings with
only a few stones, even though they were very central in the position.

The second change is that I've implemented a pattern matcher to
generate attack moves for atari_atari. This replaces the old hard
coded atari finder and the call to attack_threat(). However, the
pattern matcher is currently only enabled if you set

#define USE_ATARI_ATARI_PATTERNS 0

on line 200 of combination.c to 1. I'm already fairly certain that
this does a better job than the old attack move generation, though.
The atari_atari attack patterns are found in
patterns/aa_attackpats.db.

/Gunnar



reply via email to

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