Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: statistics and move ordering

Author: Ed Schröder

Date: 11:49:20 08/10/98

Go up one level in this thread


>Hi Ed!

>>>I would like to tell you something about an idea which I had this
>>>weekend. I talked a bit about it with Bruce at ICC and he said that it
>>>might already be a known idea. I would appreciate some feedback.

>>>Some time ago someone (KK?) posted statistics about the first moves of
>>>white. This seemed rather useless for me. More interesting would be
>>>the the likelihood of _any_ move played in a won game by a strong
>>>player. This information e.g. could be used for a trivial move
>>>ordering. My plan is to do the following:

>>>1. Use a precalculated list of all possible moves for the move
>>>   generator in your chess engine.
>>>2. Add a counter to the move structure
>>>3. scan a large database with only high quality games and
>>>   increment the counter for each game where the winner made this
>>>   move.

>>You will find the idea in Rebel10. It will be an option as I don't know
>>if it makes the program stronger or weaker. The idea goes further in
>>respect that results found in the database are subject to the Rebel score.

Hi Steffen,

>Could please tell us a bit more about this option? Do you consider any
>moves of the database or only moves in "similar" positions? There are two
>extremes:

>(1) consider moves of any position
>(2) consider moves of exact the same position

>Disadvantage of (1) is that most moves which lead to a bonus or penalty dont
>have anything to do with the current position of the game. Disadvantage of (2)
>is obvious. Between (1) and (2) there can be done a lot. Some ideas:

>- count moves of positions with the same pawn structure
>- count moves of positions with the same material
>- count moves of positions which match a certain (maybe CHE-like) pattern
>- count moves of positions where the same number of moves were made

No, this is how it works. It's an old idea I had with Rebel6 but due to the
lack of many good games it did not work to my satisfaction. These days we have
a different situation. From a good database of about one million games a
chess tree is generated using a simple hashkey to represent the positions.

Then before the search starts a quick lookup is done in the chess tree. Moves
found in the chess tree are rewarded with a bonus or penalty. This based on
the game score which is also included in the chess tree.

Say 1.e4 scores 55% and 1.Nf3 scores 52% in the chess tree. 1.e4 then gets
a bonus of say 0.20 and 1.Nf3 say a bonus  of 0.10 because of that. Say 1.g4
scores 43% and the moves will get a penalty of say -0.40. All figures by head.

In this way Rebel always tends to follow the chess tree. It's lots of fun
seeing Rebel play pawn sacrifices by his own because of this feature and avoid
moves Rebel normally would have played but are thrown out now because of a bad
game score % in the chess tree.

An old dream came true. The bad news is that I am yet unable to say if this
algorithm makes Rebel stronger or not. I need to see a lot of games first
before I can judge this. So for the moment it's in Rebel10 as an option but
in the end I do hope it will gain some extra elo points. I have good hope.


>>For every move found in the database Rebel will give a flexible bonus or
>>penalty based on the percentage and average ELO found in the database.

>>In this way it is the database who will guide Rebel which move to play.
>>Blunders are automatically filtered because the search will decide after
>>all.

>Do you use the bonus/penalty also for the move ordering? :-)

No, because your idea of the story is simply new for me.
Will think about your idea as well.

- Ed -


>>>The counter could be used to perform a very simple but also cheap move
>>>ordering or even for the evaluation itself. This idea could be improved
>>>if you don't store only a counter but a set of (pawnstruct, counter)
>>>pairs.

>Greetings,
>Steffen.




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.