I assume you talk about a symmetric mobility/activity here (so not using side to move other than for the sign)?diep wrote: Thing is that carried out correctly, a sense of activity (that's how Johan de Koning calls mobility) by means of a side to move bonus is not superior nor a good addition to well carried out mobility.
Vincent
Side to Move Bonus---does it help?
Moderators: hgm, Rebel, chrisw
-
- Posts: 201
- Joined: Thu Mar 22, 2007 7:12 pm
- Location: Netherlands
Re: Side to Move Bonus---does it help?
-
- Posts: 778
- Joined: Sat Jul 01, 2006 7:11 am
Re: Side to Move Bonus---does it help?
I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
-
- Posts: 64
- Joined: Thu Mar 09, 2006 11:07 am
- Location: Budapest, Hungary
Re: Side to Move Bonus---does it help?
Hi all,
In my opinion the side_to_move bonus can also be less than zero. The reason is the stand pat rule which is applied at leaf nodes. It says: "I consider this position quiet because I don't have any good capture". But what if the opponent has threats hanging. Most of the programs (as mine ) are blind to such cases and terminates early. This way they introduce errors and to have the right to move in the evaluation is not advantegous but hurts. So I think it depends on the implementation of the quiescent search.
A human is just very good at recognizing a quiet position unlike chess programs.
In my opinion the side_to_move bonus can also be less than zero. The reason is the stand pat rule which is applied at leaf nodes. It says: "I consider this position quiet because I don't have any good capture". But what if the opponent has threats hanging. Most of the programs (as mine ) are blind to such cases and terminates early. This way they introduce errors and to have the right to move in the evaluation is not advantegous but hurts. So I think it depends on the implementation of the quiescent search.
A human is just very good at recognizing a quiet position unlike chess programs.
Regards,
László
László
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Side to Move Bonus---does it help?
I'm not sure you are measuring "side to move". You take positions where X is on move. If you search it with X on move, and then with Y on move, I would expect it to be much different for Y on move, since Y just got to play two consecutive moves without an intervening opponent reply. That would seem to me to bias the result in that direction. By picking positions like this from a real game, which might have only 60 moves, it would be very likely that you pick positions where side to move is critical, whereas deep in the tree, these errors have a much tougher time influencing the root move and/or score...jwes wrote:I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
-
- Posts: 4567
- Joined: Sun Mar 12, 2006 2:40 am
- Full name:
Re: Side to Move Bonus---does it help?
It is interesting. Maybe as a supplement to what Bob is saying, you could run the same kind of test with Crafty only doing a nullmove search in the same positions that you let continue for thirty seconds and compare it with the outcome of a normal search for the side to move in the game run for thirty seconds. Would that not be the same test? 2.44 pawns seems a lot but what Robert says it would seem that it is the effect of side to move that is enlarged by a searchtree of approximately thirty seconds. It would imply that having the right to move twice in a row in a game is almost enough for making up the difference of a minor piece. Maybe it also means that deep nullmove searches should be treated different from shallow nullmove searches. I have never really tested anything like this, but if score differences grow quickly enough it would seem to mean that -a lot? - more moves get rejected because of a bad nullmove result on deeper searches. One may question if nullmove is always sound if nullmove enlarges the side to move advantage this much as your experiment seems to indicate it does, and this difference is proportional to searchdepth. (Like Robert say this side to move advantage is different from the side to move bonus, which has to be an average and only makes up for differences in evaluation in a one ply search, in my opinion).jwes wrote:I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
I already do not trust deep nulmove searches much because they would in theory become more unrealistic with greater depth, but the difficulty is that if you replace it with other forward pruning techniques these have other drawbacks.
One would like to know what exactly the thoughts of programmers like Richard Lang and Ed Schröder are on this matter Because they are from the days before nullmove
Regards, Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
-
- Posts: 4567
- Joined: Sun Mar 12, 2006 2:40 am
- Full name:
Re: Side to Move Bonus---does it help?
Excuse me, this would be incorrect, if the differences are enlarged, more moves will exceed beta, less moves will be rejected.Eelco de Groot wrote: I have never really tested anything like this, but if score differences grow quickly enough it would seem to mean that -a lot? - more moves get rejected because of a bad nullmove result on deeper searches.
The second "repair move" as I like to call it becomes more effective so deficiencies in the first move will tend to be covered up by a deeper null move search. Deeper nullmove searches should probably be required to go higher above beta than shallow nullmove searches, to make up for this. I had tested something like this, nullmove should exceed beta by a fixed amount, in the modified Blueberry Togas but not yet some correction that is linear or proportionate with nullmove search depth.
Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Side to Move Bonus---does it help?
I'd almost believe that having the right to move twice at a point of my choosing _is_ worth a minor piece. You can not not move your queen to any square that can be attacked in one move, because I will attack and capture it with my two moves and the game will likely be over. Ditto for rooks or minors, where you can't put a minor on any unprotected square where it can be attacked in one move or it will be lost.Eelco de Groot wrote:It is interesting. Maybe as a supplement to what Bob is saying, you could run the same kind of test with Crafty only doing a nullmove search in the same positions that you let continue for thirty seconds and compare it with the outcome of a normal search for the side to move in the game run for thirty seconds. Would that not be the same test? 2.44 pawns seems a lot but what Robert says it would seem that it is the effect of side to move that is enlarged by a searchtree of approximately thirty seconds. It would imply that having the right to move twice in a row in a game is almost enough for making up the difference of a minor piece. Maybe it also means that deep nullmove searches should be treated different from shallow nullmove searches. I have never really tested anything like this, but if score differences grow quickly enough it would seem to mean that -a lot? - more moves get rejected because of a bad nullmove result on deeper searches. One may question if nullmove is always sound if nullmove enlarges the side to move advantage this much as your experiment seems to indicate it does, and this difference is proportional to searchdepth. (Like Robert say this side to move advantage is different from the side to move bonus, which has to be an average and only makes up for differences in evaluation in a one ply search, in my opinion).jwes wrote:I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
I already do not trust deep nulmove searches much because they would in theory become more unrealistic with greater depth, but the difficulty is that if you replace it with other forward pruning techniques these have other drawbacks.
One would like to know what exactly the thoughts of programmers like Richard Lang and Ed Schröder are on this matter Because they are from the days before nullmove
Regards, Eelco
We used to play a variation of chess based on this idea at our chess club years ago and this really is a devastating advantage to have. But it isn't the same as the "side to move bonus" in any shape or form. The side to move bonus still has a full material count, a full positional score, and does not let one side move twice. It is just a "it is my move, so I can improve my position by some small amount, normally, so I will adjust fhe score to compensate for that."
-
- Posts: 10311
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Side to Move Bonus---does it help?
I do not think that it seems bizarre.jwes wrote:I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
Chess is a tactical game and in many position you threat to win material.
The actual value of the side to move is simply not relevant because there are non quiet positions that you cannot get as leaf position
1.e4 e5 2.Nf3 Qh4
The value of the side to move here is a queen but you simply never evaluate it as leaf position when white to move.
Uri
-
- Posts: 778
- Joined: Sat Jul 01, 2006 7:11 am
Re: Side to Move Bonus---does it help?
A few notes:Eelco de Groot wrote:It is interesting. Maybe as a supplement to what Bob is saying, you could run the same kind of test with Crafty only doing a nullmove search in the same positions that you let continue for thirty seconds and compare it with the outcome of a normal search for the side to move in the game run for thirty seconds. Would that not be the same test? 2.44 pawns seems a lot but what Robert says it would seem that it is the effect of side to move that is enlarged by a searchtree of approximately thirty seconds. It would imply that having the right to move twice in a row in a game is almost enough for making up the difference of a minor piece. Maybe it also means that deep nullmove searches should be treated different from shallow nullmove searches. I have never really tested anything like this, but if score differences grow quickly enough it would seem to mean that -a lot? - more moves get rejected because of a bad nullmove result on deeper searches. One may question if nullmove is always sound if nullmove enlarges the side to move advantage this much as your experiment seems to indicate it does, and this difference is proportional to searchdepth. (Like Robert say this side to move advantage is different from the side to move bonus, which has to be an average and only makes up for differences in evaluation in a one ply search, in my opinion).jwes wrote:I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
I already do not trust deep nulmove searches much because they would in theory become more unrealistic with greater depth, but the difficulty is that if you replace it with other forward pruning techniques these have other drawbacks.
One would like to know what exactly the thoughts of programmers like Richard Lang and Ed Schröder are on this matter Because they are from the days before nullmove
Regards, Eelco
The actual difference is twice the side to move bonus, so for random positions when Evaluate is called, the difference is almost a rook.
I ran two more tests:
1. Searched the first test set for 1 second instead of 30 seconds. The side to move bonus dropped slightly to 2.29 pawns.
2. Searched positions taken from grandmaster games rather than after a short search. The side to move bonus was 1.09 pawns.
-
- Posts: 1494
- Joined: Thu Mar 30, 2006 2:08 pm
Re: Side to Move Bonus---does it help?
could these values be used to make a more agressive null search? If a double move is not worth this amount, might it be safe to prune?jwes wrote:A few notes:Eelco de Groot wrote:It is interesting. Maybe as a supplement to what Bob is saying, you could run the same kind of test with Crafty only doing a nullmove search in the same positions that you let continue for thirty seconds and compare it with the outcome of a normal search for the side to move in the game run for thirty seconds. Would that not be the same test? 2.44 pawns seems a lot but what Robert says it would seem that it is the effect of side to move that is enlarged by a searchtree of approximately thirty seconds. It would imply that having the right to move twice in a row in a game is almost enough for making up the difference of a minor piece. Maybe it also means that deep nullmove searches should be treated different from shallow nullmove searches. I have never really tested anything like this, but if score differences grow quickly enough it would seem to mean that -a lot? - more moves get rejected because of a bad nullmove result on deeper searches. One may question if nullmove is always sound if nullmove enlarges the side to move advantage this much as your experiment seems to indicate it does, and this difference is proportional to searchdepth. (Like Robert say this side to move advantage is different from the side to move bonus, which has to be an average and only makes up for differences in evaluation in a one ply search, in my opinion).jwes wrote:I ran a small experiment. I hacked crafty to save the position at the call to Evaluate once for every million calls. I then analyzed a file of grandmaster games at a low depth, and got roughly one position per game. I then analyzed these positions for 30 seconds with white to move and with black to move. I removed positions with either side in check and positions where a mate was found. I calculated the side to move bonus that would make the evaluations equal and it came out 2.44 pawns. This seemed bizarre but when I looked at a number of positions, there was that much difference in scores. I then reran the experiment taking only positions where the score was between alpha and beta and there are no more good captures. This time the side to move bonus was .93 pawns. I am sometimes amazed that alpha-beta works at all for chess. I would be interested in any explanations on how no or small side to move bonuses work when the actual value of the move is much higher.
I already do not trust deep nulmove searches much because they would in theory become more unrealistic with greater depth, but the difficulty is that if you replace it with other forward pruning techniques these have other drawbacks.
One would like to know what exactly the thoughts of programmers like Richard Lang and Ed Schröder are on this matter Because they are from the days before nullmove
Regards, Eelco
The actual difference is twice the side to move bonus, so for random positions when Evaluate is called, the difference is almost a rook.
I ran two more tests:
1. Searched the first test set for 1 second instead of 30 seconds. The side to move bonus dropped slightly to 2.29 pawns.
2. Searched positions taken from grandmaster games rather than after a short search. The side to move bonus was 1.09 pawns.