# Computer Chess Club Archives

## Messages

### Subject: Re: The Code for the Rybka-Mate-Bug

Author: Uri Blass

Date: 16:50:02 12/14/05

Go up one level in this thread

```On December 14, 2005 at 19:25:38, Dann Corbit wrote:

>On December 14, 2005 at 19:18:28, Uri Blass wrote:
>
>>On December 14, 2005 at 18:53:21, Dann Corbit wrote:
>>
>>>On December 14, 2005 at 08:00:00, Vasik Rajlich wrote:
>>>
>>>>On December 14, 2005 at 04:44:15, Steve Maughan wrote:
>>>>
>>>>>Vasik,
>>>>>
>>>>>>The problem is when the hash entry ages.
>>>>>
>>>>>This is easy to get around - just store the distance to mate from the *position*
>>>>>(i.e. not the root) in the hash table.
>>>>>
>>>>>In pseudo code:
>>>>>
>>>>>procedure push_hash(position)
>>>>>begin
>>>>>	if winning_mate_value_in_hash then
>>>>>		hash_draft_depth += position's_ply_from_root
>>>>>	else if losing_mate_value_in_hash then
>>>>>		hash_draft_depth -= position's_ply_from_root
>>>>>	store(position)
>>>>>end;
>>>>>
>>>>>procedure probe_hash(position)
>>>>>begin
>>>>>	if found_in_table(poistion) then
>>>>>	begin
>>>>>		get_hash(position)
>>>>>		if winning_mate_value_in_hash then
>>>>>			hash_draft_depth -= position's_ply_from_root
>>>>>		else if losing_mate_value_in_hash then
>>>>>			hash_draft_depth += position's_ply_from_root
>>>>>	end
>>>>>end;
>>>>>
>>>>>I hope this helps!
>>>>>
>>>>>Regards,
>>>>>
>>>>>Steve
>>>>
>>>>Steve,
>>>>
>>>>thanks, I guess this also works - although it's a bit dirty.
>>>
>>>What's the other way to do it?
>>
>>see my post in
>>
>>http://www.talkchess.com/forums/1/message.html?470096
>
>Can't the same position (therefore) have a huge number of different scores then
>(depending on where we saw it in the tree)?
>
>Tbis way seems more complicated to me.

You are right.
I did not think about that problem.

I do not use hash for pruning so I have no experience with that problem.

Uri

```