gnugo-devel
[Top][All Lists]
Advanced

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

[gnugo-devel] Patch splee 5.5.1b revised


From: SP LEE
Subject: [gnugo-devel] Patch splee 5.5.1b revised
Date: Wed, 22 Sep 2004 17:35:10 -0700

Finally I had time for my patch 5.5.1b which has been pending for long
time. I have minimized the modification so that the tuning is minimum.
The original break_chain3 is to find the chain with 3 liberties and
check the escape potentials through all the 3 liberties. Suppose a, b
and c are the resulting liberties of the chain after playing a stone in
turn on the 3 liberties, sorted in decending order. The original
function break_chain3_moves only adds break chain moves if b is less
than 4 (a>=b, b>=c).

My patch changes the above constraint to b less or equal to 4 and c<4.
Furthermore I have also added some constraints to let the chain breaking
stone not easy to be captured, unless it's a single stone.

Regression changes:

./regress.sh . arb.tst
203 unexpected FAIL: Correct 'T7', got 'N3'
./regress.sh . nngs.tst
370 unexpected PASS!
371 unexpected PASS!
./regress.sh . global.tst
22 unexpected FAIL: Correct 'F2', got 'J6'
./regress.sh . 13x13.tst
39 unexpected FAIL: Correct 'H4|J4', got 'J5'
./regress.sh . owl1.tst
263 unexpected PASS!
./regress.sh . nngs4.tst
420 unexpected FAIL: Correct 'G6', got 'F4'
./regress.sh . ninestones.tst
370 unexpected PASS!
./regress.sh . 9x9.tst
210 unexpected PASS!

Totally 4 fails and 5 passes. However, the passes are more impressive
than fails, refer to the comments in the .tst file:

# W misses break-chain (I think!?!) -tm
loadsgf games/nngs/Lazarus-gnugo-3.1.17-200112301450.sgf 82
371 attack R5
#? [0]*

# Extremely bad misread. (Made GNU Go play at L9 with the last move
before
# that position.)
loadsgf games/wing-yuhiko-gnugo.sgf 115
263 owl_defend M13
#? [1 R11]*

On the other hand, most of the regression fails are debatable. I'll put
the detailed explaination below.

arb:203

12 . O . . O . . . O . . O O O O O O . O 12
11 O . . . . O . . . . . . . . . O X O . 11
10 X O O + O X O O . + . . . . . O X X O 10
 9 X X O . O X X O . . . . O . O O X . X 9
 8 . X O O O X . X O O . . O O X O X . X 8
 7 . X X X X . . X X . O O X X . X . X . 7
 6 . . . . X X X . . X X X O X X X X O O 6
 5 . . X . . O . . . . X O O O O O O X . 5
 4 . . . X . . X . . X . X X X X O X X X 4
 3 . . . . . X O . X . . X . O O O O X . 3
 2 . . . . . . X . . O O . X O . O O O X 2
 1 . . . . . . . . . . . . X O X . O X . 1
   A B C D E F G H J K L M N O P Q R S T

This is a complicated situation with up to 6 ko's in the lower right
corner. I don't think gnugo can really handle this situation until some
time in the far future. T7 is a good move in that it makes the black
alive for sure and let white not easy to live. However, black is also
not dead even playing on N3. For example, B:N3,W:T1,B:T7,W:T3,B:T5. Or
B:N3,W:P7,B:R7,W:S8,B:T11. Both before and after patch, the ko_depth is
reached during tactical reading (attack n6). Surprisingly, the reading
code after patch generates less variations in this situation.

global:22

After the patch an extra tactical attack move is generated during owl
analysis, resulting in a similar situation as I mentioned in
http://lists.gnu.org/archive/html/gnugo-devel/2004-09/msg00238.html. In
another word, this patch reveals another weak point of gnugo.

13x13:39

