Page 2 of 4

Re: Playing computers finally good for your game?

Posted: Thu May 20, 2010 8:48 am
by xed_over
flOvermind wrote:I think the problem with the bots is not their strength, but the consistency in their mistakes. The current bots may play around 1d level, but they will always make the same type of mistakes.

Let's say you're 5k, and the bot is 1d. You play the bot, and soon you are able to beat it. Does that mean you're 1d now? No, you just learned how to play against that particular bot, punishing its mistakes.

see now, I would argue that if all the 5k players learned to punish those mistakes, then that would make the bot 5k, not 1d

Re: Playing computers finally good for your game?

Posted: Thu May 20, 2010 9:09 am
by zinger
dfan wrote:(The one part I do agree with is that the ability to do deep analysis of endgames has decreased. This is due to shorter time controls and the death of overnight adjournments, though, not to computers.)

But the death of overnight adjournments is in large part due to computers ... ?

Re: Playing computers finally good for your game?

Posted: Thu May 20, 2010 9:14 am
by dfan
zinger wrote:
dfan wrote:(The one part I do agree with is that the ability to do deep analysis of endgames has decreased. This is due to shorter time controls and the death of overnight adjournments, though, not to computers.)

But the death of overnight adjournments is in large part due to computers ... ?

Yes, that is true.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 12:20 am
by Suji
zinger wrote:
dfan wrote:(The one part I do agree with is that the ability to do deep analysis of endgames has decreased. This is due to shorter time controls and the death of overnight adjournments, though, not to computers.)

But the death of overnight adjournments is in large part due to computers ... ?


Yes, this is essentially true. Why? Because in chess they have something called endgame tablebases that help the computers play perfectly in the endgame. Right now, all the 6 men tablebases have been generated, and people are working on the 7 men ones. The closer and closer the game gets to having 6 pieces the computers play better and better. They didn't want any player to get an unfair advantage (by having access to more tablebases) over another, and that's pretty much the reason that overnight adjournments have died. Not to mention the best programs *easily* beat the top players now.

Basically he says that—while people like Kramnik and Anand, Ivanchuk and Leko, etc. understand chess at the highest level, like their predecessors—a lot of today's leading players actually aren't all that good. (Yes, better than we are, but that's not the relevant standard.) Outside of tactics and computer-friendly opening variations of course. They outsource strategic judgment and creativity to their engines; and they don't really know what deep analysis of an endgame even means. Take away their silicon toys, and they'd be eaten for breakfast in the classic Soviet championships.


I respectfully disagree. Chess is a game where any player who came from the past to play now would lose, and lose really badly at that. Similar to Go, in Chess the top players nowadays learn from the past players and improve the game. Example: Botvinnik was part of the new generation of players in the mid 1930s and he has winning records against the "Big Three" in that era: Lasker, Capablanca, and Alekhine.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 12:48 am
by CarlJung
quantumf wrote:I think the point was that by playing silly moves they've effectively given up. Instead, zinger argues, they should regard their perfect endgame play as being their weapon to recover from situations where they are behind.


Ah, I see. Do they really play such strong endgame? It they are ahead they play to minimize risk, not maximize win. But that is not what we mean with strong end game is it? I'm asking because I'm not really sure what strong end game means.

With the little I know about MC bots I believe they are fundamentally unsuitable for endgame analysis. The algorithm chooses moves from winning probability from it's simulations. If they are behind too much they can't rely on a strong endgame to catch up so they will have to play crazy and hope the opponent screws up. Moves that lead to a loss is discarded, even if the loss is lesser than for another move. If they are ahead they play safe. E.g. the algorithm is incapable of answering questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win". Strongest play in a given situation is something fundamentally different than winning probability.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 2:35 am
by quantumf
CarlJung wrote:With the little I know about MC bots I believe they are fundamentally unsuitable for endgame analysis. The algorithm chooses moves from winning probability from it's simulations. If they are behind too much they can't rely on a strong endgame to catch up so they will have to play crazy and hope the opponent screws up. Moves that lead to a loss is discarded, even if the loss is lesser than for another move. If they are ahead they play safe. E.g. the algorithm is incapable of answering questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win". Strongest play in a given situation is something fundamentally different than winning probability.


Your characterization is pretty spot on, I think. However, given that at the end game, its relatively easy for a computer to play perfectly, this seems like a desirable enhancement to supplement the bots with. Admittedly, as you say, this is somewhat at odds with the statistical approach of MC bots, and it would probably be a hard integration exercise, in the sense that once you start distorting the MC approach with other techniques, the whole thing tends to fall apart. But the pure MC approach is pretty much maxed out already, so supplementing it with extra abilities, e.g. strategic play, or perfect endgame, is necessary to move it up a level.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:23 am
by amnal
CarlJung wrote:
quantumf wrote:I think the point was that by playing silly moves they've effectively given up. Instead, zinger argues, they should regard their perfect endgame play as being their weapon to recover from situations where they are behind.


Ah, I see. Do they really play such strong endgame? It they are ahead they play to minimize risk, not maximize win. But that is not what we mean with strong end game is it? I'm asking because I'm not really sure what strong end game means.

With the little I know about MC bots I believe they are fundamentally unsuitable for endgame analysis. The algorithm chooses moves from winning probability from it's simulations. If they are behind too much they can't rely on a strong endgame to catch up so they will have to play crazy and hope the opponent screws up. Moves that lead to a loss is discarded, even if the loss is lesser than for another move. If they are ahead they play safe. E.g. the algorithm is incapable of answering questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win". Strongest play in a given situation is something fundamentally different than winning probability.


This doesn't seem correct to me, but I know very little about go bot programming so I could be wrong. Surely the MC approach is simply the method of ranking moves, accompanied by some evaluation function. The current bots perhaps do not play a good endgame for whatever reason, but this is a problem with the evaluation function (maybe because it's designed for all-round play, or whatever), not the MC technique itself.

