gnugo-devel
[Top][All Lists]
Advanced

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

Re: [gnugo-devel] Dragon safety early in the game


From: bump
Subject: Re: [gnugo-devel] Dragon safety early in the game
Date: Fri, 30 Aug 2002 15:02:32 -0700

Arend wrote:

> I disagree about the fact it isn't used much. The strategic effect on
> a dragon is now computed basically as
> 
>       0.75 * dragon.effective_size * dragon2.weakness.
> 

The line where this 0.75 is assigned is line 2136 of
value_moves.c.

> E.g. in century2002:50, the weakness of E4 gets estimated as 0.72 (the
> weakness can range from 0.0 to 1.0). (This information is available with
> dragon_data E4 from GTP.) This looks reasonable to me.
> 
> The strategic effect of F7 on E4 is then computed as
> 0.75 * 10.13 (effective size) * 0.72 = 5.49.

One problem with this is that dragons with a larger effective
size are often safer.

In the same position the dragon at M15 has effective size size 14.79 and
weakness 0.82. Thus it gets a much larger strategic effect of 9.11. The
connection with N12 is overlooked, which may be part of the problem.

Here is a new testsuite which contains a few more safety tests.

Dan

This patch adds a new test safety.tst intended to address
GNU Go's lack of caution when a dragon starts to get surrounded.

These are early game positions in which defense of some friendly dragon is
urgent.  The dragon is not owl critical but becoming surrounded. Other tests
of this type include nngs:2000,2010,2020 and century2002:50.

- new test safety.tst


Index: Makefile.am
===================================================================
RCS file: /cvsroot/gnugo/gnugo/regression/Makefile.am,v
retrieving revision 1.45
diff -u -r1.45 Makefile.am
--- Makefile.am 27 Aug 2002 02:53:38 -0000      1.45
+++ Makefile.am 30 Aug 2002 17:00:09 -0000
@@ -8,9 +8,9 @@
        newscore.tst nicklas1.tst nicklas2.tst nicklas3.tst nicklas4.tst \
        nicklas5.tst niki.tst nngs.tst nngs1.tst nngs2.tst optics.tst \
        optics_rot.tst owl.tst owl1.tst owl_rot.tst reading.tst \
-       reading_rot.tst rosebud.tst score.tst score2.tst score_rot.tst \
-       semeai.tst semeai2.tst strategy.tst strategy2.tst strategy3.tst \
-       strategy4.tst strategy5.tst strategy_rot.tst tactics.tst \
+       reading_rot.tst rosebud.tst safety.tst score.tst score2.tst \
+       score_rot.tst semeai.tst semeai2.tst strategy.tst strategy2.tst \
+       strategy3.tst strategy4.tst strategy5.tst strategy_rot.tst tactics.tst \
        trevor.tst trevora.tst trevorb.tst trevorc.tst trevord.tst \
        vie.tst viking.tst
 
@@ -195,6 +195,9 @@
 rosebud: rosebud.tst
        $(srcdir)/eval.sh rosebud.tst $(GG_OPTIONS)
 
+safety: safety.tst
+       $(srcdir)/eval.sh safety.tst $(GG_OPTIONS)
+
 score: score.tst
        $(srcdir)/eval.sh score.tst $(GG_OPTIONS)
 
@@ -321,3 +324,4 @@
        $(srcdir)/regress.sh $(srcdir) auto03.tst $(GG_OPTIONS)
        $(srcdir)/regress.sh $(srcdir) auto04.tst $(GG_OPTIONS)
        $(srcdir)/regress.sh $(srcdir) auto_handtalk.tst $(GG_OPTIONS)
