Sven Schüle wrote:Don wrote:Barardo wrote:Hi everyone.
I have a question: is it possible to create a 2800 elo (theoretical) chess engine without using the null move observation?
If so what would be the algorithms that it would use?
The null move observation is also used in quies search, not just null move pruning. If you are asking about null move pruning only, then multi-cut is almost as good as null move pruning. A version of multi-cut used in Komodo instead of null pruning was only a few ELO weaker, I think it was around 5 or 10 ELO. So that would clearly make a 2800 ELO engine.
The null move observation is everywhere however. It's almost the same thing is saying that the static evaluation score can be viewed as a lower bound on the true score (with considerable uncertainty of course) and it's used heavily (often with margins or other reasoning's) in chess programs.
I have yet to find anything better for quies search than the industry standard "stand pat" search.
Hi Don,
thanks for your support, so I am not fully alone with my view.
Sven
By the way, my viewpoint keeps standing, based on my definitions,
the NMO is key for the most BTS.
But i also have to accept that the "standpat" handling by itself, is not
bonded to any assumtion, even not to the NMO. Again...
standpat = decide to play the position as it is
return(standpat)
If we modify this expression, this is by definition not longer standpat!
And this is definitelly not used in chess-engines over the last decades.
But what is used is
estimatedLowBoundValue = blackBoxValue()
which can be formed to
doNull()
estimatedLowBoundValue = -blackBoxValue()
undoNull()
if(estimatedLowBoundValue>=beta) return(estimatedLowBoundValue)
For my personal summary:
1. HGM is right that the term "standpat" has nothing to do with NMO
2. Here i am assisting you Sven, we dont use "standpat", but NMO
3. Bob mentioned the term "NMO" is already defined in another way.
But certainly not in the most general way. A more general way is:
NMO = assumption: a real move is doing better than the nullmove.
The assumption cannot be hurt or influenced by the way we determine
the estimatedLowerBound, therefore blackBox() (search(),evaluation()..)
imho, Michael