Author: rasjid chan
Date: 11:05:42 04/15/04
Go up one level in this thread
On April 15, 2004 at 12:22:43, Stefano Gemma wrote: >On April 15, 2004 at 05:01:54, rasjid chan wrote: > >>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 >[...] > >In my old program Drago for Dos (1993's sources are at www.linformatica.com), i >don't use recursive search. The same was for Raffaela. Both are written in >assembly. I use a fixed area of memory to old variables for any node (it is >something like an array of struct, but in assembly). Debugging a non-recursive >engine in assembly, with a lot of conditional jump was very hard. My last >engine, Freccia, don't use non-recursive search but still i don't use stack for >variables but the old array of struct. I think this is the better way to do, in >my program. Debugging is easyer and i can preset some fixed constant depending >on the node depth. > >Ciao!!! > >Stefano Gemma To do non-recursive search in assembly would be too tough for me, even with easy C the debugging can be tricky. I am not sure I know or use programming terms / naming correct. What I mean by stack is my data of array of search_stack_struct type which I create. Then make/unmake a move becomes ++ply, ++ps, --ply, --ps where ps is a pointer to my search_stack_struct. So using this pointer ps, I store / restore my alpha,depth,pointer to current move made / first or last move in my move list, etc. In this way and with care we can try non-recursive search and I think there should not be reasons why it cannot be made better than recursive search. 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.