Author: Stuart Cracraft
Date: 09:57:32 01/16/06
Go up one level in this thread
On January 16, 2006 at 11:32:57, Robert Hyatt wrote: >On January 14, 2006 at 23:35:15, Stuart Cracraft wrote: > >>On January 14, 2006 at 17:27:00, GeoffW wrote: >> >>>Hi Stuart >>> >>>>Where is this Winboard forum? >>> >>>http://wbforum.volker-pittlik.name/ >> >>** Thanks >>> >>>You might like it as there is a specific programming sub forum >>> >>>> >>>>Also - why haven't they turned to Arena? >>>> >>>Lots of old loyal fans for Winboard, and apparently Winboard is more robust when >>>used with the Internet chess servers. I only use Arena myself, but i know that >>>Alessandro is updating Winboard to add some interesting new stuff >>> >>> >>>>Arena doesn't have ability to play a program on ICS/FICS automatically? >>>It does have this feature, it basicially works but is a bit buggy from what I >>>recollect other people saying >>> >>>Changing subject, your post a while back where you posted a snippet of code for >>>late move reductions, any chance you could repost it please as I cant find it >>>now. >>>The reason I ask is I added the same trick to my prog, it seemed great at first >>>as it reduced node count hugeley, now I have played a few games with it though >>>it is badly reducing strength >> >>I have this in my main PVS loop (after the first move has been searched >>before the loop.) The legals includes the pre-loop move. So I have to have >>searched 4 or more legal moves, not pseudo-legal, before I can start tossing >>moves out as long as no prune is set, no extensions and no reductions. >> >>#ifdef LATEMOVEREDUCTION >> // late move reduction, i.e. the poorly named history pruning, follows. >> if (prune == 0 && extension == 0 && reduction == 0 && legals > 3 && >> >>!(sml[mvi].cap!=0||sml[mvi].pro!=0||hheuristic[stm][sml[mvi].from][sml[mvi].to]>0)) >>{ >> extension=-1; >> } >>#endif >> >>> >>>Have you got some results now as to the effect it had on your program ? >>> >>> Regards Geoff >> >>Here's the test I did to respond to your question: >> >>with Late Move Reduction: >> >> 1 second per move, 300 Win-at-Chess position, score=206. >> >>without Late Move Reduction: >> >> score=204 >> >>I know this is too close to call because it is < 1% difference. >>At 5 seconds per move, the difference was 2% in favor of LMR. >> >>But, and this is the big thing, I've wanted to call my program >>"selective" for a long time - and now I can. Sounds petty, but it's fun. >> >>Stuart > > >Let me add that WAC is but one test you need to do. You can rip out most of >your positional evaluation code and do better at WAC as they are mainly >tactical. (they are all tactical, but some programs solve a few on purely >positional grounds, luckily enough). Doing better at tactical tests might be >accompanied by doing worse in actual games, unless that is tested as well... > >Deciding whether a change is good or bad is non-trivial. I've certainly made >enough of these decisions wrongly to learn to be more careful in the future >(hence the current eval rewrite to eliminate lots of garbage). Yes - I need to add other test suites besides WAC, but my initial goal was simply to get to the point of reasonable tactical play. I do not think 266/300 on WAC at 5 seconds a move on a 3.2ghz P4 is yet there. Beyond this, it is a question of how much I can do at one time and single goals are easier for me. Trying to handle multiple simultaneous goals is not something that I wish to do in my hobby. I am currently adding terminal node full evaluation and surprised it has not worsened my WAC results but improved them slightly. For example, I have mobility, some pawn generation, a little king safety, etc. These helped do a couple percent better on WAC. That's the kind of conservative improvement I am looking for. I am past the point of believing that something I add is going to have a 10 position or 20 position improvement at this stage. Stuart
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.