# Computer Chess Club Archives

## Messages

### Subject: Re: Artificial Intelligence in Computer Chess - *DETAILS* as promised

Author: J. Wesley Cleveland

Date: 09:43:46 03/30/04

Go up one level in this thread

```On March 29, 2004 at 11:14:17, Anthony Cozzie wrote:

[snip]
>
>What I am proposing is this:
>
>Create some code that stores for each transposition table key the best move at
>each ply.  Requires maybe 1/2 GB of memory for a reasonable depth search (my
>back-of-the-envelope unoptimized computation).
>
>E.G.:
>
>Key 0x8432762183
>Q-Nxd5
>1-Nf3
>2-Nf3
>3-Qc3
>...
>
>Run search, record node counts.  Keep track of every time the move ordering was
>wrong (both at PV and CUT nodes).
>
>Flush transposition table. Run search iteratively until move ordering is
>perfect. You can use the new table to simply always choose the best move first.
>This might require a few runs since the tree might search different nodes as the
>move ordering gets better.
>
>At that point you will have a search of muse with perfect move ordering.  Record
>the number of nodes visited versus a regular search. Of course, this is not
>practical for a tounament game (for obvious reasons).
>
>Some interesting sub-experiments: move ordering differences by ply - 3% at 5 ply
>vs 100 % at 8 ply (?)  Also, move ordering at PV nodes vs fail-high nodes.
>
>anthony

There is a simpler way. Just keep track of the minimum necessary nodes as you
search. At any ply with n possible moves, if it is fail low, the mininum number
is n + the sum of mininum nodes from the ply below for all moves. If it is fail
high, the mininum number is 1 + the mininum nodes from the ply below for the
fail high move. You should probably turn off transposition tables if you want
more exact numbers.

```