I have thought about this kind of thing a bit, but it's hard to
formulate a general solution. What happens is when you prohibit
certain 'bad' moves is that you slant the result in favour of the side
with more 'bad' moves. This gets to be a problem in situations where
there are few moves to play. Either globally or locally.
Mark
On Jul 11, 2009, at 12:09 AM, Magnus Persson wrote:
Valkyria correctly behaves as if this is seki. It actually does not
now it is seki explicitely, but it prunes all moves that would break
the seki.
The principle to do this as simple as possible is thus not actually
to identify seki in general but to find simple rules that prunes bad
moves. This means one has to have many rules, but each rule becomes
simple.
Pruning J3 for X is a very neat example which is easy to do with the
rich boardrepresentation of Valkyria.
First the program at som point identifies J3 as a false eye. Some
false eyes must be played and some most not be played. In this case
XJ2 and XH3 both have two liberties, then V. looks at the corners of
J3 and finds OH2 which also has two liberties. Now the liberties of
XJ2 and XH3 that are not the false eye are matched to the liberties
of OH2. Also these liberties are at the moment suicidal for both
players.
This is enough to safely conclude that filling in the false eye
cannot be a good move becuase it just connect two liberties that
cannot be played anyway.
But! There are always exceptions. In this case one exceptions is
when the false eye is on the 1-1 point and only two stones are
connect and that the resulting shape is a precursor to bent four in
the corner. In that case filling in the false eye is essential.
I cannot exclude that are no more exceptions to this rule, but so
far it works nicely.
Oh, by the way I find on the sight of it hareder to prune O J1. I
know Valkyria prunes this but I do not remember exactly how it is
done, but I guess the code that handle sacrfices has to check for
false eyes becoming real eyes because of the sacrfice or something
like that.
-Magnus
Quoting Brian Sheppard <sheppar...@aol.com>:
There is a seki in the lower left of the position below:
1 2 3 4 5 6 7 8 9
A - O X X - X - - -
B X O X X X X X - X
C - O O X X - X X -
D O O O O X X X X X
E X X O - O X - X O
F - X X O O O X X O
G O X X X O X X O -
H O O X X O X O - O
J - X - X O O O O -
It is obvious that X cannot play F1. O cannot play F1 because that
would
sacrifice a "straight four".
Pebbles has followed Magnus's advice and added a rule that prevents
the
"two-for-one" trade that would occur when X plays J1, so that is
also not a
problem. And for O, playing J1 is ruled out because X has another
eye on J3.
What isn't obvious is that X cannot play J3. If X plays J3 then O
follows
with J1 atari, and X loses because of the nakade shape of O's stones.
The bottom line is that Pebbles rates this position as hugely
favorable for
O, because X stumbles into J3 in the playouts.
How does your program handle this situation?
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
--
Magnus Persson
Berlin, Germany
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/