[Computer-go] pachi2
Petr Baudis
pasky at ucw.cz
Thu Jan 13 04:49:51 PST 2011
Situation few moves later:
> . . . . . . . . . O # # Bottom left corner of 19x19 board
> . . # . . # . . . . O .
> . # # # # O O . . . . . Game with o1600seki 1d,
> . # O # O # O O O . O . played at 10:52 pm gmt yesterday
> # O O O O # # # # O . .
> . # . . . O . . . . . .
B1 F1 H1 J1
If anyone is interested (maybe it is a good showcase of issues with
semeai handling by static analysis), it is because when white descends
at J1 (which it seems to do with high probability), the Mogo-based 3x3
patterns immediately suggest black descends at H1. This makes sense when
black needs to immediately build an eye, which occurs more often (and
the black group has same number of liberties then!), but here it is an
instant death - since at that point, the 2-liberty semeai code triggers
and white will immediately take one of the remaining liberties.
The solution I have chosen here is extending my "is this bad self-atari"
check to also test if the move does not change 3-liberty group to a
2-liberty group that is easily proven to be capturable immediately.
This has helped somewhat in this situation, but likely would not before
the B1-F1 exchange.
The general problem I'm hitting with semeai is that handling n-liberty
semeai for fixed n is not enough since in many situations, you already
need to make a move when _your_ group has n+1 liberties, since one of
your liberties might be (at least) 1-approach liberty. My code can
detect it, but by the time both chains are n-liberty, and at that moment
you are already losing the semeai. Example is the other bottom corner of
the same game:
O O . . . .
O O X X X X
. X O O X .
. X O . O X
. X O O . X
I think what I will do for now is to try to support at least n=3 too.
But a more general mechanism would be good.
(This is important not just to get a more accurate picture of the
situation, but due to RAVE, also to get the accurate reply. Connecting
of the false eye never is considered in the tree simply because its RAVE
correlation with winning the game is low - it is (almost) never played
soon enough to make the difference. This is why when using RAVE, it is
extremely important to either play the proper tactical moves, or play
all tactical moves with the same likelihood.)
--
Petr "Pasky" Baudis
Computer science education cannot make an expert programmer any more
than studying brushes and pigment can make an expert painter. --esr
More information about the Computer-go
mailing list