+       $(srcdir)/regress.sh $(srcdir) safety.tst $(GG_OPTIONS)
Index: Makefile.in
===================================================================
RCS file: /cvsroot/gnugo/gnugo/regression/Makefile.in,v
retrieving revision 1.62
diff -u -r1.62 Makefile.in
--- Makefile.in 27 Aug 2002 02:53:38 -0000      1.62
+++ Makefile.in 30 Aug 2002 17:00:09 -0000
@@ -88,9 +88,9 @@
        newscore.tst nicklas1.tst nicklas2.tst nicklas3.tst nicklas4.tst \
        nicklas5.tst niki.tst nngs.tst nngs1.tst nngs2.tst optics.tst \
        optics_rot.tst owl.tst owl1.tst owl_rot.tst reading.tst \
-       reading_rot.tst rosebud.tst score.tst score2.tst score_rot.tst \
-       semeai.tst semeai2.tst strategy.tst strategy2.tst strategy3.tst \
-       strategy4.tst strategy5.tst strategy_rot.tst tactics.tst \
+       reading_rot.tst rosebud.tst safety.tst score.tst score2.tst \
+       score_rot.tst semeai.tst semeai2.tst strategy.tst strategy2.tst \
+       strategy3.tst strategy4.tst strategy5.tst strategy_rot.tst tactics.tst \
        trevor.tst trevora.tst trevorb.tst trevorc.tst trevord.tst \
        vie.tst viking.tst
 
@@ -395,6 +395,9 @@
 rosebud: rosebud.tst
        $(srcdir)/eval.sh rosebud.tst $(GG_OPTIONS)
 
+safety: safety.tst
+       $(srcdir)/eval.sh safety.tst $(GG_OPTIONS)
+
 score: score.tst
        $(srcdir)/eval.sh score.tst $(GG_OPTIONS)
 
@@ -520,6 +523,7 @@
        $(srcdir)/regress.sh $(srcdir) auto03.tst $(GG_OPTIONS)
        $(srcdir)/regress.sh $(srcdir) auto04.tst $(GG_OPTIONS)
        $(srcdir)/regress.sh $(srcdir) auto_handtalk.tst $(GG_OPTIONS)
