There is a de facto standard light playout policy (algorithm). If you want to adhere to this standard, then by definition, there are correct and incorrect ways to do so. If you just want to design a better playout policy, naturally anything is fair game. But how are you going to measure whether it's really better?
My advice is to keep to this standard for a little while longer, write the rest of your engine, run it on CGOS where you can compare it directly with programs like myCtestxxx (maintained for that purpose by generous individuals) and verify that the other parts work. Then start improving the playout policy. Just my suggestion. - Dave Hillis -----Original Message----- From: Claus Reinke <[EMAIL PROTECTED]> To: computer-go@computer-go.org Sent: Fri, 10 Oct 2008 4:54 pm Subject: [computer-go] pseudo eye variations for playouts Thanks everyone for the answers regarding playout terminations. I still have my suspicions regarding how artificial game length bounds affect the position evaluation (I'd expect the values to fluctuate with length, so arbitrary bounds would result in arbitrary differences). For the moment, however, I'd like to focus on the variations wrt pseudo-eyes (positions not to be filled during playouts). All of these are known to be wrong in some cases, the main argument in favour of pseudo-eyes being efficiency. Since ruling out fill-ins introduces not only biases, but actual blind spots into the playouts, something even heavy playouts otherwise try to avoid (they prioritize "good" moves instead of eliminating "bad" moves) it is important that the definition of pseudo-eyes errs on the safe side ("safe" here meaning random play - any move is possible): they may permit erroneous fill-ins, but must not rule out necessary fill-ins (only definitely bad fill-ins may be ruled out). Within that constraint, the goal is to rule out as many bad fill-ins as possible without ruling out any good fill-ins. And all three variations listed earlier (Gobble, Olga, Oleg) http://computer-go.org/pipermail/computer-go/2008-October/016549.html have their issues with that. For instance, consider the following position: ( ; FF[1] GM[1] SZ[19] AP[Jago:Version 5.0] AB[ji][kj][jk][ij][jl][hj][jh][lj][jg][kf][ke][le][me][ne][of][og][oh][oi][ni][mj][nf][kg][nj][jm][jn][jo][jp][ip][hp][gp][fp][fo][fn][fm][fl][fk][fj][gj][gi][gh][hg][ig][ok][gf][pl][fe] AW[ki][kh][li][lg][mh][lf][mf][ng][nh][kk][lk][kl][mi][mk][nk][ik][hk][gk][gl][gm][gn][il][im][in][io][go][hm][ho][jd][kd][ld][md][nd][od][pe][pf][ph][pg][pi][pj][ei][ej][ek][el][em][en][eo][ep][eq][fq][gq][hq][iq][jq][kq][ko][kp][kn][km][oj][ii][fi][fh][fg][gg][hf][if][jf][je][ih][oe] C[black to move. Gobble: 'a' is not an eye => fill it and die Olga: 'a' is an eye, but would cease to be if 'b' was white Oleg: 'a' is not an eye, but would be if 'b' was black] L[jj][hh][nk][oj] GN[playout-eyes] ) If I set this up correctly, the black center group is "unconditionally" alive, even if it was white's turn, while playouts with Gobble-style pseudo-eyes will rate it as unconditionally dead (and hence the white strings 'c' and 'd' as unconditionally alive, independent of conditions on the outside). Playouts with Olga-style pseudo-eyes would fare better, but would be fooled into considering fill-in at 'a' after white 'b'. Playouts with Oleg-style pseudo-eyes have a chance of finding the black group alive, in case of black 'b' first. Did I set this up right? And why does no-one else seem worried about it?-) Claus PS In case the sgf-labelling isn't standard, 'a' is K10/center, 'b' is H12. _______________________________________________ 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/