Difference between revisions of "Gullydeckel"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * Gullydeckel''' [[FILE:Rome-SPQR.JPG|border|right|thumb| [https://en.wikipedia.org/wiki/Manhole_cover Manhole cover] in [https://en.wiki...")
 
Line 10: Line 10:
 
==[[Board Representation]]==
 
==[[Board Representation]]==
 
* [[Piece-Lists]]
 
* [[Piece-Lists]]
* [[0x88]]
+
* [[Vector Attacks|16x8 Vector Attacks]]
 
==[[Search]]==
 
==[[Search]]==
 
* [[Iterative Deepening]]
 
* [[Iterative Deepening]]
Line 35: Line 35:
 
* [[King Safety]]
 
* [[King Safety]]
  
=0x88 Difference=
+
=Square Difference=
The pre-initialized <span style="background-color: #e5e4e4;">static int vector[256]</span> in "attacks.c" <ref>[http://borriss.com/ Gullydeckel Chess Program - Download]</ref> with [[Direction#RayDirections|ray directions]] encoded, which is indexed by [[0x88#SquareRelations|0x88 square difference]] plus offset, somehow reminds on a [https://de.wikipedia.org/wiki/Schachtdeckel Gullydeckel], the colloquial German name for [https://en.wikipedia.org/wiki/Manhole_cover Manhole cover] <ref>edited, symbols replaced for column alignment</ref>:
+
The pre-initialized <span style="background-color: #e5e4e4;">static int vector[256]</span> in "attacks.c" <ref>[http://borriss.com/ Gullydeckel Chess Program - Download]</ref> with [[Direction#RayDirections|ray directions]] encoded, which is indexed by 16x8 aka[[0x88#SquareRelations|0x88 square difference]] plus offset, somehow reminds on a [https://de.wikipedia.org/wiki/Schachtdeckel Gullydeckel], the colloquial German name for [https://en.wikipedia.org/wiki/Manhole_cover Manhole cover] <ref>edited, symbols replaced for column alignment</ref>:
 
<pre>
 
<pre>
 
/*
 
/*

Revision as of 00:29, 11 January 2019

Home * Engines * Gullydeckel

Gullydeckel,
a Chess Engine Communication Protocol compliant open source engine under the GNU General Public License written in C by Martin Borriss. Supported platforms are Linux and Windows.

Features

Board Representation

Search

Evaluation

Square Difference

The pre-initialized static int vector[256] in "attacks.c" [2] with ray directions encoded, which is indexed by 16x8 aka0x88 square difference plus offset, somehow reminds on a Gullydeckel, the colloquial German name for Manhole cover [3]:

/*
if we find that two squares are related according to matrix SqRel,
we use another matrix to look up the direction of the move required
('to walk the vector') if it is a sliding piece (R,B,Q)
*/

static int vector[256] = {
   0  ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,UR,0 ,0 ,0 ,0 ,0 ,0 ,
   UP ,0 ,0 ,0 ,0 ,0 ,0 ,UL,0 ,0 ,UR,0 ,0 ,0 ,0 ,0 ,
   UP ,0 ,0 ,0 ,0 ,0 ,UL,0 ,0 ,0 ,0 ,UR,0 ,0 ,0 ,0 ,
   UP ,0 ,0 ,0 ,0 ,UL,0 ,0 ,0 ,0 ,0 ,0 ,UR,0 ,0 ,0 ,
   UP ,0 ,0 ,0 ,UL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,UR,0 ,0 ,
   UP ,0 ,0 ,UL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,UR,0 ,
   UP ,0 ,UL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,UR,
   UP ,UL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,RI,RI,RI,RI,RI,RI,RI,
   0  ,LE,LE,LE,LE,LE,LE,LE,0 ,0 ,0 ,0 ,0 ,0 ,0 ,DR,
   DN ,DL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,DR,0 ,
   DN ,0 ,DL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,DR,0 ,0 ,
   DN ,0 ,0 ,DL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,DR,0 ,0 ,0 ,
   DN ,0 ,0 ,0 ,DL,0 ,0 ,0 ,0 ,0 ,0 ,DR,0 ,0 ,0 ,0 ,
   DN ,0 ,0 ,0 ,0 ,DL,0 ,0 ,0 ,0 ,DR,0 ,0 ,0 ,0 ,0 ,
   DN ,0 ,0 ,0 ,0 ,0 ,DL,0 ,0 ,DR,0 ,0 ,0 ,0 ,0 ,0 ,
   DN ,0 ,0 ,0 ,0 ,0 ,0 ,DL,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
 };

Forum Posts

External Links

Chess Engine

Misc

References

  1. Manhole cover in Rome with SPQR inscription, Image by Indian Joe, January 08, 2007, Wikimedia Commons, SPQR from Wikipedia
  2. Gullydeckel Chess Program - Download
  3. edited, symbols replaced for column alignment

Up one Level