Were a bot designed solely to judge an endgame objectively, I don't see why the MC method shouldn't be extremely powerful. I assumed that bots didn't play such a good endgame or play strategically just because this wasn't in their design yet.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:28 am
by topazg
amnal wrote:This doesn't seem correct to me, but I know very little about go bot programming so I could be wrong. Surely the MC approach is simply the method of ranking moves, accompanied by some evaluation function. The current bots perhaps do not play a good endgame for whatever reason, but this is a problem with the evaluation function (maybe because it's designed for all-round play, or whatever), not the MC technique itself.

Were a bot designed solely to judge an endgame objectively, I don't see why the MC method shouldn't be extremely powerful. I assumed that bots didn't play such a good endgame or play strategically just because this wasn't in their design yet.


Monte Carlo code is an interesting idea, but IMHO very poor for the future of skilled playing Go engines. I await to see if I'm right or wrong I guess.

In simplest terms, MC bots take a given position, it plays out huge numbers of sequences to the end for a number of moves, and then picks the one that "wins the most times". Over enough iterations, without a great deal of skill or logic in the moves, this works very effectively, but you'll often find an MC bot play a poor endgame, turning a 7.5 point lead into a 1.5 point win - however, get it close to the wire, like 1.5 or 0.5 points, and they play very strongly indeed.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:30 am
by Phelan
Most monte carlo bots don't use very sofisticated evaluation functions. It's a tradeoff on speed vs accuracy, being able to analyse more positions instead. It seems to work pretty well.

Probably each bot has a tweaked evaluation function or MC algorithm, but I doubt every bot maker is keen to reveal its innards.

Edit:Also what topazg said.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:41 am
by CarlJung
amnal wrote:This doesn't seem correct to me, but I know very little about go bot programming so I could be wrong. Surely the MC approach is simply the method of ranking moves, accompanied by some evaluation function. The current bots perhaps do not play a good endgame for whatever reason, but this is a problem with the evaluation function (maybe because it's designed for all-round play, or whatever), not the MC technique itself.

Were a bot designed solely to judge an endgame objectively, I don't see why the MC method shouldn't be extremely powerful. I assumed that bots didn't play such a good endgame or play strategically just because this wasn't in their design yet.


Perhaps it's the evaluation function that is the real limitation. If it was easy to evaluate a position it would also be easy to tell what the biggest move is. Position and next move go hand in hand. Then you wouldn't need to do any random playouts and don't need MC in the first place.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:54 am
by flOvermind
xed_over wrote:
flOvermind wrote:I think the problem with the bots is not their strength, but the consistency in their mistakes. The current bots may play around 1d level, but they will always make the same type of mistakes.

Let's say you're 5k, and the bot is 1d. You play the bot, and soon you are able to beat it. Does that mean you're 1d now? No, you just learned how to play against that particular bot, punishing its mistakes.

see now, I would argue that if all the 5k players learned to punish those mistakes, then that would make the bot 5k, not 1d


Yes, that's true, if all players would bother to learn a few overplays that would only ever work against a specific bot, then it would have a rating of 5k.

But in practice, it will still get a rating of 1d on KGS. Why? It's simple: The bot always makes the same mistakes, so you can rely on them happening. You can play a special strategy that exploits the mistakes. That wouldn't work against human players, because they would adjust their style after a few games, or even learn from their mistakes. So most people don't bother with finding out these special weaknesses of the bots, because it doesn't help their game against humans or even different bots.

That's the reason why the rating of a bot doesn't really tell you anything. It's KGS rating represents its strength when you play it like a human, using normal strategy. Once you adjust your game to its weaknesses, you'll see its "true" rating. And that will happen at least subconciously when you play bots too frequently. What have you gained then? Basically nothing, except picking up bad habits along the way...