8 . . . . . . . . . . . . . 8
7 . . . + . . + . . + X . . 7
6 . . . X . X X X . . . X . 6
5 . . . . . X O O . . O O X 5
4 . . X + O O X . . O . . O 4
3 . X . O . . . X X O . . . 3
2 . . O . . . . X O O . . . 2
1 . . . . . . . . . . . . . 1
  A B C D E F G H J K L M N

The move J5 is clearly better than H4 or J4, in my opinion. The black
group on lower side has no chance to live.

nngs4: 420

12 . . X O . . . . . . . . . . . . O . . 12
11 . . X O . . . . . . . . . . . . O X . 11
10 . . X X . X . . . + . . . . . + X . . 10
 9 . . . . . . . X . . . . . . . . . . . 9
 8 . . . . . O O X . . . . . . . . . . . 8
 7 . . X . X O X O O . . . . . . . . . . 7
 6 . . . . O X . X . O X . . . X . X . . 6
 5 . . . O . X . . X O . . . . . . . . . 5
 4 . . . + O . O . X + O . . . . O . X . 4
 3 . . O . . . . . . . . . . O . O X . . 3
 2 . . . . . . . . . . . . . . . . . . . 2
 1 . . . . . . . . . . . . . . . . . . . 1
   A B C D E F G H J K L M N O P Q R S T

G6 makes an ineffient shape of black. Although black can then catch 3
white stones, the black group doesn't have 2 eyes and has to catch the 3
stone in the end game. The newly generated move F4 is interesting in
that black is threatening to catch G4 (for example
B:F4,W:G6,B:G5,W:G7,B:F3), which is larger than the 3 white stones. I
don't think there is any misreading here.

Any comments and suggestions are welcome.


SP Lee


