Author: rasjid chan
Date: 02:01:54 04/15/04
After reading the recent post on non-recursive search, I decided to implement it. My guess is that maybe search function call overhead may be too high as I have a host of local variables that cannot be reduced. My approach is direct and simple, an attempt to immitate recursion by creating my own search stack and managing it instead of allowing C function call to do it. The idea itself in this approach is nothing complicated but then it could be tedious to debug if we make a mess of it as I did in the first attempt in too great a hurry. I have mdt(f), null-move, eval() at every node, selective prune, extentions, lazy-eval, ETC and none of them cause any exceptional difficulty. The main thing is using y = x at the proper place and what y and x should be. Also proper management of three pointers G0, G, G9 to the move_stack[MAX_PLY]. I have yet to clean it further and cannot now confirm if it is faster as I created one sticky bug in the process, the same bug always, the king causing an illegal move going into the attacks of P/N/K. It basically now searches to about the same depth, nothing ridiculous happen yet. So those who think it could be faster should try as I can do it. As Vincent mentioned, few years back no commercial chess program use recursive search. Why should they now and why should DEEP DIEP be using non recursive search if there is no SPEEDWIN. Ha Ha! Best Regards. Rasjid
This page took 0.01 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.