Author: Koundinya Veluri
Date: 03:27:12 09/01/01
Go up one level in this thread
On August 31, 2001 at 12:02:54, Antonio Dieguez wrote: > >>Interesting point, I'll have to try this before going on about the differences I >>see between them. But I don't understand one thing. The first part: >> >>>(when depth =1 and blablabla...) >>> >>>int ev=evaluate(...); >>> >>>if (ev>=beta+window) >>>{ return beta; } >> >>is happening at depth == 1. But it looks like these: >> >>>for captures: >>>... >>>if (ev+expectedMaterialGain+window2<=current_alpha) >>>{ skip that capture } >>>... >>> >>>for other moves: >>>... >>>if (ev+MaximumExpectedPositionalGainWithThisMove<=current_alpha) >>>{ skip this move. } >>>... >> >>are also happening at depth == 1. After depth == 1, I do a quiescence search >>anyway so what would I be pruning out? > >The moves skiped....... > >Anyway, are you acord with me that you are doing extra work right? >you can get the same effect without an aditional call to quiesce. >forget my futility prunning for captures and non captures if that is confusing >you, do the way you wish or were doing before. The only additional thing that >your qsearch adds is the if eval()>=beta+window then return beta, nothing more. > > >bye bye bye. Thanks for clearing my doubt. Yes, I'm probably doing more work than I need to, but that's the case for the rest of my program as well :). Ignore the eval()>=beta+window part, and I still don't agree that the qsearch is doing the same pruning as your futility pruning for captures an non-captures. The idea is the same but the conditions for pruning are very different. I tried futility pruning before but it just didn't work in my program. I guess they just work differently in every program. 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.