Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Killer and history

Author: Peter Fendrich

Date: 07:32:13 06/24/98

Go up one level in this thread


On June 24, 1998 at 03:23:59, JW de Kort wrote:

>HI,
>
>thanks every one for the replies to my question. But i do still have
>a question on the killer moves. "What excectly is a killer", stated
>differently; where doe i put the killer code in my alpha-beta (pvs) and
>how do i decide that a move is a killer. From what i have read about this
>i conluded that the killer on e.g ply 2 is the most recent move to couse
>a beta cuttoff on the same ply in an earlier branch of the ree. Is this
>correct, and if so does good killers get trown away very early by using
>this approach?

That's tue and a good killer is most often local in it's nature.
The implementation with 2 killers for each plydepth and connected counters
reduces the silly behaviour when a good killer move temporarily is replaced by
another one and completely forgotten.

>    And furthermore; some one -i appologise for not rembering his name-
>wrote that a killer move is placed first in the list of move generated. Is
>the killer move not supposed to be tried before generating the move list
>in order to be able to skip time consuming making of the move list?

That's a question of what you include in your move generator.
I use the term "generate" killer moves and that is done in the move generator.
All moves are not generated and sorted during the first call to the move
generator. The moves are generated in "increments".

The move ordering is very dependent of what kind of program you have.
You will probably get answears from people "knowing" the exact sequence that
moves should be generated in. My advice is to be very sceptical to those as well
as to my advices!
You should most definitly first try the move(s) from your hash table if you have
one.
However, if you don't use hash tables it might be a good idea to "generate" the
killer moves first.
Secondly "good" captures are to be prefered before anything else.
If you don't use a "static evaluator" (sometimes called swapoff algorithm) for
this you should at least try captures where the capturing piece takes a more
valuable one, like pawn captures a queen. The tree is full of silly move
sequences which should be cut off as early as possible.
A trick worth trying is to generate captures to the last moved piece before
generating the rest of the captures. I used to do that but don't any move.

I generate *all* the captures (and pawn promotions) in one sequence.
That means that all the captures has to be tried in a sorted way.
After that I do both my killer moves and in the end I generate the rest of the
moves.

>
>Any help -again- highly appriciated
>
>Jan Willem



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.