Author: Andrei Fortuna
Date: 17:17:22 03/21/00
Go up one level in this thread
On March 21, 2000 at 20:12:49, Bruce Moreland wrote: >On March 21, 2000 at 20:06:10, Andrei Fortuna wrote: > >>In my chess program Freyr I've used simple alpha beta from the start, each time >>I tried to change it to pvs/negascout it didn't work as expected because it just >>generated too many nodes. Does anyone else experienced this behavior ? Is there >>a logical explanation for this ? >> >>First I thought I needed better move ordering, so I used SEE for ordering >>captures and history scores for non-captures, but the efect was the same. >> >>Then I rewrote the search function, making it as simple as possible, generate >>all moves from the start, score captures based on SEE and non captures based on >>history scores (making sure that the SEE scores are a few orders of magnitude >>higher than history scores so winning captures get first), then sort the move >>list and process moves, no hashtable or any other trick. To my disapointment the >>simple AB was again generating much more less nodes than my PVS. >> >>Here's an approximation of the simplified code I used : >> >>Search(alpha, beta, depth, ply) >> if (depth <= 0) >> return Quiescence(...) >> >> [generate all moves] >> [score moves based on SEE and history] >> [sort moves based on score] >> >> moves_searched = 0; >> >> for each move m { >> make move(m) >> >> #if USE_AB >> score = -Search(-beta, -alpha, ...) >> #else // pvs >> if (moves_searched == 1) > >You want == 0 here. This is almost certainly the cause of your problem, because >you use the wide window only on the second move you try. No, this is not my problem, it was a typo. I ment == 0 in the first place in my code I use first moves_searched++ here I modified the order and incremented this last but forgot to decrement here.
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.