two crafty suggestions

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Cardoso
Posts: 362
Joined: Thu Mar 16, 2006 7:39 pm
Location: Portugal
Full name: Alvaro Cardoso

two crafty suggestions

Post by Cardoso »

Hi Bob,
I noticed in MakeMove you do:
tree->save_hash_key[ply] = HashKey;
tree->save_pawn_hash_key[ply] = PawnHashKey;
wouldn't we save some time if instead we do it at the top of the search when entering a new node?
If you save that in that place you woudn't need to do it at every MakeMove.

The other suggestion is if you could gradually make crafty more friendly to the Microsoft Visual Studio 2008 compiler. I know you don't like windows, I don't like it either. But windows have a very large install base and when I pass my programs to some friends of mine they must be for windows because all the have is windows.
You are a friend of Eugene Nalimov, wich is a msvc guru, maybe he could contribute.

Best regards,
Alvaro
Cardoso
Posts: 362
Joined: Thu Mar 16, 2006 7:39 pm
Location: Portugal
Full name: Alvaro Cardoso

A few more things

Post by Cardoso »

Have you tried to also use killer moves from [ply-2]?
And what about a mate killer? A killer with a mate score should probably go after the hash move. This idea is from Ed Schroeder.
It is these little things I would like to test if I could compile crafty with msvc :)

best regards,
Alvaro
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: A few more things

Post by bob »

Cardoso wrote:Have you tried to also use killer moves from [ply-2]?
And what about a mate killer? A killer with a mate score should probably go after the hash move. This idea is from Ed Schroeder.
It is these little things I would like to test if I could compile crafty with msvc :)

best regards,
Alvaro
I don't think the "mate killer" is worthwhile myself. Mates are very rare in a chess game, until the game has probably already been decided by previous play. I doubt it would offer any speedup at all except in mate-in-N type positions. The commercial guys used to (probably still do) care about solution times on chess problems, where I really don't...

The killers from ply-2 and such have already been tried. We did this in Cray Blitz and it was effective, but for whatever reason (aggressive null-move, reductions, extensions, etc) it did not work when I tried it. It didn't hurt, but it is a performance hit that slowed things down and didn't reduce the tree size to compensate for this.