Gromit

Home * Engines * GromitChess

[ Gromit, Wallace, and creator Nick Park [1] GromitChess, (Gromit, Gromit Chess)

a 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 [2]. 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. Early versions (1.2) were standalone engines with an own GUI, later versions (> 2.0) were WinBoard/ XBoard compatible, a dedicated version (3.1) was sold along with other Young Talents by ChessBase, running under their Database or Fritz GUI [3]. GromitChess (3.10.3) emphasized its ambitions going commercial while incorporated into the PocketGrandmaster for Pocket PC [4] [5], and became predecessor of Anaconda.

Description

given in 1999 from the ICGA tournament site [6]:

GromitChess is a [C++](Cpp "Cpp")-program, developed in a [Linux](Linux "Linux")-environment (Emacs, gcc). It searches about 25000 to 50000 [nodes per second](Nodes_per_Second "Nodes per Second") on a K6/200 and tries to be intelligent rather than fast. [Attacktables](Attack_and_Defend_Maps "Attack and Defend Maps") are the primary datastructure ([16 bit](Piece-Sets "Piece-Sets") for every square and player; bit n is set if piece n attacks the square). The search uses [iterative deepening](Iterative_Deepening "Iterative Deepening"), [PVS](Principal_Variation_Search "Principal Variation Search"), [transposition tables](Transposition_Table "Transposition Table"), [killer](Killer_Heuristic "Killer Heuristic")- and [history heuristic](History_Heuristic "History Heuristic"), [nullmove](Null_Move_Pruning "Null Move Pruning") ([R](Depth_Reduction_R "Depth Reduction R")=2), about 10 chess-specific [extensions](Extensions "Extensions") and some [pruning heuristics](Pruning "Pruning"). The [quiescence](Quiescence_Search "Quiescence Search") uses a [static exchange evaluator](Static_Exchange_Evaluation "Static Exchange Evaluation") and includes some checks and other threatening moves. Parts of the [evaluation](Evaluation "Evaluation") are initialized at the [root](Root "Root") but most of the work is done at the [leafnodes](Leaf_Node "Leaf Node"). You can find more information and executables in the WWW. 

Copy Make

Frank Schneider on Gromit’s Copy-Make approach [7]:

I think it depends on your program and the [board representation](Board_Representation "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](Amiga "Amiga")) I only considered clock cycles, but on a [PC](IBM_PC "IBM PC") the low [memory-bandwidth](https://en.wikipedia.org/wiki/Memory_bandwidth) is the real problem. Since Gromit's [evaluation](Evaluation "Evaluation") and [search heuristics](Search "Search") use most of the processor time I never tried [update](Incremental_Updates "Incremental Updates")+[take back](Unmake_Move "Unmake Move"), 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. 

See also

Forum Posts

1997 …

2000 …

2010 …

Chess Engine

New features in GromitChess 1.2

Misc

References

  1. Creator Nick Park with his characters in 2005 promoting Wallace & Gromit: The Curse of the Were-Rabbit, Photo by Sam Felder, September 19, 2005, originally posted on Flickr, Wikimedia Commons, CC BY-SA 2.0
  2. PocketGrandmaster About
  3. Re: Anyone using the Gromit engine? by Frank Schneider, CCC, January 13, 2002
  4. PocketGrandmaster 1.1 released by Frank Schneider, CCC, December 19, 2001
  5. Re: Is Gromit 3.9.5 is out? by Frank Schneider, CCC, July 14, 2002
  6. GromitChess’ ICGA Tournaments
  7. Re: Unmake move v copy the board by Frank Schneider, CCC, January 24, 1999

Up one level