Page 3 of 6

Re: Bots that undo

Posted: Thu Jan 29, 2015 8:51 am
by snorri
There was a client that would bring up a window in a random location when a game started, and sometimes when I tried to move or resize the window I would accidentally play instead. So I had quite a few games starting on the 7-8 point or 10-3 point or whatever. I didn't ask for undo on those, though my opponent offered more than once.

Bot undo seems like an okay idea, though, perhaps restricted to unrated games...

Re: Re:

Posted: Thu Jan 29, 2015 9:10 am
by HermanHiddema
quantumf wrote:
HermanHiddema wrote:It is everyone's own choice, and I do not think it is wrong for people to deny undos, but personally I generally see little reason to ever deny an undo. I think it is a friendly approach to the issue, and in the case of bots I think it is a good idea to make bots as friendly as possible. I do think it is reasonable to have a sort of time limit, e.g. you must request the undo within 10-20 seconds or some such limit, so you're not wasting the bot's time (other people may want to play it too).


I'm not opposed to your friendly attitude, but I still don't see how you can apply one rule for bots and another for humans, since they are (at least currently) involved in the same rating system. If bots have a KGS rating, and allow undo for every move, then I would expect some players to abuse it.


Well I'm not applying a different rule. Every bot creator has a choice. But bots are by their nature inflexible. If they never allow undo, they act differently from many human players, if they always allow undo, they also act differently from human players. I would prefer bots to err on the side of caution, and I think allowing undo is that side.

And if you have a 10 second time limit, the possibility for abuse is quite limited, I would say almost non-existent.

Re: Bots that undo

Posted: Thu Jan 29, 2015 9:22 am
by RBerenguel
PeterPeter wrote:
RBerenguel wrote:
Cynosure wrote:... Bots can teach. ....


I fully disagree with this. Even in 9x9 learning from bots is close to impossible. In 19x19 bots play like, well, bots.


Bots are a tool for improvement, rather than a teacher. They cannot explain ideas to you, but if you played 100 games against a strong bot, I suspect that most people would end up stronger than they were before.


Exactly. A bot won't teach anything on its own. Learning from playing a bot? As a real beginner there's a lot to be learnt, and you can do it with bots, people or whatever. But at the OP's level (KGS 9k) most tactical basics are already learnt, and playing bots may just get you many weird openings and middle game situations. Far better to play humans as often as you can.

Re: Re:

Posted: Thu Jan 29, 2015 9:32 am
by Uberdude
HermanHiddema wrote:It is everyone's own choice, and I do not think it is wrong for people to deny undos, but personally I generally see little reason to ever deny an undo.

What if Merlijn Kuin asked to undo his blunder? ;-) Btw nice win. :tmbup:

Re: Re:

Posted: Thu Jan 29, 2015 9:54 am
by HermanHiddema
Uberdude wrote:
HermanHiddema wrote:It is everyone's own choice, and I do not think it is wrong for people to deny undos, but personally I generally see little reason to ever deny an undo.

What if Merlijn Kuin asked to undo his blunder? ;-) Btw nice win. :tmbup:


Thanks! :D

In live games, undos are a bit different. You place a stone, then press the clock, and there is no concept of a misclick. Had he placed the stone and taken it back immediately, i.e within 2 seconds and without pressing the clock, I would not have complained. But I think that most players, especially ones with that much experience, wouldn't even consider taking it back. At most you'll see someone move his hand towards and intersection and then back without letting go of the stone. Certainly I myself would never take back a stone after having placed it.

Posted: Thu Jan 29, 2015 12:43 pm
by EdLee
HermanHiddema wrote:No shades of grey, the world is black and white, there is no notion of undo in go. I did not think you were the type to hold a world view as black and white...
An opportunity for you to clarify whether you feel the world is really as black and white...
( Emphasis added. )

Hi Herman,

Thanks for the clarification.

I also clarify: that's not what I said, nor what I meant.

