Home * Engines * Tinker
220px-Tinker1.jpg

Tinker,
a private Chess Engine Communication Protocol compatible chess engine by Brian Richardson. Tinker participated at almost all official online tournaments, CCT Tournaments, ACCA Americas' Computer Chess Championship, and ACCA World Computer Rapid Chess Championship. Tinker's internal board representation is based on bitboards.
Tinker or Gypsy Vanner horse [1]

Move Generation

Tinker uses an idiosyncratic move generation approach for sliding pieces based on rook and bishop attacks on the otherwise empty board. While serializing all those potential targets, it tests for legality inside the loop body, that is whether the inbetween squares of origin and target are empty. This is not in the "real" bitboard spirit to determine attack sets in advance in the bitboard centric world rather than to test individual elements of a superset belonging to a set, but at least it allows traversing disjoint target sets i.e. for captures in quiescence search. This is the slightly edited code posted by Brian in 2000 [2]:
froms = tree->wbishopsqueens;
while (froms) {
   f = lastOne(froms);
   tos= bishopto[f] & targets;
   while (tos) {
      t = lastOne(tos);
      if ( (allpieces & nopieces[f][t]) == 0) {
         gen_push(f, t);
      }
      clear(t, tos);
   }
   clear(f, froms);
}
In 2007, Brian claimed his approach competitive compared with Magic Bitboards [3].

See also


Forum Posts


External Links


References

  1. ^ Tinker (Pferd) from Wikipedia.de (German)
  2. ^ Movegen Re: Bitmap Type Re: Tinker 81 secs Re: Testing speed by Brian Richardson, CCC, April 24, 2000
  3. ^ BitBoard Tests Magic v Non-Rotated 32 Bits v 64 Bits by Brian Richardson, CCC, August 24, 2007

What links here?


Up one Level