Author: Uri Blass
Date: 01:58:59 12/09/03
My alpha beta function starts by doing some calculations that include calculation of extensions. It is not a good idea because of the following reasons: 1)it does things harder to implement. For example I still did not implement internal iterative deepening because if I do not make a move before alphabeta then I do the same thing twice and it means that some information that I remember in global arrays may be wrong because the second calculation that is based on reduced depth can lead to different results. 2)It makes the program slower because of calculating irrelevant calculations(this is relatively smaller problem but it is clear for me that it does not make sense to calculate if there is an extension after making a null move) My first thought was to divide alphabeta to more then one function but it is not so simple because the part that calculates extensions also decides based on calculations if to return beta when the remaining depth is small based on some conditions. dividing alphabeta also means that there are some places when I need to change my code(every place that I call alpha beta). I think that the best solution is probably not to change alphabeta(at least as first step) and to have another function smallalphabeta that does not calculate irrelevant information and to call smallalphabeta in the relevant cases when later I may change alphabeta also to call smallalphabeta. In this way I can start by testing small changes and always test changing one call to alphabeta to call to smallalphabeta. What is your opinion? Uri
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.