[Top][All Lists]

[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, 25 Oct 2001 21:25:10 +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

- new fields owl_attack_code and owl_defense_code in struct dragon_data
- revised definition of WEAK and WEAKLY_ALIVE dragons in make_dragons()
- revised computation of size of surrounding moyo for a dragon
- 1D revisions
- add_attack_move() and related functions also take the result code as
- new move reasons ATTACK_MOVE_GOOD_KO, ATTACK_MOVE_BAD_KO, and so on
- move valuation distinguishes between attacks, defenses, owl attacks
  and owl defenses with or without ko
- connection moves tested whether they work as owl defenses when
  connecting an owl critical dragon to something else
- revised valuation of threats and strategical attacks
- compute_eyes_pessimistic() revised
- owl_determine_life() revised
- new static function compute_aa_status() broken out of three
  atari_atari functions
- tuning
- connection tuning
- owl tuning
- joseki tuning
- new and revised regression tests

The most important change is that the move valuation takes ko results
into account. This is implemented differently from Dan's patch and
also includes owl attacks and defenses.

There are two other significant changes. One is that the computation
of the size of the moyo surrounding a dragon has been revised.
Previously this was systematically too large for opponent dragons
adjacent to a critical friendly dragon. This was bad because it caused
an overestimation of the safety of the opponent dragon and
consequently an undervaluation of saving the critical dragon.

Second is that moves connecting an owl critical dragon to something
else are also tested whether they work as owl defenses. This solves
the test cases trevor:171 and trevor:190 plus possibly some more.

Both these two changes makes the owl reading become more busy and I
think noticably slows down the engine. This is a problem, but at this
time I think we can accept this in exchange for strength. We will need
to do some performance tuning later and then we can decide whether
it's possible to speed up the owl code sufficiently or if we need to
turn something off.

The regressions are looking mostly good. There are some failures, but
neither of those indicate that new bugs have been introduced. Most of
the failures turned up from the change to the moyo computation, where
instead of just assuming a dragon being safe the owl code was run, and
made a mistake.

The current run of the regressions has so far given the results

./ . owl.tst
215 unexpected PASS!
./ . neurogo.tst
14 unexpected PASS!
17 unexpected PASS!
24 unexpected PASS!
./ . arb.tst
220 unexpected PASS!
./ . rosebud.tst
1 unexpected PASS!
./ . strategy2.tst
65 unexpected FAIL: Correct 'M17', got 'L13'
72 unexpected FAIL: Correct 'A8', got 'H2'
81 unexpected FAIL: Correct 'E13|D13', got 'B12'
./ . nicklas1.tst
203 unexpected PASS!
501 unexpected PASS!
811 unexpected PASS!
1216 unexpected PASS!
1406 unexpected PASS!
1603 unexpected FAIL: Correct 'B4', got 'C5'
./ . nicklas2.tst
1401 unexpected PASS!
1802 unexpected FAIL: Correct 'E2', got 'D5'
./ . nicklas5.tst
1202 unexpected PASS!
./ . manyfaces.tst
5 unexpected PASS!
./ . niki.tst
3 unexpected PASS!
5 unexpected FAIL: Correct 'S9|S10', got 'S14'
./ . trevor.tst
7 unexpected PASS!
171 unexpected PASS!
180 unexpected PASS!
190 unexpected PASS!

and is continuing with tactics.tst. Based on a previous run the rest is
expected to give

./ . strategy3.tst
126 unexpected PASS!
./ . global.tst
31 unexpected PASS!
./ . strategy4.tst
178 unexpected FAIL: Correct 'P4|P3', got 'E2'
180 unexpected FAIL: Correct 'Q8', got 'E2'
200 unexpected FAIL: Correct 'P6|P7|Q7', got 'S9'

If this holds, the grand sum will be 21 unexpected passes and 9
unexpected failures.

I'll await comments before I add this to CVS.


reply via email to

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