Author: Tony Werten
Date: 23:43:08 11/15/00
Go up one level in this thread
On November 15, 2000 at 22:57:05, Michael Neish wrote: >On November 15, 2000 at 22:30:41, James Swafford wrote: > >>There are lots of variables here. :-) > >Of course I'm aware of that, but I thought there may be a simple explanation. I >converted my program to bitboards some time ago, and it ended up slowing down >the program by about 30%, although I think it's worth it in the long run. Of >course I'm using quiesce(), and counting all nodes in search() and quiesce() -- >separately, just to see the proportion of nodes searched in each. I use lazy >eval, but at the moment generate caps and non-caps together. Separating them is >next on my list, though I don't think that it will make up for the huge >difference, do you? Hi Mike, seperating captures and non captures makes a lot of difference. >Yes I can fail high before generating moves if the hash >score says so. So in this case you didn't generate at all. ( generate anyway and see the slowdown.You are giving away a lot more cycles) 1 do hashmove if it's allowed. 2 generate (and do ) captures (exclude hashmove if it's a capture!) 3 do killermovesif the're allowed. 4 generate ( and do ) non captures. (exclude played killermoves and noncapture hashmove) If you do this basic stuff, you don't have to generate non-captures very often ( less than 30% I guess ) wich is nice because they are the biggest bunch. >I also use mva/lva and return early from quiesce() if the >captured piece doesn't bring the score high enough. I also do a little bit of >futility pruning, but not really enough to affect speed I think. It shouldn't. Using SEE will give you a slowdown, but saves nodes as well. cheers, Tony > >In your experience, what sort of gain could I expect from generating captures >and trying them before generating non-captures? By the way, I generate moves >before trying the hash move (though it's placed first on the list). Surely >there's a lot of optimisation possible here. But again, is it enough to make up >the difference? > >Oh, and by optimisation I mean "hand optimised". I have a lot of diagnostics >running, and some experimental stuff which I'll optimise if worthwhile. I'm >using CodeWarrior Pro 5 with all optimisations on full, of course. > >Thanks for your reply. > >Mike. > > > >>-- >>James
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.