I said "in my mentality." I added the carrot chopping and car accident as examples. But it was still misunderstood. I did not say there is no such thing as undo in Go, under any circumstances whatsoever -- this is the extreme position you misunderstood I hold. I don't. As I said, I suspect most people (in this post so far) share similar, if not identical attitudes toward undos and other Go etiquettes.

Another analogy: if I'm holding a baby, there is no notion of dropping the baby in my mentality. It means, for myself, I think it's very important that I don't drop the baby. But hey, there are people who don't share this view(1) -- what can I do ? If it's this baby dropping example, would you be as surprised ? Would you immediately think, wow, that is so extreme! So black and white! No baby dropping -- such an extreme world view -- so fascist!?

Now, we can even come up with extreme Scruples-ish thought experiments (already brought up) such as: what if dropping a baby from the top of a building could save a million lives ? That's not this discussion. At all.
HermanHiddema wrote:Certainly I myself would never take back a stone after having placed it.
Exactly. I don't think that's an extreme world view -- I think that's good.

BTW, I heard only the Sith thinks in such absolutes. :)

Warning: these are very tragic:
(1) Literally.

Warning: these are very tragic:

Ferrets attack baby
Mom accused of poisoning son with salt

Re: Re:

Posted: Thu Jan 29, 2015 1:28 pm
by quantumf
HermanHiddema wrote:Well I'm not applying a different rule. Every bot creator has a choice. But bots are by their nature inflexible. If they never allow undo, they act differently from many human players, if they always allow undo, they also act differently from human players. I would prefer bots to err on the side of caution, and I think allowing undo is that side.


OK, good point, it's almost certainly true that the bots inflexible attitude contributes positively to their ranks.

HermanHiddema wrote:And if you have a 10 second time limit, the possibility for abuse is quite limited, I would say almost non-existent.


I usually realize my mistakes within a split second of placing the stone. They're not misclicks, it just becomes apparent after the stone is actually on the board that it's in the wrong place. Allowing me to correct these pretty rare errors is a probably a pretty minor form of abuse, however.

So, you've convinced me to some extent, but I still think some form of abuse may exist in this permissive model of yours, e.g. for ranked blitz games.

I also think it should be possible to achieve a hybrid solution, e.g. to permit, say, five undos within ten seconds per game.

Re: Bots that undo

Posted: Thu Jan 29, 2015 3:18 pm
by Mike Novack
RBerenguel wrote:
Bots are a tool for improvement, rather than a teacher. They cannot explain ideas to you, but if you played 100 games against a strong bot, I suspect that most people would end up stronger than they were before.


Exactly. A bot won't teach anything on its own. Learning from playing a bot? As a real beginner there's a lot to be learnt, and you can do it with bots, people or whatever. But at the OP's level (KGS 9k) most tactical basics are already learnt, and playing bots may just get you many weird openings and middle game situations. Far better to play humans as often as you can.[/quote]

I want to comment on both
"cannot explain" ----- this might be true of most of MCTS based programs but not true of one that used a "go principles" based AI to create a set of candidate moves and then used MCTS as the evaluator to select the best (because it could inform you of the go principles why that move was in the set to be considered). There is a program that does this. And of course the programs we had before MCTS based on AI's, they could tell you "why". Go playing neural nets, when we have them, won't be able to explain.

Weird moves? Have you tried playing against any of the strong programs? If you were presented with the game records of twenty games, ten of then being human vs human and ten human vs machine, how successful do yo think you would be in identifying which were which?

Re: Bots that undo

Posted: Fri Jan 30, 2015 1:39 am
by RBerenguel
Mike Novack wrote:
RBerenguel wrote:
Bots are a tool for improvement, rather than a teacher. They cannot explain ideas to you, but if you played 100 games against a strong bot, I suspect that most people would end up stronger than they were before.


Exactly. A bot won't teach anything on its own. Learning from playing a bot? As a real beginner there's a lot to be learnt, and you can do it with bots, people or whatever. But at the OP's level (KGS 9k) most tactical basics are already learnt, and playing bots may just get you many weird openings and middle game situations. Far better to play humans as often as you can.


