gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] mixed patch


From: Gunnar Farneback
Subject: [gnugo-devel] mixed patch
Date: Thu, 18 Oct 2001 21:19:47 +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)

I've put up a patch with mixed contents at
http://www.lysator.liu.se/~gunnar/gnugo/patches/gunnar_1_11.6.gz

- 1D revisions of optics.c
- new function owl_proper_eye() and autohelper with the same name
- valuation of uncertain owl defense moves revised
- evaluate_diagonal_intersection() revised
- new pattern class b in owl_defendpats.db
- handling of same_dragon field in struct owl_data revised
- do_atari_atari() revised
- bugfixes in make_worms()
- tuning, owl tuning, eye tuning
- more regression test revisions

The revision of "same_dragon" in the owl code may require some
introduction. To keep the necessary focus, the owl code keeps track of
something called the goal, and it's required that some stone in a
pattern is part of the goal before it can be matched. Initially this
is the stones of the dragon under examination. When additional
defending stones are played, it's necessary to add these stones to the
goal and also stones they are in contact with. This is done by the
owl_update_goal() function. However, some defense patterns play stones
not in direct contact with the goal dragon, e.g. by cutting the
encircling stones. In those cases we can't add the played stone to the
goal because then it may well happen that the defender runs away with
the cutting stone and forgets about the relevant dragon.

In order to detect this, such patterns have the classification B in
owl_defendpats.db. A problem however, is that some B patterns suggest
moves which may or may not be connected with the dragon. This happens
for example in test case trevor:370, where owl_defend starts with F8,
a move suggested by a B pattern. After that white can't find any more
move and black is declared dead with only a single eye in the corner.
This particular problem can be solved in more than one way, but the
one I chose was to introduce a new pattern class b, where the code in
owl_update_goal() is allowed to make a closer examination whether to
include the last stone in the goal, using superstring technology.
Most, but not all, of the old B patterns have been converted to b
patterns. 

The revision of do_atari_atari solves test case arb:232.

The bugfixes in make_worms() stop detection of bogus ko attack and
defense points. This primarily fixes test case trevor:420 but probably
solves quite a few more ones.

I've added this patch to CVS.

/Gunnar



reply via email to

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