Author: Koundinya Veluri
Date: 16:13:32 09/01/01
Go up one level in this thread
On September 01, 2001 at 18:55:03, Koundinya Veluri wrote: >On September 01, 2001 at 17:23:02, Antonio Dieguez wrote: > >>On September 01, 2001 at 17:19:44, Antonio Dieguez wrote: >> >>> >>>>int ev=evaluate(...) >>>> >>>>if (ev>=beta+window) >>>>{ return beta; } >>>> >>>>then see captures with this window: (alpha-window,beta) >>>> >>>>if that alpha-window was not improved then return alpha. >>>> >>>>(less nodes, and now exactly the same, if I am not mistaken...) >>> >>>it is not the same! but perhaps you like it better anyway. >>> >>>It is not the same because in your original code, when your quiesce return a >>>value *by evaluation*, inside the window, that pos. is not pruned then but now >>>it can... well, I give up! :) >> >>This way: >> >>int ev=evaluate(...) >> >>if (ev>=beta+window) >>{ return beta; } >> >>then see captures with this window: (alpha-window,beta) >> >>if that alpha-window was not improved AND ev<=alpha-window then return alpha. >> >>------------ >> >>IT'S THE SAME. I sure! :) :) > >Yes this is pretty much the same! Wow, I never thought it would be possible >without the extra qsearch, but you seemed to have conquered it! > >Although it is missing just one type of pruning that my original code was doing, >the case where a capture causes alpha to increase beyond beta+window, but this >is a small thing. > >I had some trouble understanding why the ev<=alpha-window was needed, but the >way I understood it, I think it would be better to use a wider window in the >evaluate() call itself rather than specify that ev<=alpha-window at the end. > >Here is the modified stuff put together: > >int ev=evaluate(alpha-window,beta+window) > >if (ev>=beta+window) >{ return beta; } > >then see captures with this window: (alpha-window,beta+window) > >if that alpha-window was not improved then return alpha. >if that alpha-window was improved to greater than beta+window then return beta. > >Think this should be right. I will let you know how "same" it really is after >testing. Thanks for your many suggestions! > >Koundinya Oops, stupid mistake... you were right before. It's been a long day :) int ev=evaluate(alpha-window,beta+window) if (ev>=beta+window) { return beta; } then see captures with this window: (alpha-window,beta) if that alpha-window was not improved then return alpha. ---------- I think if the larger window is used in evaluate(), the ev<=alpha-window part is not needed. Maybe I'll find myself wrong again tomorrow... Thanks again. Koundinya
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.