+       $(srcdir)/regress.sh $(srcdir) safety.tst $(GG_OPTIONS)
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
Index: safety.tst
===================================================================
RCS file: safety.tst
diff -N safety.tst
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ safety.tst  30 Aug 2002 17:00:09 -0000
@@ -0,0 +1,26 @@
+# These are early game positions in which defense of some friendly dragon is
+# urgent.  The dragon is not owl critical but becoming surrounded. Other tests
+# of this type include
+# nngs:2000,2010,2020
+# century2002:50
+
+loadsgf games/nngs/gnugo-3.3.6-xtc-200208301619.sgf 16
+1 gg_genmove white
+#? [R6|S2]
+
+loadsgf games/nngs/gnugo-3.3.6-xtc-200208301619.sgf 20
+2 gg_genmove white
+#? [Q7|P6|R7|S1|S5|R6|O5]
+
+loadsgf games/cgf2002/gnu-har.sgf 19
+3 gg_genmove black
+#? [H15|H16|G14|F13|C17]
+
+loadsgf games/cgf2002/gnu-har.sgf 21
+4 gg_genmove black
+#? [G14|E13|C17]
+
+loadsgf games/nngs/gnugo-3.1.27-GoFuN-200203080451.sgf 42
+5 gg_genmove white
+#? [K8|L9|L7]
+
Index: games/nngs/gnugo-3.3.6-xtc-200208301619.sgf
===================================================================
RCS file: games/nngs/gnugo-3.3.6-xtc-200208301619.sgf
diff -N games/nngs/gnugo-3.3.6-xtc-200208301619.sgf
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ games/nngs/gnugo-3.3.6-xtc-200208301619.sgf 30 Aug 2002 17:00:09 -0000
@@ -0,0 +1,50 @@
+(;GM[1]FF[4]
+SZ[19]HA[0]KM[0.5]
+PW[GnuGo (GNU Go 3.3.6)]WR[13k*]
+PB[xtc]BR[NR]
+PC[NNGS]DT[2002-08-30]AP[gnugoclient:2.0]
+RE[W+26.5]
+;B[pd];W[dp];B[pq];W[dd];B[qk];W[nc];B[pf];W[jd];B[jo];W[po];B[np]
+;W[qq];B[qr];W[qp];B[oq];W[nf];B[rn];W[rr];B[pr];W[nh];B[ph];W[qn]
+;B[ro];W[dj];B[nj];W[nn];B[mo];W[pm];B[rm];W[pk];B[rp];W[rq];B[qo]
+;W[lj];B[pp];W[pb];B[qb];W[qc];B[pc];W[rb];B[ob];W[qa];B[oc];W[ld]
+;B[nd];W[cf];B[mc];W[ec];B[cq];W[dq];B[cp];W[co];B[bo];W[cn];B[bn]
+;W[cm];B[dr];W[er];B[cr];W[fq];B[hq];W[bm];B[ar];W[jk];B[ml];W[oi]
+;B[oj];W[pj];B[pi];W[nl];B[ol];W[mm];B[pl];W[om];B[nk];W[ql];B[nm]
+;W[lm];B[qm];W[nl];B[rl];W[lc];B[mb];W[lb];B[mi];W[ji];B[mg];W[jg]
+;B[mf];W[hm];B[jm];W[re];B[kl];W[oo];B[ll];W[il];B[rf];W[qe];B[qf]
+;W[gp];B[ho];W[go];B[hn];W[gn];B[gr];W[md];B[ne];W[gh];B[jf];W[kf]
+;B[kg];W[kh];B[lg];W[if];B[je];W[ke];B[ie];W[he];B[id];W[ic];B[cc]
+;W[cd];B[bd];W[be];B[bb];W[ad];B[eb];W[db];B[fb];W[bc];B[hd];W[hc]
+;B[gd];W[gc];B[jc];W[kd];B[ig];W[jh];B[hf];W[fd];B[ge];W[hg];B[ih]
+;W[ii];B[hh];W[gg];B[fc];W[gb];B[fe];W[ed];B[hi];W[gi];B[hj];W[hl]
+;B[eg];W[dh];B[eh];W[ei];B[gk];W[sf];B[sg];W[se];B[rh];W[ma];B[nb]
+;W[an];B[ap];W[hp];B[ip];W[gq];B[ir];W[fr];B[hr];W[qd];B[pe];W[li]
+;B[mh];W[kk];B[jb];W[ib];B[ka];W[la];B[fm];W[fl];B[gl];W[gm];B[el]
+;W[dl];B[fk];W[ek];B[fj];W[ef];B[fi];W[ff];B[dg];W[ee];B[ch];W[di]
+;B[en];W[cg];B[bh];W[fh];B[do];W[ij];B[hk];W[dm];B[jl];W[ik];B[ep]
+;W[eq];B[kj];W[eo];B[fo];W[fn];B[em];W[ej];B[fl];W[gj];B[eo];W[dn]
+;B[lk];W[im];B[in];W[mj];B[lh];W[gs];B[hs];W[fs];B[mk];W[ki];B[ds]
+;W[fp];B[ck];W[cj];B[bj];W[bl];B[bk];W[dk];B[ci];W[ai];B[ag];W[bg]
+;B[ah];W[af];B[bi];W[nm];B[rs];W[pn];B[kn];W[pa];B[oa];W[me];B[ng]
+;W[lf];B[of];W[na];B[ao];W[am];B[bq];W[if];B[ig];W[ih];B[ha];W[ia]
+;B[ga];W[ea];B[];W[es];B[];W[]
+C[final_score: W+26.5
+G19 removed
+L19 removed
+B18 removed
+E18 removed
+K18 removed
+C17 removed
+G16 removed
+H14 removed
+A13 removed
+D13 removed
+J13 removed
+O12 removed
+P11 removed
+L10 removed
+Q10 removed
+O8 removed
+R4 removed]
+)





reply via email to

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