begin 666 RDpatch.dat
address@hidden(')E861I;F<N8PT*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0T*4D-3
M(&9I;&4Z("]C=G-R;V]T+V=N=6=O+V=N=6=O+V5N9VEN92]R96%D:6YG+F,L
address@hidden<F5T<FEE=FEN9R!R979I<VEO;B Q+C$U,@T*9&EF9B M=2 M<C$N,34R
M(')E861I;F<N8PT*+2TM(')E861I;F<N8PDX(%-E<" R,# T(#$W.C S.C0R
M("TP,# P"3$N,34R#0HK*RL@<F5A9&EN9RYC"3(R(%-E<" R,# T(#$W.C0W
M.C4Q("TP,# P#0I 0" M,S address@hidden,P.2PW($! #0H@"0D):6YT(&-O;&]R
M+"!C;VYS="!C:&%R("IF=6YC;F%M92P@:6YT(&MI;&QE<BD[#0H@<W1A=&EC
M(&EN="!S:6UP;&5?;&%D9&5R7V1E9F5N9"AI;G0@<W1R+"!I;address@hidden
M.PT*('-T871I8R!I;G0@:6Y?;&ES="AI;G0@;6]V92P@:6YT(&YU;5]M;W9E
M<RP@:6YT("IM;W9E<RD[#0HK<W1A=&EC(&EN="!I<U]S:6YG;&4H:6YT('!O
M<RP@:6YT(&-O;&]R*3L-"B -"B -"B O*B!3=&%T:7-T:6-S+B J+PT*0$ @
M+30V,30L-B K-#8Q-2PQ-"! 0 T*(" @("!M;W9E<RT^<V-O<F5;:UT@/2 M
M,CL-"address@hidden<W1A=&EC(&EN= T**VES7W-I;F=L92AI;G0@<&]S+"!I
M;address@hidden;W(I#0HK>PT**R @:address@hidden"AB;V%R9%M33U542"AP;W,I72 A/2!C
M;VQO<BD@)address@hidden&)O87)D6T5!4U0H<&]S*5T@(address@hidden;W(I("8F#0HK(" @
M(" @*&)O87)D6U=%4U0H<&]S*5T@(address@hidden;W(I("8F("AB;V%R9%M.3U)4
M2"AP;W,I72 A/2!C;VQO<BDI#0HK(" @(')E='5R;address@hidden"BL@(')E='5R
M;address@hidden"address@hidden@+RH-"B @*B H<W1R*2!P;VEN=',@=&address@hidden<F]U
M<"X-"D! ("TT-C4T+#,T("LT-C8S+#8Q($! address@hidden@(" @("\J($EF('1H
M92 S(&QI8F5R='address@hidden:address@hidden:6QY(&-A;address@hidden>2!T:')O=6=H
M(&]N92!O9B!T:&4-"B @(" @("H@;&EB97)T:65S+"!W92!D;VXG="!P;&%Y
M(&]N(&%N>2!O9B!T:&4@;W1H97(@;&EB97)T:address@hidden @(" @*B!4:&4@
M:&5U<FES=&EC(&9O<B B96%S:6QY(')U;B!A=V%Y(B!I<R!D969I;F5D(&%S
address@hidden @(" @*B Q+B!0;&%Y:6YG(&]N(&%N>2!O9B!T:&4@,R!L:6)E<G1I
M97,@;address@hidden&AE(&-H86EN(&%N9"!T:&4@<F5S=6QT:6YG#0HK(" @(" J(" @
M(&YU;6)E<B!O9B!L:6)E<G1Y(&]F('1H92!C:&%I;B!W:6QL(&)E(&QE<W,@
M=&AA;B T+B!/<@T**R @(" @*B R+B!0;&%Y:6YG(&]N('1H92 S(&QI8F5R
M=&EE<R!I;B!T=7)N('=I;&P@<F5S=6QT:6YG(&address@hidden @(" @*B @(" T
M(&]R(&UO<F4@;&EB97)T:65S+" T(&]R(&QE<W,@;&EB97)T:65S(&%N9"!L
M97-S('1H86X-"BL@(" @("H@(" @-"!L:6)E<G1I97,N($EN('1H:7,@8V%S
M92!W92!O;FQY('1R>2!O;address@hidden)E86MI;F<@8VAA:6X@;6]V90T**R @(" @
M*B @("!O;B!T:&4@<&]S:71I;address@hidden:"!E<V-A<&4@<&]T96YT:6%L(&]F
M(#0@;W(@;6]R92!L:6)E<G1I97,N#0H@(" @(" J+PT*(" @("!L:6(Q(#T@
M87!P<F]X;&EB*&QI8G-;,%TL(&]T:&5R+" T+"!.54Q,*3L-"B @(" @;&EB
M,B ](&%P<')O>&QI8BAL:6)S6S%=+"!O=&AE<address@hidden"address@hidden,3"D[#0HM(" @
M(&EF("AL:6(Q(#X](#0@)B8@;&EB,B ^/2 T*0T*+2 @(" @(&-O;G1I;G5E
M.PT*(" @("!L:6(S(address@hidden<F]X;&EB*&QI8G-;,ETL(&]T:&5R+" T+"!.
M54Q,*3L-"B -"BT@(" @:address@hidden"AL:6(Q(#X](address@hidden'P@;&EB,B ^/2 T*2 
F
M)B!L:6(S(#X](#0I#0HM(" @(" @8V]N=&EN=64[#0HM#0H@(" @(&EF("AL
M:6(Q(#X](#0@)B8@(6UW6VQI8G-;,%U=*2![#0HM(" @(" @;7=;;&EB<ULP
M75T@/2 Q.PT*+2 @(" @('!O<W-I8FQE7VUO=F5S6W4K*UT@/2!L:6)S6S!=
M.PT**R @(" @(&EF("@H;&EB,B \/2 T("8F(&QI8C,@/" T*2!\?" H;&EB
M,R \/2 T("8F(&QI8C(@/#0I*0T**R @(" @('L-"BL@(" @(" @address@hidden
M('1H92!S869E='D@;address@hidden&AE(&)R96%K:6YG(&-H86EN(&UO=F4L#0HK(" @
M(" @(" J('1H92!M;W9E(&UU<address@hidden@96ET:&5R(&$@<VEN9VQE('-T;VYE
M+"!O<B!A(')E<W5L=&EN9PT**R @(" @(" @*B!S=')I;F<@;address@hidden"!O<B!M
M;W)E(&QI8F5R=&EE<PT**R @(" @(" @*B\-"BL@(" @(" @(&EF("AI<U]S
M:6YG;&4H;&EB<address@hidden;W(I('Q\(&%P<')O>&QI8BAL:6)S6S!=+"!C
M;VQO<address@hidden"address@hidden,3"D@/B S*0T**R @(" @(" @>PT**R @(" @(" @("!M
M=UML:6)S6S!=72 ](#$[#0HK(" @(" @(" @('!O<W-I8FQE7VUO=F5S6W4K
M*UT@/2!L:6)S6S!=.PT**R @(" @(" @?0T**R @(" @('T-"B @(" @("!C
M;VYT:6YU93L-"B @(" @?0T*(" @(" -"B @(" @:address@hidden&QI8C(@/address@hidden" 
F
M)B A;7=;;&EB<ULQ75TI('L-"BT@(" @("!M=UML:6)S6S%=72 ](#$[#0HM
M(" @(" @<&]S<VEB;&5?;6]V97-;=2LK72 ](&QI8G-;,5T[#0HK(" @(" @
M:address@hidden"AL:6(Q(#P](#0@)B8@;&EB,R \(#0I('Q\("AL:6(S(#P](#0@)B8@
M;&EB,2 \-"DI#0HK(" @(" @>PT**R @(" @(" @:address@hidden&ES7W-I;F=L92AL
M:6)S6S%=+"!C;VQO<address@hidden'address@hidden<F]X;&EB*&QI8G-;,5TL(&-O;&]R+" T
M+"!.54Q,*2 ^(#,I#0HK(" @(" @("![#0HK(" @(" @(" @(&UW6VQI8G-;
M,5U=(#T@,3L-"BL@(" @(" @(" @<&]S<VEB;&5?;6]V97-;=2LK72 ](&QI
M8G-;,5T[#0HK(" @(" @("!]#0HK(" @(" @?0T*(" @(" @(&-O;G1I;G5E
M.PT*(" @("!]#0H@(" @( T*(" @("!I9B H;&EB,R ^/2 T("8F("%M=UML
M:6)S6S)=72D@>PT*+2 @(" @(&UW6VQI8G-;,EU=(#T@,3L-"BT@(" @("!P
M;W-S:6)L95]M;W9E<UMU*RM=(#T@;&EB<ULR73L-"BL@(" @("!I9B H*&QI
M8C(@/address@hidden" 
F)B!L:6(Q(address@hidden"address@hidden'address@hidden&QI8C$@/address@hidden" 
F)B!L:6(R(#PT
M*2D-"BL@(" @("![#0HK(" @(" @("!I9B H:7-?<VEN9VQE*&QI8G-;,ETL
M(&-O;&]R*2!\?"!A<'!R;WAL:6(H;&EB<address@hidden;W(L(#0L($Y53$PI
M(#X@,RD-"BL@(" @(" @('L-"BL@(" @(" @(" @;7=;;&EB<ULR75T@/2 Q
M.PT**R @(" @(" @("!P;W-S:6)L95]M;W9E<UMU*RM=(#T@;&EB<ULR73L-
M"BL@(" @(" @('T-"BL@(" @("!]#0H@(" @(" @8V]N=&EN=64[#0H@(" @
M('T-"B -"BL@(" 
@:address@hidden&QI8C$@/address@hidden"!\?"!L:6(R(#X](address@hidden'P@;&EB
M,R ^/2 T*0T**R @(" @(&-O;G1I;G5E.PT**PT*(" @(" O*B!.;R!E87-Y
M(&address@hidden')Y(&%L;"!L:6)E<G1I97,N("HO#0H@(" @(&9O<B H:R ]
M(# [(&L@/" S.R!K*RLI('L-"B @(" @("!I9B H(6UW6VQI8G-;:UU=*2![
"#0H`
`
end






reply via email to

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