Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move order %

Author: Tord Romstad

Date: 22:28:42 03/04/04

Go up one level in this thread


On March 04, 2004 at 08:35:04, Andrew Wagner wrote:

>Once again, you guys have provided a ton of useful info. Thanks so much!
>
>First of all, I have to apologize - I forgot to mention that I do use a history
>heuristic table. Just a very simple one...if a move fails high, I increment
>history(square.source, square.dest). Then I add the MVV/LA score if it's a
>capturing move, and sort by the sum of those two.

It sounds like you use your history heuristic table even for capture moves.
This is almost certainly a bad idea.  You should increment
history(square.source, square.dest) only when the move is not a capture,
and you should use MVV/LVA alone (without adding the value from the history
table) when ordering capture moves.

>I had hash tables, aspiration
>windows, and null-move, but I took them out to seek if I could get my move order
>% up without them.

This is a good idea.  It is best to keep things simple until you are
sure everything works (I wish I were better at following this piece of
advice myself).

>As far as  killer moves, what usually defines them? I haven't read much about
>them.

The idea is similar to the history heuristic.  You keep an array of killer
moves, one for each ply:

move_t Killer[MAX_PLY];

Whenever a non-capturing move fails high, you set Killer[Ply] equal to the
move.  When ordering moves at the next node at the same ply, you search
the move in Killer[Ply] directly after the hash table and capture moves,
and before the remaining moves (which are ordered by the history heuristic).

Most people seem to use two or three killer moves per ply, rather than
just one.  For some reason, more than one killer move does not help at
all in my engine.  I only use a single killer move per ply.

Tord



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.