[Top][All Lists]
[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
- [gnugo-devel] atari_atari patch,
Gunnar Farneback <=