TalkChess.com
Hosted by Your Move Chess & Games

Author Message
Martin Sedlak

Joined: 26 Nov 2010
Posts: 701

Post subject: Re: futility pruining, razoring question    Posted: Mon Apr 09, 2012 9:04 pm

elcabesa wrote:

 Code: if(!isCheck && beta ==alpha+1 && depth<=3 && abs(beta) < CHECKMATESCORE - 1000){    int score=board.eval();         if ( score + razoringMargin(depth) < alpha )         {             int res = qsearch( ply, alpha-razoringMargin(depth), beta - razoringMargin(depth) );            if (res - razoringMargin(depth) <= alpha)                 return score;         }     } }

what still I havent' understood is how big could be razorMargin.

I guess it should be:

 Code: if(!isCheck && beta ==alpha+1 && depth<=3 && abs(beta) < CHECKMATESCORE - 1000){    int score=board.eval();         if ( score + razoringMargin(depth) < alpha )         {             int res = qsearch( ply, alpha-razoringMargin(depth), beta - razoringMargin(depth) );            if (res + razorMargin(depth) <= alpha )                 return score; // or res or alpha         }     } }

as for razormargin, i guess you are looking for values between 1 to 4 pawns. Best is to test which values are optimal for your engine.
I tried to measure razoring success for static margin of a minor piece in my engine and got something like 99.5% success rate, which means in 0.5% it razored cut nodes instead of all nodes; but it will depend on a type of position. In balanced positions it will be much closer to 100%. My guess is that you can try lower margin when you are closer to the leafs.
I hope I didn't write a BS

Martin
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
Subject Author Date/Time
Marco Belli Wed Apr 04, 2012 6:21 pm
Robert Hyatt Thu Apr 05, 2012 7:07 pm
Karlo Bala Jr. Thu Apr 05, 2012 7:59 pm
Vincent Diepeveen Thu Apr 05, 2012 11:47 pm
Lucas Braesch Fri Apr 06, 2012 3:34 am
Martin Sedlak Fri Apr 06, 2012 3:35 am
Martin Sedlak Fri Apr 06, 2012 4:10 am
Martin Sedlak Fri Apr 06, 2012 5:15 am
Marco Costalba Fri Apr 06, 2012 5:45 am
Lucas Braesch Fri Apr 06, 2012 7:22 am
Martin Sedlak Fri Apr 06, 2012 7:30 am
Lucas Braesch Fri Apr 06, 2012 8:36 am
Marco Costalba Fri Apr 06, 2012 11:42 am
Lucas Braesch Fri Apr 06, 2012 1:21 pm
Ricardo Barreira Fri Apr 06, 2012 3:00 pm
Vincent Diepeveen Fri Apr 06, 2012 5:21 pm
Lucas Braesch Sat Apr 07, 2012 1:59 am
Vincent Diepeveen Sat Apr 07, 2012 8:22 am
Marco Costalba Sat Apr 07, 2012 9:52 am
Vincent Diepeveen Sat Apr 07, 2012 1:53 pm
Ed Schroder Sat Apr 07, 2012 3:46 pm
Vincent Diepeveen Sat Apr 07, 2012 4:07 pm
Lucas Braesch Sun Apr 08, 2012 3:08 am
Vincent Diepeveen Sun Apr 08, 2012 10:12 am
Matthew R. Brades Sun Apr 08, 2012 11:18 am
Marco Belli Mon Apr 09, 2012 7:42 pm
Marco Belli Mon Apr 09, 2012 8:23 pm
Re: futility pruining, razoring question Martin Sedlak Mon Apr 09, 2012 9:04 pm
Marco Belli Mon Apr 09, 2012 9:24 pm
Marco Belli Tue Apr 10, 2012 10:52 am
Martin Sedlak Tue Apr 10, 2012 11:58 am
John Merlino Sat Apr 07, 2012 5:10 pm
Vincent Diepeveen Sat Apr 07, 2012 5:41 pm
John Merlino Sat Apr 07, 2012 5:54 pm

 Jump to: Select a forum Computer Chess Club Forums----------------Computer Chess Club: General TopicsComputer Chess Club: Tournaments and MatchesComputer Chess Club: Programming and Technical DiscussionsComputer Chess Club: Engine Origins Other Forums----------------Chess Thinkers ForumForum Help and Suggestions
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum