RE: [computer-go] January KGS bot tournament results
On Tue, 2007-01-09 at 09:03 +0100, Edward de Grijs wrote: I do not want to start the rules/scoring discussion again, but I want to know if the kgs-genmove_cleanup command which results in playing inside your own territory, can be used with Japanese rules/scoring. It seems to me that this command can only be used be chinese scoring... If this is true, how it is possible to construct a computer only tournament with Japanese rules/scoring, without human intervention? It's probably not possible to do it and always be correct, but it is possible to agree on some resolution protocol that will be correct a higher percentage of the time.My understanding is that Japanese has some ambiguous cases that although rare can be difficult even for humans. Any commercial program will want Japanese rules/scoring since this is how many players were taught. - Don ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[computer-go] Useless moves in the endgame
I just lost my first game against MoGo on KGS, 9x9, 0.5 komi, I was white. Impressing! But as a human, you don't like the useless endgame-moves MC-programs play against you when they know they win anyways. In order to make these programs more attractive for humans, I would like them to play the move winning by the biggest amount of points once several moves have the same high winning probability at the endgame. What do you think about this? ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
RE: [computer-go] Useless moves in the endgame
Mango passes as soon as the opponent passes two times in a row. Might this lead to bugs in some situations? Anyway this is very nice for playing against humans and GnuGo. Guillaume -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Benjamin Teuber Sent: Tuesday, January 09, 2007 4:32 PM To: computer-go Subject: [computer-go] Useless moves in the endgame I just lost my first game against MoGo on KGS, 9x9, 0.5 komi, I was white. Impressing! But as a human, you don't like the useless endgame-moves MC-programs play against you when they know they win anyways. In order to make these programs more attractive for humans, I would like them to play the move winning by the biggest amount of points once several moves have the same high winning probability at the endgame. What do you think about this? ___ 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] Useless moves in the endgame
i'd like to follow this up by saying that i'm interested to see if anyone has compared winning percentage in the following two situations: i) maximize probability of win ii) maximize probability of win until p_win 1-eps, then maximize total score among all moves that give 1-eps probability of winning. if ii) gives a lower percentage of wins than i), it'd be an interesting result in its own right, and if it doesn't, then there's a simple formula for getting a lot more resignations out of your opponents (not to mention, it'll give the impression that your program is incredibly strong whenever it wins). s. __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
On Tue, 2007-01-09 at 16:31 +0100, Benjamin Teuber wrote: I just lost my first game against MoGo on KGS, 9x9, 0.5 komi, I was white. Impressing! But as a human, you don't like the useless endgame-moves MC-programs play against you when they know they win anyways. In order to make these programs more attractive for humans, I would like them to play the move winning by the biggest amount of points once several moves have the same high winning probability at the endgame. What do you think about this? I've tried - it's hard to make it work. Almost anything you do in this regard weakens the program. The easiest and safest way to make the endgame seem more natural is is to pre-process the moves once the program knows it is winning or losing. Since MC considers all moves as equal once it is winning, you have to impose your will on the algorithm. One way to do this is just to determine which moves seem reasonable to a person, then hint to the program that all others are slightly losing (by give them a few pseudo losses at the root node of the tree.) In this way the algorithm could even recover if the routines which determine this get it wrong. I would apply such an algorithm only after MC said the position was at least 95 percent a win or loss. This may sound strict, but MC usually knows this pretty early - way before the game is played out to the bitter end. It's easy to track or identify points that are ambiguious, just play 1000 random games (in a fraction of a second) and keep statistics on those points not clearly being occupied (or surrounded) by one side or another. Then you can emphasize moves to those points as I outlined above. I have tried things like increasing or decreasing komi appropriately so the programs continues to fight hard for points once it has a won (or lost) game, but this is quite risky. An MC program can give away the game if you put in a position where it thinks it might be losing when it isn't. You can also switch to bean-counting once a game is won or lost so that the program will try to maximize it's territory gain. This is actually quite risky too - it is far weaker in normal play and even when the game is virtually over one must be very careful - since you are indeed weakening the program to achieve the artificial appearance of human-like play. All of this reminds me of the Japanese/Chinese debate. You can do things to make it more human-like or convenient for us humans, but whatever you do it's not scientifically relevant or interesting from the perspective of better play. It's a cosmetic issue. These type of things can be interesting and even scientific in their own right (you can make a study of anything) - I'm not saying that it isn't. It's definitely interesting (and a challenge) to consider how this might be done without weakening the program too much. It's like this with Japanese - it's an interesting problem how to do it really well and correct - it's just not relevant to program strength although the things learned could contribute to program strength. - Don ___ 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] Useless moves in the endgame
On Tue, 9 Jan 2007, Chaslot G (MICC) wrote: Mango passes as soon as the opponent passes two times in a row. Might this lead to bugs in some situations? You need 3 passes in case of ko. Thomas Anyway this is very nice for playing against humans and GnuGo. Guillaume -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Benjamin Teuber Sent: Tuesday, January 09, 2007 4:32 PM To: computer-go Subject: [computer-go] Useless moves in the endgame I just lost my first game against MoGo on KGS, 9x9, 0.5 komi, I was white. Impressing! But as a human, you don't like the useless endgame-moves MC-programs play against you when they know they win anyways. In order to make these programs more attractive for humans, I would like them to play the move winning by the biggest amount of points once several moves have the same high winning probability at the endgame. What do you think about this? ___ 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 mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
RE: [computer-go] Useless moves in the endgame
But is there other conditions? Could I pass really early and trick Mango into passing if I wanted to? A very simple approach works like this: 1. When winning very convincingly in Chinese, play quickly. 2. When losing convincingly, resign. Your opponent, when losing has 2 options. 1. If he is so concerned about etiquette, he follows the lead of the program - he resigns. 2. He has the option to play it out which is his right. But the computer might choose to accommodates him by playing quickly. There is no need to make such a fuss over how to implement good play-out that is not rude or unkind if you implement this simple thing as out-lined. There is no need for a human who is losing to complain about play-out - he has the power to end it. Likewise, the simplest protocol for the computer is also to quit once it is sure it's losing. Playing more quickly when winning is a kindness - not a necessity for a program to implement - a way to be nice to a human who wants to play it out even though he is dead lost. It's rude to pressure a player into stopping if he wants to play it out. I never understood why a human who is losing continues to play out a game while complaining about the behavior of the computer. This is not a criticism of what Benjamin said, he made some valid points and it is interesting to consider how a program might improve it's play-out style as a cosmetic issue. - Don On Tue, 2007-01-09 at 17:07 +0100, Chaslot G (MICC) wrote: Mango passes as soon as the opponent passes two times in a row. Might this lead to bugs in some situations? Anyway this is very nice for playing against humans and GnuGo. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
What if instead of territoryBonus = 1/1000 * territory You use something like this: territoryBonus = 1/1000 * territory * percentageOfTheWayThroughTheGame On 1/9/07, Sylvain Gelly [EMAIL PROTECTED] wrote: and if it doesn't, then there's a simple formula for getting a lot more resignations out of your opponents It is not so simple to implement, because you have to keep two statistics (the wins and the territories), and switch between then (and switch back if the winning probability drops). So you have to change somehow the structure. At least in MoGo it would takes time to do. What we did try is to give a bonus for moves which give a bigger territory. The reward is for example for a win 1+1/1000*territory. This gave unfortunately a lower winning percentage for MoGo. Sylvain ___ 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] Useless moves in the endgame
Hi Sylvain, I like the way you think - this reflects my view and I posted something similar before I read your mail. - Don On Tue, 2007-01-09 at 17:20 +0100, Sylvain Gelly wrote: Hello, But as a human, you don't like the useless endgame-moves MC-programs play against you when they know they win anyways. In order to make these programs more attractive for humans, I would like them to play the move winning by the biggest amount of points once several moves have the same high winning probability at the endgame. What do you think about this? My goal is to make the program as strong as possible, so trying to avoid taking too much time implementing such patches which can make the program weaker. Making what you propose is certainly possible, but will take quite a lot of time and complicate the program to work well. However, I am of course concerned about how human feel while playing against MoGo, so MoGo passes as soon as the oponent passes if the status of strings is clear enough. Did you pass in your game? Yet, my opinion is that resigning is the most beautiful move in all games, so if you resign as soon as you are sure to loose anyway, this only want to win behaviour of some MC based programs (as MoGo) will never occur :-). And if you are winning MoGo will resign, so again no useless endgames-moves :-). Sylvain ___ 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] Useless moves in the endgame
I've been experimenting a bit in the area of humanizing :) the endgame. The only method I've found acceptable is to do something like Don wrote. I use the average score in the tree to set at new goal for the search. First you start out with the standard goal of winning by at least 0.5 pts. But after a number of simulations you can start using the average score instead. Meaning that if the search converge to a score of say +5.5 points it will see a result 5.5 as inferior ( well, a loss ). Using the above will change the behaviour quite nicely. However, if this is applied to all situations you'll end up with a bot not trying to win ( thus reducing strength a lot ). You must only use a floating goal when it's ahead. I recently ran 502 games against the same bot but without this feature. Having the floating goal makes it win about 47%, so a slight decrease in strength.. but I'm sure a bit of tweaking may actually make it stronger. The best part is that it now wins by 51pts and loses by 17pts on average. /Christian On 1/9/07, Sylvain Gelly [EMAIL PROTECTED] wrote: and if it doesn't, then there's a simple formula for getting a lot more resignations out of your opponents It is not so simple to implement, because you have to keep two statistics (the wins and the territories), and switch between then (and switch back if the winning probability drops). So you have to change somehow the structure. At least in MoGo it would takes time to do. What we did try is to give a bonus for moves which give a bigger territory. The reward is for example for a win 1+1/1000*territory. This gave unfortunately a lower winning percentage for MoGo. Sylvain ___ 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] Useless moves in the endgame
AntIgo does exactly this and I still get complaints. I think this is perfect manners on CGOS (none of the other bots have objected) but poor manners on KGS. It's less annoying, to be sure, but still annoying. People can get ticked off when it resigns too. They might want to see the game resolved and they don't appreciate a bot deciding for them. People want what people want. - Dave Hillis -Original Message- From: [EMAIL PROTECTED] To: computer-go@computer-go.org Sent: Tue, 9 Jan 2007 11:36 AM Subject: RE: [computer-go] Useless moves in the endgame A very simple approach works like this: 1. When winning very convincingly in Chinese, play quickly. 2. When losing convincingly, resign. Your opponent, when losing has 2 options. 1. If he is so concerned about etiquette, he follows the lead of the program - he resigns. 2. He has the option to play it out which is his right. But the computer might choose to accommodates him by playing quickly. There is no need to make such a fuss over how to implement good play-out that is not rude or unkind if you implement this simple thing as out-lined. There is no need for a human who is losing to complain about play-out - he has the power to end it. Likewise, the simplest protocol for the computer is also to quit once it is sure it's losing. Playing more quickly when winning is a kindness - not a necessity for a program to implement - a way to be nice to a human who wants to play it out even though he is dead lost. It's rude to pressure a player into stopping if he wants to play it out. I never understood why a human who is losing continues to play out a game while complaining about the behavior of the computer. This is not a criticism of what Benjamin said, he made some valid points and it is interesting to consider how a program might improve it's play-out style as a cosmetic issue. - Don On Tue, 2007-01-09 at 17:07 +0100, Chaslot G (MICC) wrote: Mango passes as soon as the opponent passes two times in a row. Might this lead to bugs in some situations? Anyway this is very nice for playing against humans and GnuGo. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/ Check Out the new free AIM(R) Mail -- 2 GB of storage and industry-leading spam and email virus protection. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
playing as a human, if i'm behind by 2.5 points, i'll never know it, even if there is a zero percent chance that i can make up those 2.5 points. i just don't count that accurately. moreover, after watching you pointlessly attempt to fill each and every one of my eyes one at a time, i'll get frustrated as a player regardless. on the other hand, if you put me behind by 35 points by the midgame, i can see it and will immediately resign. just about anyone will resign if they can see that they're behind by 10-15 going into yose. it's a pretty minor goal in the big picture, and likely doesn't matter for non-commercial and non-commercially-supported programs. it was just a thought. also, if it makes a difference, you don't have to even *start* keeping track of territory-by-move until you have more than one move with 1-eps probability of winning, which might be very late into the game. s. - Original Message From: Don Dailey [EMAIL PROTECTED] To: computer-go computer-go@computer-go.org Sent: Tuesday, January 9, 2007 11:36:44 AM Subject: RE: [computer-go] Useless moves in the endgame But is there other conditions? Could I pass really early and trick Mango into passing if I wanted to? A very simple approach works like this: 1. When winning very convincingly in Chinese, play quickly. 2. When losing convincingly, resign. Your opponent, when losing has 2 options. 1. If he is so concerned about etiquette, he follows the lead of the program - he resigns. 2. He has the option to play it out which is his right. But the computer might choose to accommodates him by playing quickly. There is no need to make such a fuss over how to implement good play-out that is not rude or unkind if you implement this simple thing as out-lined. There is no need for a human who is losing to complain about play-out - he has the power to end it. Likewise, the simplest protocol for the computer is also to quit once it is sure it's losing. Playing more quickly when winning is a kindness - not a necessity for a program to implement - a way to be nice to a human who wants to play it out even though he is dead lost. It's rude to pressure a player into stopping if he wants to play it out. I never understood why a human who is losing continues to play out a game while complaining about the behavior of the computer. This is not a criticism of what Benjamin said, he made some valid points and it is interesting to consider how a program might improve it's play-out style as a cosmetic issue. - Don On Tue, 2007-01-09 at 17:07 +0100, Chaslot G (MICC) wrote: Mango passes as soon as the opponent passes two times in a row. Might this lead to bugs in some situations? Anyway this is very nice for playing against humans and GnuGo. ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/ __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
... Having the floating goal makes it win about 47%, so a slight decrease in strength.. but I'm sure a bit of tweaking may actually make it stronger. The best part is that it now wins by 51pts and loses by 17pts on average. It is said that the game of go rewards balance and penalizes aggression. I wonder if this struggle between wins and territory are in fact a feature of balanced play? It appears that a stronger player results from focusing on winning and not maximizing territory. I find this a very interesting line of research. Ben Shoemaker. __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
Christian, can you close that 47% / 53% gap and still retain most of the win by margin by saying that only moves which are less than (5.5 - someFudgeFactor) are inferior? On 1/9/07, Christian Nilsson [EMAIL PROTECTED] wrote: I've been experimenting a bit in the area of humanizing :) the endgame. The only method I've found acceptable is to do something like Don wrote. I use the average score in the tree to set at new goal for the search. First you start out with the standard goal of winning by at least 0.5 pts. But after a number of simulations you can start using the average score instead. Meaning that if the search converge to a score of say +5.5 points it will see a result 5.5 as inferior ( well, a loss ). Using the above will change the behaviour quite nicely. However, if this is applied to all situations you'll end up with a bot not trying to win ( thus reducing strength a lot ). You must only use a floating goal when it's ahead. I recently ran 502 games against the same bot but without this feature. Having the floating goal makes it win about 47%, so a slight decrease in strength.. but I'm sure a bit of tweaking may actually make it stronger. The best part is that it now wins by 51pts and loses by 17pts on average. /Christian ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
On Tue, 2007-01-09 at 09:24 -0800, Ben Shoemaker wrote: ... Having the floating goal makes it win about 47%, so a slight decrease in strength.. but I'm sure a bit of tweaking may actually make it stronger. The best part is that it now wins by 51pts and loses by 17pts on average. It is said that the game of go rewards balance and penalizes aggression. I wonder if this struggle between wins and territory are in fact a feature of balanced play? It appears that a stronger player results from focusing on winning and not maximizing territory. I find this a very interesting line of research. Yes, this seems a proven fact. It's no small thing either, maximizing your winning chances is a BIG win over maximizing territory in MC. - Don Ben Shoemaker. __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ___ 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] Useless moves in the endgame
2007/1/9, steve uurtamo [EMAIL PROTECTED]: playing as a human, if i'm behind by 2.5 points, i'll never know it, even if there is a zero percent chance that i can make up those 2.5 points. i just don't count that accurately. Ok I understand that human does not count accurately. Then just pass, the program will pass if the status of the strings is clear. You can also trust the program. If he did not resign earlier, then it is going to win ;-). on the other hand, if you put me behind by 35 points by the midgame, i can see it and will immediately resign. just about anyone will resign if they can see that they're behind by 10-15 going into yose. Well +35 points in 9x9 is quite difficult to have :). it's a pretty minor goal in the big picture, and likely doesn't matter for non-commercial and non-commercially-supported programs. it was just a thought. I think when the computer Go reach such a level that this kind of things are the most important, then I think it will be pretty easy to do :). also, if it makes a difference, you don't have to even *start* keeping track of territory-by-move until you have more than one move with 1-eps probability of winning, which might be very late into the game. It is not a problem of computation time, but of data structure. All this kind of things is not difficult to achieve I think. It is just human easy developing time. A big team can afford that, not small team such as the majority of Computer Go teams :). Sylvain ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
On Tue, 2007-01-09 at 12:29 -0500, Chris Fant wrote: Christian, can you close that 47% / 53% gap and still retain most of the win by margin by saying that only moves which are less than (5.5 - someFudgeFactor) are inferior? Or can you close the gap by delaying this algorithm until you get a move behind you that scores very high?I find that it stops playing fairly human looking moves only when the score gets pretty extreme, such as below 5% or above 95% - Don ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Useless moves in the endgame
Christian, can you close that 47% / 53% gap and still retain most of the win by margin by saying that only moves which are less than (5.5 - someFudgeFactor) are inferior? I'm not quite sure what you mean, but the gap is so small that almost anything would close it. ;) Or can you close the gap by delaying this algorithm until you get a move behind you that scores very high?I find that it stops playing fairly human looking moves only when the score gets pretty extreme, such as below 5% or above 95% Yes, I suspect this is one way to close the gap. I haven't tried enough games to know for sure. I'm quite satisfied with 47% at the moment, given the much nicer play. You could also apply the floating goal when extremely behind. - Don ___ 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] Memory - efficient UCT proposal.
Just add a new child only when parent is visited more times than X. I'm testing this very idea with UCT. I'm testing 3 versions right now where X is different in each version. I'm testing 5, 10 and 100. I've always used a higher value than 1 but never thoroughly checked this out. In my tests, X=5 is winning but there are not enough games to be statistically convincing. I'm running at long time controls so that the answer I get is representative. The interesting thing is that it can do a lot more play-outs when when X is high, although it is less strong. I need to understand why. Based on the paltry data I have now it's a mistake to use X that is very high. Rating Win perc Tot Gms Ave Time Player --- --- -- 2105.458.065 311035.9 laz005 2055.150.000 44 881.9 laz010 2000.041.379 29 633.4 laz100 Black wins: 29 55.8 % White wins: 23 44.2 % On Fri, 2007-01-05 at 12:05 +0100, Ćukasz Lew wrote: Just add a new child only when parent is visited more times than X. You will loose only a minimal amount of information. Hope this helps :) Lukasz ___ 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/