This is also the reason why I don't believe in the recent "successes" of bots against pros in handicap games, because they were mostly one-off matches, with the pro having no opportunity to analyze the specific weaknesses of the bot.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:58 am
by gaius
CarlJung wrote:With the little I know about MC bots I believe they are fundamentally unsuitable for endgame analysis. The algorithm chooses moves from winning probability from it's simulations. If they are behind too much they can't rely on a strong endgame to catch up so they will have to play crazy and hope the opponent screws up. Moves that lead to a loss is discarded, even if the loss is lesser than for another move. If they are ahead they play safe. E.g. the algorithm is incapable of answering questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win". Strongest play in a given situation is something fundamentally different than winning probability.


Ummm. You are disproving your own point here. An MC program plays immensely strong endgame, because it's always looking for the best way to win, even if that's with a small margin. And in my experience, once it is a tiny bit ahead in the endgame, an MC bot is not going to let you catch up. Just try playing a few 9*9 games against any strong program and you know what I mean - the sheer number of 0.5 and 1.5 point losses becomes almost frustrating :).

Also, whether it's by 50.5 points or 0.5 points, a win is a win. Therefore, questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win" are irrelevant to strong endgame play. What matters is taking home the win; counting the value of moves is merely an imperfect tool to help the imperfect human brain work towards that goal.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 4:59 am
by Solomon
Where's pasky when you need him? :(

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 5:03 am
by topazg
gaius wrote:Ummm. You are disproving your own point here. An MC program plays immensely strong endgame, because it's always looking for the best way to win, even if that's with a small margin. And in my experience, once it is a tiny bit ahead in the endgame, an MC bot is not going to let you catch up. Just try playing a few 9*9 games against any strong program and you know what I mean - the sheer number of 0.5 and 1.5 point losses becomes almost frustrating :).

Also, whether it's by 50.5 points or 0.5 points, a win is a win. Therefore, questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win" are irrelevant to strong endgame play. What matters is taking home the win; counting the value of moves is merely an imperfect tool to help the imperfect human brain work towards that goal.


Interesting, I know it's subjective, but I wouldn't consider a strong endgame "minimise margin for going wrong" which is what MC bots do, I'd consider it "making perfect moves", which would maximise the margin of victory at the risk of complications and dangerous lines. In that sense, MC don't play a strong endgame unless the game is very close. If simply "winning" is the criteria, then that's different.

Re: Playing computers finally good for your game?

Posted: Fri May 21, 2010 5:30 am
by flOvermind
gaius wrote:Also, whether it's by 50.5 points or 0.5 points, a win is a win. Therefore, questions like "could a 10.5 pt loss be reduced to a 0.5 pt loss" or "could the 10.5 point win be stretched to a 15.5 point win" are irrelevant to strong endgame play. What matters is taking home the win; counting the value of moves is merely an imperfect tool to help the imperfect human brain work towards that goal.


I disagree.

If you assume perfect play by your opponent, then yes, it's irrelevant. But in practice, if I'm 10.5 pt behind and I see a chance to reduce it to a 0.5 pt loss, it may still be a better strategy to try that. Let me elaborate:

Let's say on the board I'm behind, with a few good endgame points left. Now I have two strategies:
a) Play a solid endgame and reduce it to 0.5 pts behind with a high probability. I'm good at endgame, so let's say 90%. I'm not playing risky, in the worst case I'll lose by 5 pts.
b) Play a risky endgame (overplay) and make it a 5 pt win. It's risky, let's say the probability to pull it off is 30%, but if it fails it will be a 30 pt loss.

Current MC bots use strategy b). It would just see that a) has a very low probability to win, and b) has a 30% probability to win.
But I argue that there is another factor, namely the probability of a mistake by the opponent:
Let's say the probability that the opponent makes another 1 pt mistake is 40%, for a 5 pt mistake it's 5% and a 30 pt mistake just won't happen.
Suddenly strategy a) looks a lot more appealing: In 90% of the cases, I just need a 1 pt mistake from the opponent (40% chance), at worst case (10%) I need a 5 pt mistake (still 5%). This still gives a total win probability of 36.5%, assuming a just small mistake by the opponent.
Strategy b) has just 30% chance, and it's also assuming a mistake by the opponent (namely falling for the overplay).

Of course all these numbers are just made up on the spot to demonstrate a point.

Sure, you could argue that my strategy is not theoretically best play but exploiting mistakes by the other player. Against a hypothetical "perfect opponent", my strategy would be worse. That's true, but that argument is flawed: The assumption of mistakes by the opponent is already there in the MC method itself by assuming a win probability instead of a fixed final score.