Re: [computer-go] Monte-Carlo is the future of19x19
Le Vendredi 01 Décembre 2006 11:57, Chrilly a écrit : On a P4 3.0Ghz mono processor, the number of evaluations per seconds is in the order of 4500/s in 9x9, 2500 in 13x13 and 1100 in 19x19. If one assumes 300 moves/Plies on 19x19 it would be about 330 KNodes/sec? No, that just mean 1100 Nodes/sec in 19x19. When I meant 1 evaluation, I meant 1 random simulation. For me, 1 position=1node=1random simulation. Sorry I don't see exactly why you are multiplying by 300, but I think now we understand each other :). Sylvain Well, at least I learn at lot. E.g. that you are the author of MoGo :-) As an old chess-programmer the unit is not games/second but nodes/sec. Making a move and undoing it (if undo is done at all). Thats the basic unit in any game. In your MoGo paper you mention the First-Play-Urgency FPU. I did not understand precisly what FPUs is: Is it: If a node is visited first (or not all moves have been tried out) the nodes are not selected with uniform probablity but e.g. Capture and Atari moves have a higher probablity? Chrilly ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Monte-Carlo is the future of19x19
Hello, Well, at least I learn at lot. E.g. that you are the author of MoGo :-) One of the authors, but yes :). As an old chess-programmer the unit is not games/second but nodes/sec. Making a move and undoing it (if undo is done at all). Thats the basic unit in any game. Ok, but as for one node (a position) we make one simulation (a complete game till the end), then nodes/sec == simulations/sec == games/sec. Indeed, when from a node (in the tree) you make one move you create a new node (a child). So at every simulation you create a new node. In your MoGo paper you mention the First-Play-Urgency FPU. I did not understand precisly what FPUs is: Is it: If a node is visited first (or not all moves have been tried out) the nodes are not selected with uniform probablity but e.g. Capture and Atari moves have a higher probablity? Sorry about that. I received other emails saying it is not clear, so it must be very unclear. As I have no time to modifiy the report right now, here is an explanation: First Play Urgency is not related to the MC simulation part, but to the tree search part. UCT says that, on a position, you have to try all the moves once before using the UCB formula. FPU is here to avoid trying all the moves first. You simply extend the UCB formula for unexplored moves, saying that if there is no yet a child for this move, you allotate to it the FPU. Then, if FPU is big (say 1), then you have exactly UCT (because 1 is bigger than all the X_i+sqrt(log(n)/n_i) for the explored moves). If FPU is 0, then you will explore the first move, and then only this one, because X_i+sqrt(log(n)/n_i) is always greater than 0. Now if you set a FPU around 1, asymptotically you will explore all moves at least once, but you can explore a move twice (or more) before exploring another move. Than allows you to go deeper for the deep nodes (not so much explored nodes). I hope it is clearer now? Sylvain ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
RE: [computer-go] Monte-Carlo is the future of 19x19
Hi David, Since I made my last post to you, several people have responded. They have made my point and I agree with your point. It's foolish not to take advantage of domain specific information and nothing prevents a monte carlo program from doing that as you can see. Having said that, I have pretty much a pure Monte Carlo program (not pure but pure in the sense that it has no go knowledge) and although it does pretty well on CGOS, it has fallen far behind Mogo and others which use domain specific knowledge. Mogo of course uses a lot some pattern knowledge. If you read their paper, you will see that they are applying this to 19x19 GO and this program seems to be relatively strong although perhaps not the best. - Don On Thu, 2006-11-30 at 22:18 -0800, David Fotland wrote: I agree with you that knowledge engineering is diminishing returns. I don’t think that adding more knowledge to existing programs will make them strong any time soon. But there is a lot of simple basic useful knowledge, like counting liberties, and it seems to me that the monte-carlo enthusiasts are ignoring this. My point with the file I attached is not that it's a difficult position. These fights are incredibly easy if you just add a few dozen lines of code to count liberties correctly. To me it's as if a weak chess player says, my program doesn’t need to understand basic pawn structure evaluation. It looks really complicated. I'll just search faster than you. There is some basic knowledge that is not complex and is very useful. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[computer-go] Poetry in Motion
My contribution to the Java question: I am working in go for the pleasure and not as much as I would like to. Recently, I was experimenting with the urgency of a shape as a sorting method for ab-pruning. I needed to rotate 7x7 masks. I wrote: Procedure Rotate90cl (var jm: jeitoMask); { +---+---+---+ +---+---+---+ | 4 | 3 | 4 | | 23| 01| 01| +---+---+---+---+---+ +---+---+---+---+---+ | 4 | 3 | 2 | 3 | 4 | | 21| 23| 09| 03| 03| +---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+ | 4 | 3 | 2 | 1 | 2 | 3 | 4 | | 19| 21| 23| 01| 11| 05| 05| +---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+ | 3 | 2 | 1 | · | 1 | 2 | 3 | | 19| 21| 07| · | 03| 13| 07| +---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+ | 4 | 3 | 2 | 1 | 2 | 3 | 4 | | 17| 17| 19| 05| 15| 09| 07| +---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+ | 4 | 3 | 2 | 3 | 4 | | 15| 15| 17| 11| 09| +---+---+---+---+---+ +---+---+---+---+---+ | 4 | 3 | 4 | | 13| 13| 11| +---+---+---+ +---+---+---+ } begin asm mov edx, eax// @jm mov eax, [edx + 8] // jm.mask4 shl eax, 6 mov ecx, eax and eax, 0ffh rol ecx, 8 or al, cl mov [edx + 8], eax // jm.mask4 mov eax, [edx + 4] // jm.mask3 shl eax, 6 mov ecx, eax and eax, 0ffh rol ecx, 8 or al, cl mov [edx + 4], eax // jm.mask3 mov eax, [edx] // jm.msk12 mov ecx, eax shl eax, 4 rol cl, 2 mov al, cl mov ecx, eax shr ecx, 16 and eax, 0ffF0FFh and ecx, F00h or eax, ecx mov [edx], eax // jm.msk12 end end; I don't even know if it will be part of a program, but it is already as good as I can write it. If I need it someday, I only have to cut and paste. * Is that harder to write? No. At least for me. * Is that version dependent? No. It didn't change since the 386 was released (late 80s) and it won't change in 20 years. * Do I have a nightmare of books/pdfs to find documentation? No. Just one paper x86 Software Development.. @intel.com * Is that harder to debug in a Borland environment? No. * Will that code running on a 2007 machine be outperformed by the same function written in Java on a 2017 machine? (Assuming Java still exists in 2017) Probably not. As that code running on a 1997 machine is not outperformed today by Java on a 2007 machine. I write efficient code, because inefficient code hurts my eyes, and I can't figure out what advantages it may have. Each time I have suffered it, it has made me loose much more time than if I had controlled every detail from the beginning. But returning to the go problem: It is unclear if someone will write the killer app in the next ten years, but if he/she writes it in Java he/she is giving an additional ten year handicap to those who don't. And I also try to improve my algorithms, of course. ;-) Jacques. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Technical Report on MoGo
Quoting [EMAIL PROTECTED]: Now my feeling is that the improving random simulations part of this work is promising. We have only done very few steps in this direction, and it gives quite convincing results. It was what I meant in the random distribution discussions we have in this list. I am pretty sure that making improvements in this direction would increase a lot the level of MC players even (or especially) in 19x19. And this can be done very soon (well, perhaps not before sunday :)). I just read through your paper eagerly, and found that the your changes to the random simulations are pretty much exactly the same in principle as most things Valkyria does. The difference is that my hardcoded patterns are fewer simply because I have not implemeted all yet. Valkyria also checks stones freshly in atari for good moves to save them and tests hardcoded patterns directly near the last move. The reason this is important for MC is that otherwise move sequences that never occur in real game occur frequently such as cutting a diagonal connection without a double threat. Without such knowledge about basic patterns MC program tends to play too strong shapes. I am now currently working with a system for matching larger but netherthelees very fast patterns, which I might be able to use in the random simualations as well as in the UCT-tree. The things that were different from Valkyria was a little difficult to get the first time but I will read it through more carefully soon and come back with more comments. -Magnus ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] December KGS online computer Go Tournament
In message [EMAIL PROTECTED], Nick Wedd [EMAIL PROTECTED] writes The December 2006 KGS computer Go tournament will be next Sunday, December 3rd, in the European morning and Asian evening, starting at 09:00 UTC and ending at about 14:00 UTC. Both divisions will be five-round Swiss, and use 19x19 boards with 28 minutes sudden death, Chinese rules, and 7.5 points komi. There are details at http://www.gokgs.com/tournInfo.jsp?id=246 and at http://www.gokgs.com/tournInfo.jsp?id=247. Reminder - it's tomorrow. Nick -- Nick Wedd[EMAIL PROTECTED] ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] December KGS online computer Go Tournament
The cooling system went down in SlugGo's machine room, and my racks had to be powered down. So, SlugGo continues to be on the wrong end of some bad luck and cannot play. I hope that this gives another GNU-based player, or GNU Go itself, a chance. I also hope that SlugGo will be able to join the KGS tournaments again next month. Cheers, David On 2, Dec 2006, at 6:52 AM, Nick Wedd wrote: In message [EMAIL PROTECTED], Nick Wedd [EMAIL PROTECTED] writes The December 2006 KGS computer Go tournament will be next Sunday, December 3rd, in the European morning and Asian evening, starting at 09:00 UTC and ending at about 14:00 UTC. Both divisions will be five-round Swiss, and use 19x19 boards with 28 minutes sudden death, Chinese rules, and 7.5 points komi. There are details at http://www.gokgs.com/tournInfo.jsp?id=246 and at http://www.gokgs.com/tournInfo.jsp?id=247. Reminder - it's tomorrow. Nick -- Nick Wedd[EMAIL PROTECTED] ___ 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/
[computer-go] post
I am looking for tutorials and articles on the web to learn go. Would you please direct me to these resources if possible. Thank you - Check out the all-new Yahoo! Mail beta - Fire up a more powerful email and get things done faster.___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] post
For true beginners: http://playgo.to/interactive/ Janice Kim's 5 book series at http://samarkand.net/ Or play online (KGS has a good english community): http://www.gokgs.com/ On 12/2/06, Mike Olsson [EMAIL PROTECTED] wrote: I am looking for tutorials and articles on the web to learn go. Would you please direct me to these resources if possible. Thank you -- Check out the all-new Yahoo! Mail betahttp://us.rd.yahoo.com/evt=43257/*http://advision.webevents.yahoo.com/mailbeta- Fire up a more powerful email and get things done faster. ___ 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] post
At 08:47 AM 12/2/2006, you wrote: I am looking for tutorials and articles on the web to learn go. Would you please direct me to these resources if possible. if you have a windows box, get http://www.smart-games.com/igowin.html --- vice-chair http://ocjug.org/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/