RE: [computer-go] How to properly implement RAVE?
I think it is too expensive to read ladders during playouts. I remember that you have faster ladders search code so it might not cost you as much. My playout code has no ability to undo a move or do any kind of lookahead. David Some examples: David Fotland wrote he does light playouts with just a few patterns but no tactics. I find that using a moderate amount of tactics actually is the biggest contributor to playing strength (save one or more stones if can't be caught in ladder). However, augmenting patterns with tactical information I found doesn't help at all, even when disregarding the performance cost. Maybe David uses some patterns to compensate for part of the tactics and relies on the faster playouts to compensate for poorer playouts. I'm guessing here, but otherwise I can't imagine why he would forego what otherwise seems to be a big gain in strength. Mark ___ 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/
Re: [computer-go] How to properly implement RAVE?
On Jan 18, 2009, at 4:11 PM, David Fotland wrote: I think it is too expensive to read ladders during playouts. I remember that you have faster ladders search code so it might not cost you as much. My playout code has no ability to undo a move or do any kind of lookahead. Yes, my ladder code is fast. But it has been public for many years, I had figured others would have caught up on that. My playout code also has no ability to do undo. If I remember well, adding a few simple tactical searches during playouts made the performance go from 20Kps to 15Kps. But it moved to a winning-rate of about 90%. Reading tactics has to be really slow for that not to be worth it. I did find a nice heuristic to cut in less than half the amount of tactical reading necessary without any noticeable loss in playing strength. I'll write it down one day, I think it may have applicability beyond tactical reading and be a general concept to be used during playouts. Mark ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] How to properly implement RAVE?
On Jan 18, 2009, at 5:38 PM, Magnus Persson wrote: In Valkyria I solved this by playing out the ladder on the playout board, and store all changes on a stack. When the ladder undos moves it just pop changes from the stack. In this way I can also use the rich board representation of Valkyria to setup the ladder fast. The drawback is that the code is ugly and slightly buggy when stones are sacrificed during the search. A todo thing is to write a more correct ladder reader that still uses the idea of sharing the array with board with the playout, so that no copying has to be done. My ladder code re-uses the board array of the playout module. But copying this array before reading a ladder doesn't slow things down all that much. As has been discussed on this list elsewhere, copying an array is fast nowadays. Re-using the array is actually a way to make sure your ladder-reading is without bugs when doing undo. If something goes wrong you notice immediately... Maybe what David alluded to is that the playout has no undo so he can't use it to play and undo moves during ladder search. In my case the ladder reader only needs an array with the position. For the rest it's completely self-contained. That adds maybe a little bit when setting up the ladder reading, but it's still fast. Mark -Magnus Quoting David Fotland fotl...@smart-games.com: I think it is too expensive to read ladders during playouts. I remember that you have faster ladders search code so it might not cost you as much. My playout code has no ability to undo a move or do any kind of lookahead. David -- 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/