I want to comment on both
"cannot explain" ----- this might be true of most of MCTS based programs but not true of one that used a "go principles" based AI to create a set of candidate moves and then used MCTS as the evaluator to select the best (because it could inform you of the go principles why that move was in the set to be considered). There is a program that does this. And of course the programs we had before MCTS based on AI's, they could tell you "why". Go playing neural nets, when we have them, won't be able to explain.

Weird moves? Have you tried playing against any of the strong programs? If you were presented with the game records of twenty games, ten of then being human vs human and ten human vs machine, how successful do yo think you would be in identifying which were which?[/quote]

Yes, I have played some of the mc programs and seen games from them, too. Playing at "low kyu" settings they definitely play weird moves, specially in middle game situations. And I'm pretty sure the MC-endgame filling would be apparent in most of the bot-human games. It is at their full strength that they seem more human-like, and probably I couldn't tell a KGS 5d from a similarly strong bot, at least until dame filling started.

What is this "principle based" program you talk about?

Re: Bots that undo

Posted: Fri Jan 30, 2015 7:39 am
by Mike Novack
RBerenguel wrote:Yes, I have played some of the mc programs and seen games from them, too. Playing at "low kyu" settings they definitely play weird moves, specially in middle game situations. And I'm pretty sure the MC-endgame filling would be apparent in most of the bot-human games. It is at their full strength that they seem more human-like, and probably I couldn't tell a KGS 5d from a similarly strong bot, at least until dame filling started.

What is this "principle based" program you talk about?


a) It is close to impossible to get a MCTS based program to play weaker than 2-3 kyu without having it become erratic. This is especially true of those not having a "go based AI" select the set of potential moves from which the MCTS based evaluator selects one.

b) Because Fotland already had an AI capable of playing at about 6 kyu when MCTS came out, that's the route he followed. ManyFaces has an AI create a set of plausible moves and then the MCTS part selects from among them. So the "why" function can give you go reasons for the move (the reasons that got in considered).

Re: Bots that undo

Posted: Fri Jan 30, 2015 4:51 pm
by RBerenguel
Mike Novack wrote:
RBerenguel wrote:Yes, I have played some of the mc programs and seen games from them, too. Playing at "low kyu" settings they definitely play weird moves, specially in middle game situations. And I'm pretty sure the MC-endgame filling would be apparent in most of the bot-human games. It is at their full strength that they seem more human-like, and probably I couldn't tell a KGS 5d from a similarly strong bot, at least until dame filling started.

What is this "principle based" program you talk about?


a) It is close to impossible to get a MCTS based program to play weaker than 2-3 kyu without having it become erratic. This is especially true of those not having a "go based AI" select the set of potential moves from which the MCTS based evaluator selects one.

b) Because Fotland already had an AI capable of playing at about 6 kyu when MCTS came out, that's the route he followed. ManyFaces has an AI create a set of plausible moves and then the MCTS part selects from among them. So the "why" function can give you go reasons for the move (the reasons that got in considered).


b) A move can be picked for the wrong reasons.

Edit: to clarify, I mean that the "go reasons" "AI" can give move X because of Y, and the MC evaluator say it is a good move. But it's likely Y is only a part (of even has nothing to do with) the fact that it is a good move to the MC part.

Re: Bots that undo

Posted: Fri Jan 30, 2015 5:42 pm
by xed_over
When I play a bot (locally, or online), I don't play it to play a game. I play it as if I'm reviewing a game -- so I back up and try a different variation from time to time, etc. Nobody cares about the result of a game against a bot -- except maybe the player himself, or the bot-maker (who might be the same person).

But online bots don't really lead themselves to review (for various reasons). I assumed this was the spirit and intention of the OP's question.

Otherwise, one could test the strength of a bot by playing it against other players of known strength (or visa versa). Then, we tend to care about the results and as such want to disallow undos. I assume this is the spirit and intention of most of the responders in this thread.

Re: Bots that undo

