GromitChess,
an UCI compatible chess engine by Frank Schneider and Kai Skibbe. Gromit, later renamed to GromitChess, was initially written by Frank. In 1999 former tester Kai Skibbe joined the development.
Gromit and GromitChess played several IPCCCs, the WMCCC 1995, WCCC 1999 in Paderborn and the WMCCC 2001 in Maastricht, where it won the title of the Amateur World Microcomputer Chess Champion. It was available as Young Talent by ChessBase running under the Fritz6 GUI[1]. GromitChess is the predecessor of the chess engine Anaconda[2].
I think it depends on your program and the board representation . Gromit uses copy+update and >1KB is copied every move (which is maybe too much). When I decided to do it that way (on an Amiga) I only considered clock cycles, but on a PC the low memory-bandwidth is the real problem. Since Gromit's evaluation and search heuristics use most of the processor time I never tried update+take back, because I guess it would give me less than 10% speedup, probably being slower than copy+update.
There are some advantages of copy+update:
- it is easy to program
- it is easier to do some 'clever' things that would be difficult to take back
- you can compare the current position with previous positions in the search tree
An alternative would use a mix of copied and static data structures.
an UCI compatible chess engine by Frank Schneider and Kai Skibbe. Gromit, later renamed to GromitChess, was initially written by Frank. In 1999 former tester Kai Skibbe joined the development.
Gromit and GromitChess played several IPCCCs, the WMCCC 1995, WCCC 1999 in Paderborn and the WMCCC 2001 in Maastricht, where it won the title of the Amateur World Microcomputer Chess Champion. It was available as Young Talent by ChessBase running under the Fritz6 GUI [1]. GromitChess is the predecessor of the chess engine Anaconda [2].
Table of Contents
Description
given in 1999 from the ICGA tournament site [4]:Copy Make
Frank Schneider on Gromit's Copy-Make approach [5]:There are some advantages of copy+update:
- it is easy to program
- it is easier to do some 'clever' things that would be difficult to take back
- you can compare the current position with previous positions in the search tree
An alternative would use a mix of copied and static data structures.
See also
Forum Posts
External Links
References
What links here?
Up one level