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

Re: computer-go: suicide move



In message <001e01c320bf$621a77d0$6401a8c0@main>, Chris Fant <Fantius@xxxxxxxxxxxxxxxxx> writes
Okay, I understand.  I understand the first example now as well.  Sounds
like I am fine with just not considering suicide moves in search.  I'm sure
I have much bigger problems than correctly playing this Ko threat situation.
When your program is searching for moves, you can ignore suicide moves, you won't be missing anything.

But your program should also be able to handle the possibility of a suicide move by its opponent. I am not saying that it should consider suicide in its lookahead, just that it should handle it right if it happens.

One well-known program had this defect. It allowed its opponent to make a suicide move, but it forgot to remove the suicided stones from the board. These stones therefore remained on the board, and were invulnerable: it could not capture them by filling their last liberty. Skilful exploitation of this made it very easy to beat this program.

I recommend the "Advice on Writing a Go-playing Program", at
http://www.britgo.org/gopcres/padvice.html. This is not about difficult things like hash tables and tree-pruning, it is about things which are easy to implement. Nevertheless most Go programmers ignore some of the advice on this page, and their programs lose tournament games as a result. When I ran the 1998 Ing Cup, I believed that a program which made random legal moves within the time limit, while implementing all the advice on that page, would have finished in the top half of the results table.

Nick
--
Nick Wedd nick@xxxxxxxxxxxxxxxxx