vladstamate wrote:Why are some people like this?...
I was testing automated draw acceptance in Plisk and I forgot in a piece of code last night that will always accept a draw if offered and I had Plisk play on ICC for the entire night.
I came back in the morning and I lost 300 ELO on standard only and about 200 or so in other categories from few users who noticed that and took advantage of it. I examine few games from this user who had at least 12 games against Plisk (I am sure more, they just would not display on history) where he would offer draw after 3 moves exactly. A 1400 rated player.
I understand it is my responsibility for not having bugs like this, but what motivates those people? Note number 4 in my finger even says:
4: Enjoy playing against it and please do not abuse it.
Which part of that is complicated to understand?
Normally I would not care so much except in few days WCRCC is here and the seedings are to be done based on ratings, and now my rating is gone....
I removed that and I will have Plisk play 24/7 until the weekend but it is just so disappointing...
I apologize for the rant.
Regards,
Vlad.
Luckily you did not discover this in the tournament while your engine had a favourable position . This behaviour quite often exposes bugs that aren't as easily exposed in engine vs engine games, which is the primary reason I used to let Weid play online on ICC.
I once had a user on ICC that exploited a bug in Weid's book handling. He played until he found a book line that ends with two reversible moves (with Weid playing the last move). He then played this line repeatedly reversing his last move (with Weid following suite to match the best or only book move for that position) and subsequently managed to draw by three-fold repetition.
Again, this is simply a bug you have to fix. In Crafty, it won't play a repetition from book. It returns "no book move" and does a real search. If the search says the draw is the best option, it will take it, otherwise it will play a non-book-move and the game goes on.
I called it a bug in my post:
Jaap Weidemann wrote:I once had a user on ICC that exploited a bug
Needless to say I fixed it right there and then. I later found that PolyGlot had the same bug. I corrected PolyGlot too. Not sure if Fonzy merged it into his tree, it was about three years back.
bob wrote:It is pointless to complain about human behaviour. If they repeat lines, use book-learning to stop it. If they try to lock things up and run you out of time, either add code to avoid locked-up positions or modify your time usage so that you don't get far enough behind on time that you lose.
I did not complain. In fact I pointed out that
Jaap Weidemann wrote:This behaviour quite often exposes bugs that aren't as easily exposed in engine vs engine games
and furthermore that it
Jaap Weidemann wrote:is the primary reason I used to let Weid play online on ICC.
In other words I welcome this behaviour because it helps me find bugs.
How can this be a bug?
It could be (at best) a mistake in the book.
But it could be on purpose as well,why should.f.i black not take
a 3rep draw in a complicated Kings indian?
best
Fonzy
Primarily because he may have better. But he will never know if he gets into a cycle while in book. I have seen lots of GM games where they cycle twice and then vary, just to get closer to the time control without using any more time. The first case I found was years ago where Crafty had a winning move but the book line was a cycle, and if you do the cycle once, obviously you will do it again and draw, without code to recognize this.
My solution was simple. If I find a real 3-fold repetition while in book, do a normal search. That will still find the same move with a 3-fold, but it might find something better. What's to lose there?
I solved in a similar manner: before playing a book move just have a look if the position have occurred already, if it did, search. The only difference being that I do it 2 ply earlier.
vladstamate wrote:Why are some people like this?...
I was testing automated draw acceptance in Plisk and I forgot in a piece of code last night that will always accept a draw if offered and I had Plisk play on ICC for the entire night.
I came back in the morning and I lost 300 ELO on standard only and about 200 or so in other categories from few users who noticed that and took advantage of it. I examine few games from this user who had at least 12 games against Plisk (I am sure more, they just would not display on history) where he would offer draw after 3 moves exactly. A 1400 rated player.
I understand it is my responsibility for not having bugs like this, but what motivates those people? Note number 4 in my finger even says:
4: Enjoy playing against it and please do not abuse it.
Which part of that is complicated to understand?
Normally I would not care so much except in few days WCRCC is here and the seedings are to be done based on ratings, and now my rating is gone....
I removed that and I will have Plisk play 24/7 until the weekend but it is just so disappointing...
I apologize for the rant.
Regards,
Vlad.
Luckily you did not discover this in the tournament while your engine had a favourable position . This behaviour quite often exposes bugs that aren't as easily exposed in engine vs engine games, which is the primary reason I used to let Weid play online on ICC.
I once had a user on ICC that exploited a bug in Weid's book handling. He played until he found a book line that ends with two reversible moves (with Weid playing the last move). He then played this line repeatedly reversing his last move (with Weid following suite to match the best or only book move for that position) and subsequently managed to draw by three-fold repetition.
Again, this is simply a bug you have to fix. In Crafty, it won't play a repetition from book. It returns "no book move" and does a real search. If the search says the draw is the best option, it will take it, otherwise it will play a non-book-move and the game goes on.
I called it a bug in my post:
Jaap Weidemann wrote:I once had a user on ICC that exploited a bug
Needless to say I fixed it right there and then. I later found that PolyGlot had the same bug. I corrected PolyGlot too. Not sure if Fonzy merged it into his tree, it was about three years back.
bob wrote:It is pointless to complain about human behaviour. If they repeat lines, use book-learning to stop it. If they try to lock things up and run you out of time, either add code to avoid locked-up positions or modify your time usage so that you don't get far enough behind on time that you lose.
I did not complain. In fact I pointed out that
Jaap Weidemann wrote:This behaviour quite often exposes bugs that aren't as easily exposed in engine vs engine games
and furthermore that it
Jaap Weidemann wrote:is the primary reason I used to let Weid play online on ICC.
In other words I welcome this behaviour because it helps me find bugs.
How can this be a bug?
It could be (at best) a mistake in the book.
But it could be on purpose as well,why should.f.i black not take
a 3rep draw in a complicated Kings indian?
best
Fonzy
Primarily because he may have better. But he will never know if he gets into a cycle while in book. I have seen lots of GM games where they cycle twice and then vary, just to get closer to the time control without using any more time. The first case I found was years ago where Crafty had a winning move but the book line was a cycle, and if you do the cycle once, obviously you will do it again and draw, without code to recognize this.
My solution was simple. If I find a real 3-fold repetition while in book, do a normal search. That will still find the same move with a 3-fold, but it might find something better. What's to lose there?
I solved in a similar manner: before playing a book move just have a look if the position have occurred already, if it did, search. The only difference being that I do it 2 ply earlier.
Actually, I do the same. Just looked at the "RepetitionCheckBook()" function in repeat.c and one repeat will kick it out of book without playing the repetition.