Value draw

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

lech
Posts: 1136
Joined: Sun Feb 14, 2010 10:02 pm

Value draw

Post by lech »

Let me show in which way I solved the problem with "value draw" in search.
If any move on the root returns VALUE_DRAW (= 0) and it is the new alpha, the next move(s) statrts search with alpha = VALUE_DRAW - 1.
What happens?
If any next move returns VALUE_DRAW too, the move is verified in PV search.
Maybe, I can't be friendly, but let me be useful.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Value draw

Post by bob »

lech wrote:Let me show in which way I solved the problem with "value draw" in search.
If any move on the root returns VALUE_DRAW (= 0) and it is the new alpha, the next move(s) statrts search with alpha = VALUE_DRAW - 1.
What happens?
If any next move returns VALUE_DRAW too, the move is verified in PV search.
Main effect is you make your tree significantly larger, which means slower.
lech
Posts: 1136
Joined: Sun Feb 14, 2010 10:02 pm

Re: Value draw

Post by lech »

bob wrote:
lech wrote:Let me show in which way I solved the problem with "value draw" in search.
If any move on the root returns VALUE_DRAW (= 0) and it is the new alpha, the next move(s) statrts search with alpha = VALUE_DRAW - 1.
What happens?
If any next move returns VALUE_DRAW too, the move is verified in PV search.
Main effect is you make your tree significantly larger, which means slower.
I can't see any negative effects in play. Please note that it regards only "draw positions" in which some engines can be very fast and blind.
Maybe, I can't be friendly, but let me be useful.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Value draw

Post by bob »

lech wrote:
bob wrote:
lech wrote:Let me show in which way I solved the problem with "value draw" in search.
If any move on the root returns VALUE_DRAW (= 0) and it is the new alpha, the next move(s) statrts search with alpha = VALUE_DRAW - 1.
What happens?
If any next move returns VALUE_DRAW too, the move is verified in PV search.
Main effect is you make your tree significantly larger, which means slower.
I can't see any negative effects in play. Please note that it regards only "draw positions" in which some engines can be very fast and blind.
This would appear to make you play the last drawing move searched, rather than the first. Which is a form of multi-PV. You must be able to measure the costs, because normally alpha/beta pruning would cull the second drawing move quickly, as opposed to proving every pathway leads to a draw or better...
AlvaroBegue
Posts: 931
Joined: Tue Mar 09, 2010 3:46 pm
Location: New York
Full name: Álvaro Begué (RuyDos)

Re: Value draw

Post by AlvaroBegue »

Can you see any positive effects? What's the point of this modification? Is it just cosmetic or do you expect to win more games by doing this?
lech
Posts: 1136
Joined: Sun Feb 14, 2010 10:02 pm

Re: Value draw

Post by lech »

bob wrote:
lech wrote:
bob wrote:
lech wrote:Let me show in which way I solved the problem with "value draw" in search.
If any move on the root returns VALUE_DRAW (= 0) and it is the new alpha, the next move(s) statrts search with alpha = VALUE_DRAW - 1.
What happens?
If any next move returns VALUE_DRAW too, the move is verified in PV search.
Main effect is you make your tree significantly larger, which means slower.
I can't see any negative effects in play. Please note that it regards only "draw positions" in which some engines can be very fast and blind.
This would appear to make you play the last drawing move searched, rather than the first.
I can't see it
bob wrote: Which is a form of multi-PV. You must be able to measure the costs, because normally alpha/beta pruning would cull the second drawing move quickly, as opposed to proving every pathway leads to a draw or better...
Try and next give me the cost.
Maybe it is better to have the hourse with a tail.
Maybe, I can't be friendly, but let me be useful.
lech
Posts: 1136
Joined: Sun Feb 14, 2010 10:02 pm

Re: Value draw

Post by lech »

AlvaroBegue wrote:Can you see any positive effects? What's the point of this modification? Is it just cosmetic or do you expect to win more games by doing this?
It works in many positions (mainly zugzwang). It stops a blind search. The hourses like to have tails. If someting is for chess let it be wise.
Maybe, I can't be friendly, but let me be useful.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Value draw

Post by bob »

lech wrote:
bob wrote:
lech wrote:
bob wrote:
lech wrote:Let me show in which way I solved the problem with "value draw" in search.
If any move on the root returns VALUE_DRAW (= 0) and it is the new alpha, the next move(s) statrts search with alpha = VALUE_DRAW - 1.
What happens?
If any next move returns VALUE_DRAW too, the move is verified in PV search.
Main effect is you make your tree significantly larger, which means slower.
I can't see any negative effects in play. Please note that it regards only "draw positions" in which some engines can be very fast and blind.
This would appear to make you play the last drawing move searched, rather than the first.
I can't see it
bob wrote: Which is a form of multi-PV. You must be able to measure the costs, because normally alpha/beta pruning would cull the second drawing move quickly, as opposed to proving every pathway leads to a draw or better...
Try and next give me the cost.
Maybe it is better to have the hourse with a tail.
No idea what you are trying to say. If you artificially lower alpha, you make the tree larger. Period. Move that would cutoff now do not. I'm not sure what you mean by "give me the cost". Surely you can modify your program to do the normal thing, search some test positions to fixed depth with old and new versions and compare the total nodes searched?
Uri Blass
Posts: 10312
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Value draw

Post by Uri Blass »

AlvaroBegue wrote:Can you see any positive effects? What's the point of this modification? Is it just cosmetic or do you expect to win more games by doing this?
I guess that the positive effect is not be enough to compensate for the negative effect but it is clear that there are positions when there can be a positive effect.

The point is that if the side to move can get a draw by move A then maybe the side to move can also win by move B that the program can find faster with less pruning.

Of course there is also negative effect that the program may not search deep enough to find that move A is losing when it can save the game by move B that gives a small advantage to the opponent that is not enough to win the game.

Note that cases when the evaluation is exactly 0 are minority of the cases so I guess that the effect is small and you lose less than 10 elo by it.

Uri
lech
Posts: 1136
Joined: Sun Feb 14, 2010 10:02 pm

Re: Value draw

Post by lech »

Uri Blass wrote:
AlvaroBegue wrote:Can you see any positive effects? What's the point of this modification? Is it just cosmetic or do you expect to win more games by doing this?
I guess that the positive effect is not be enough to compensate for the negative effect but it is clear that there are positions when there can be a positive effect.

The point is that if the side to move can get a draw by move A then maybe the side to move can also win by move B that the program can find faster with less pruning.

Of course there is also negative effect that the program may not search deep enough to find that move A is losing when it can save the game by move B that gives a small advantage to the opponent that is not enough to win the game.

Note that cases when the evaluation is exactly 0 are minority of the cases so I guess that the effect is small and you lose less than 10 elo by it.

Uri
Thanks Uri, I very like and respect you and your "brothers".

Robert, sorry but are you sure that you make a chess engine?
Maybe, I can't be friendly, but let me be useful.