Difference between revisions of "Tinker"

From Chessprogramming wiki
Jump to: navigation, search
 
Line 30: Line 30:
 
=Forum Posts=
 
=Forum Posts=
 
* [https://www.stmintz.com/ccc/index.php?id=137094 CCT2 Tinker Observations] by [[Brian Richardson]], [[CCC]], November 07, 2000
 
* [https://www.stmintz.com/ccc/index.php?id=137094 CCT2 Tinker Observations] by [[Brian Richardson]], [[CCC]], November 07, 2000
* [https://www.stmintz.com/ccc/index.php?id=194764 Nice Stalemate Trap by Tinker] by [[Dieter Bürssner]], [[CCC]], October 29, 2001
+
* [https://www.stmintz.com/ccc/index.php?id=194764 Nice Stalemate Trap by Tinker] by [[Dieter Bürßner]], [[CCC]], October 29, 2001
 
* [https://www.stmintz.com/ccc/index.php?id=284689 Itanium2 Testing Crafty & Tinker Informal Results] by [[Brian Richardson]], [[CCC]], February 16, 2003 » [[Itanium]]
 
* [https://www.stmintz.com/ccc/index.php?id=284689 Itanium2 Testing Crafty & Tinker Informal Results] by [[Brian Richardson]], [[CCC]], February 16, 2003 » [[Itanium]]
 
* [https://www.stmintz.com/ccc/index.php?id=350527 Tinker Scores Re: STATIC EVAL TEST (provisional)] by [[Brian Richardson]], [[CCC]], February 21, 2004
 
* [https://www.stmintz.com/ccc/index.php?id=350527 Tinker Scores Re: STATIC EVAL TEST (provisional)] by [[Brian Richardson]], [[CCC]], February 21, 2004

Latest revision as of 22:42, 12 December 2018

Home * Engines * Tinker

Tinker or Irish Cob [1]

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.

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);
}

See also

Forum Posts

External Links

References

Up one Level