Author: Pham Hong Nguyen
Date: 08:34:07 08/30/02
Go up one level in this thread
On August 30, 2002 at 08:22:52, Vladimir Medvedev wrote: >I am thinking on improving data representation and move generator in GreKo. >Currently it is array/offset based code (very TSCP-like :) >I believe it is very non-optimal. > >But I don't mean to rewrite GreKo from scratch and switch to bitboard >representation (in the far future, may be... not now...). > >Which open source chess engines can give me a good example of NON-BITBOARD move >generation/board representation ? Hello, For non-bitboard world, you may try board representation 0x88 and its correspondent generator. I don't know any source code but it is not difficult to convert from mailbox one (TSCP), thought. Another considerable method is to look moves from pre-generated tables - source is GNU (version 3.x-4.x). Trying several kinds of move generators is very fun (but need hard working), from my experience :) However, after dumping much time on them, I realize any one of them is good enough (if its code is optimal). The main reason is that move generators doesn't need much time. In my program, it takes around 5-7% of total time. It means if I can improve them much faster, rewrite in assembly, I can save maximum 4 % of total time. That number is ok if I have not any other thing to do. Meanwhile, sometimes rewrite only few lines of evaluation function (usually 30-40%) can gain the same. General, even move generators can differ on time consuming (some generate all legal moves in one pack - very slow, comparing with generating pseudo moves in some packs) but strengths of programs probably do not depend on them. Suggest: Don't change data structures and/or board representations if just because of speeding up move generations. PHN
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.