Author: Michael Yee
Date: 19:15:29 02/07/04
Go up one level in this thread
On February 07, 2004 at 18:35:21, David Dory wrote:
>On February 06, 2004 at 12:19:47, Michael Yee wrote:
>
>>Hi,
>>
>>I searched the web, but had no luck finding a description of this technique.
>>Would anyone mind giving a quick explanation?
>>
>>Thanks,
>>Michael
>
>Perhaps you mean using piece lists/piece arrays to speed up move generation in a
>mailbox type program?
>
>I don't use this with my mailbox program, but check out Dr. Hyatt's write up on
>"Chess program board representations", page 4, about 3/4ths of the way down from
>the top. He briefly describes a move generation technique that eliminates
>scanning the whole board to find your pieces and start your move generating, as
>in:
>
>for(r = 1; r < 9; r++) {
> for(c = 1; c < 9; c++) {
> if(board[r][c] == WK) {
> etc.
> }
> }
>}
>
>Quite an improvement over just scanning the whole board. Dr. Hyatt gives it a 4X
>speedup.
>
>His pages are at:
>http://www.cis.uab.edu/info/faculty/hyatt/boardrep.html
>
>David
Hi David,
Thanks for that link. It's finally cleared up some terminology for me! I
currently use piece lists and a plain old 0x88 approach for board representation
and move generation, but I've also experimented with a 2-dim array with border
squares and a 1-dim array with table-based move gen. I wondered if "mailbox" was
some other clever (and very different) technique. It seems to have originally
referred to a solution for the problem of "wrapping" in a 1-dim array. From the
following link, Prof. Hyatt says that 0x88 is just a special type of mailbox:
http://www.avlerchess.com/chess-computer/0x88_and_mailbox_96954.html
Thanks again for your help,
Michael
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.