Computer Chess Club Archives


Search

Terms

Messages

Subject: modifying alpha beta that calculates extensions and more at the start.

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.