Posted: Sat Jan 31, 2015 6:15 am
by Mike Novack
RBerenguel wrote:
b) A move can be picked for the wrong reasons.

Edit: to clarify, I mean that the "go reasons" "AI" can give move X because of Y, and the MC evaluator say it is a good move. But it's likely Y is only a part (of even has nothing to do with) the fact that it is a good move to the MC part.


That might be slightly misunderstanding what evaluation by MCTS does.

Assume that there are eight "candidate" moves, each having some good go reasons for being made, but different reasons. One might be gaining a firm grasp of territory, another making a slight gain wile keeping an opponent's group unsettled, one mildly threatening two of the opponent's groups so whichever is defended the other is now seriously threatened, etc. First consider that you are a human and you have to choose your move. You look at all of these possibilities and decide which is more urgent or which gains the most or which retains future possibilities, etc. If after having made your choice and being asked why you would not likely respond "it was the most urgent" but would give the go reasons for the move.

The MCTS evaluator is choosing based on "more likely for me to win the game" (than any of the other alternatives being evaluated). That of course is the ultimate reason why you make a move, but not the proximate reason. As a human player you presumably made your choice for the same ultimate reason, you thought it was the best move among those you considered.

Re: Bots that undo

Posted: Sat Jan 31, 2015 9:47 am
by RBerenguel
Mike Novack wrote:
RBerenguel wrote:
b) A move can be picked for the wrong reasons.

Edit: to clarify, I mean that the "go reasons" "AI" can give move X because of Y, and the MC evaluator say it is a good move. But it's likely Y is only a part (of even has nothing to do with) the fact that it is a good move to the MC part.


That might be slightly misunderstanding what evaluation by MCTS does.

Assume that there are eight "candidate" moves, each having some good go reasons for being made, but different reasons. One might be gaining a firm grasp of territory, another making a slight gain wile keeping an opponent's group unsettled, one mildly threatening two of the opponent's groups so whichever is defended the other is now seriously threatened, etc. First consider that you are a human and you have to choose your move. You look at all of these possibilities and decide which is more urgent or which gains the most or which retains future possibilities, etc. If after having made your choice and being asked why you would not likely respond "it was the most urgent" but would give the go reasons for the move.

The MCTS evaluator is choosing based on "more likely for me to win the game" (than any of the other alternatives being evaluated). That of course is the ultimate reason why you make a move, but not the proximate reason. As a human player you presumably made your choice for the same ultimate reason, you thought it was the best move among those you considered.


I perfectly understand how an MC evaluator works. But the reason the AI gives may not have anything to do about why the game was won in most of the MC variations. Imagine an AI that does not understand ladder breakers, and plays a move because "threatens to attack a weak group" as a reason, this move turns to be a ladder breaker for some other area. Then, most MC branches pick this ladder and mark as a win. The reason was not "threatens to attack a weak group", so, as a learning tool it is not specially good.

Re: Bots that undo

Posted: Sat Jan 31, 2015 3:51 pm
by Mike Novack
RBerenguel wrote:
I perfectly understand how an MC evaluator works. But the reason the AI gives may not have anything to do about why the game was won in most of the MC variations. Imagine an AI that does not understand ladder breakers, and plays a move because "threatens to attack a weak group" as a reason, this move turns to be a ladder breaker for some other area. Then, most MC branches pick this ladder and mark as a win. The reason was not "threatens to attack a weak group", so, as a learning tool it is not specially good.


Imagine that we have before us a go playing program that claims to be able to give go reasons for the move made. Why do you want to decide what it can or cannot do without looking? Why are you saying that if there was more than one go reason for a move it will display just one reason? Is this based upon your observation of how this program behaves?

How about if we go back to just before the first MCTS based program. The program in question was using an AI to select a set of plausible moves based on go reasons and then it made a choice of "best move" from among these. It was making that choice by an AI deciding which reasons counted more in the particular situation. You could ask it to show you why. And it was able to play go at just a stone or so weaker than you are now. You think that could have been done without the AI knowing about ladders or that a move could have more than one go reason behind it?