Author: Matthias Gemuh
Date: 07:21:46 12/31/01
Go up one level in this thread
On December 31, 2001 at 09:25:41, Miguel A. Ballicora wrote:
>On December 31, 2001 at 09:18:54, Matthias Gemuh wrote:
>
>>On December 31, 2001 at 06:56:28, Michel Langeveld wrote:
>>
>>>I hash the movecolor in the hashtable.
>>>So I have one table with all of them.
>>>
>>>void doWhiteMove(moveType m)
>>>{
>>>
>>> .... blablabla...
>>>
>>> //change color
>>> XOR(p.dynHash, moveColorHash[0]);
>>> p.moveColor = BLACK;
>>> XOR(p.dynHash, moveColorHash[1]);
>>>}
>>>
>>>What is better.. I don't know my program is only 2 months old.
>>>
>>>I think the inverting of all bits for black like Crafty does is maybe a little
>>>faster then my method.
>>>
>>>In my method if I search 5 ply for example White - Black - White - Black -
>>>White and a lot of white to moves are in the hashtable I have them spread
>>>through all the table at random.
>>>
>>>And maybe the disadvantage of that is that spreading all hashkeys can give a
>>>performance penalty with page switches. Why not build both and keep what suits
>>>you best.
>>>
>>>Michel
>>
>>
>>
>>I think mixing black and white is a bit tricky if you want to
>>guarantee that black shall NEVER try to play a white move, or vice versa.
>
>That's an illegal move as any other that you might find when you have
>a (rare) collision. So, you deal with that in the same way, there is no
>difference.
>
>Regards,
>Miguel
>
>
>>
>>Matt.
Mixing greatly increases chances of collision.
I simply store relative to color-dependent base adress.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.