Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Fruit 2.2's strength

Author: Fabien Letouzey

Date: 01:40:16 10/26/05

Go up one level in this thread


On October 26, 2005 at 01:47:34, Uri Blass wrote:

>I thought from the name that it is about move ordering but it is obvious from
>the content that it does nothing about move ordering(maybe it returns some value
>that is relevant for move ordering but it certainly does not help to exlain move
>ordering.

>int move_order(int move) {
>
>   ASSERT(move_is_ok(move));
>
>   return ((move & 07777) << 2) | ((move >> 12) & 3);
>}

This is a static move ordering for debugging, e.g. a1a2, a1a3, etc ...

---

Real move-ordering code is in sort.cpp, and the implementation is admitedly
complicated.

Move ordering is:
- transposition-table move
- "SEE >= 0" captures (+ promotions) in MVV/LVA order (i.e. winning and equal
captures mixed)
- 2 killers
- quiet moves ordered by history scores
- losing captures in MVV/LVA order

To my knowledge this is identical to the order proposed in Heinz et al.'s book
(except that they don't specify interaction between SEE and MVV/LVA), although I
reached it by experimentation.

Fabien.




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.