Author: Scott Gasch
Date: 14:56:03 01/16/03
Go up one level in this thread
On January 16, 2003 at 17:35:31, Uri Blass wrote: >On January 16, 2003 at 15:56:43, Scott Gasch wrote: > >>Hi, >> >>Bruce's recent posts about code efficiency have had the opposite affect he >>intended, on me at least. I've been profiling and looking to trim the fat from >>my code since reading them. I have made some progress, I'm glad to report. >> >>As part of these experiments I enabled a material-only eval routine. Running a >>raw speed test with this simple eval I noticed my engine still was only about as >>fast as "fast" engines on the same machine. Engines like yace/crafty/ruffian >>seem to run about as fast on my machine as my poor engine does with only a >>material count eval. This indicates to me that I am generating and scoring >>moves too slowly. >> >>So I profiled my engine with the material only eval and found that it is >>dominated by the SEE code. This is partially my own fault because I have a >>pretty complicated SEE that handles stuff like accurate pawn promotion scores, >>pieces that can't participate because they are pinned against the king, >>attackers/defenders exposed in the middle of the exchange, etc. >> >>My question for those of you with fast move generators, especially those using >>SEEs to score moves, is how do you do it? Vincent said something to me about >>not scoring all the moves generated which doesn't make any sense (at least to >>me). I don't run the hash move through the SEE since I am going to try it first >>anyway. And I won't bother to send PxQ through the SEE, clearly it's a winning >>move. I send all promotions, apparently even captures, and apparently losing >>captures though the SEE though to make sure I have a score on every move >>generated, though. I do this because when I go to pick the next best move out >>of the list I need to know the score of every move generated. Am I missing some >>trick here? >> >>I have a feeling that monsoon is due for a major code revision after CCT5... I >>have a bunch of ideas I want to try like: parallel search, incremental attack >>tables instead of an SEE, better POSITION data structure, etc... Thanks for any >>and all advice. >> >>Scott > >1)I suspect that your SEE may be better than the SEE of fast searchers so I >doubt if the fact that you can search less nodes is a real problem. > >2)I think that for people with complex evaluation the speed of the move >generator is not very important and my impression based on previous post of you >about a position that monsoon evaluated better than the commercial programs is >that monsoon has a very complex evaluation. > >I read that you are a bad player so I wonder how did you succeed to give monsoon >a complex evaluation. > >Uri Well for one because I have bad chess skills does not mean that I can't what positional features are important in a game. I have bought and read several chess books looking for ideas for my eval. I highly recommend Pawn Power in Chess and How to Reassess Your Chess. Beyond that I used ideas from other engines, "rules of thumb" etc... When I find a position where I think monsoon played badly or a PV I do not understand I trace it out, dump the eval terms and see if I think anythign is wrong, then tune it up. I do not think my eval is that great to be honest. I need a better attack table to do everythign I would like to do. I am already slow enough, though... I have no time to spend on building one. After CCT5 I will play with this idea though. Scott
This page took 0.01 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.