Difference between revisions of "Piece-Square Tables"

From Chessprogramming wiki
Jump to: navigation, search
Line 1: Line 1:
 
'''[[Main Page|Home]] * [[Evaluation]] * Piece-Square Tables'''
 
'''[[Main Page|Home]] * [[Evaluation]] * Piece-Square Tables'''
  
[[FILE:CageChessPieces.jpg|border|right|thumb|link=http://www.artnet.com/magazineus/reviews/davis/davis11-1-05_detail.asp?picnum=2| [[:Category:John Cage|John Cage]], Chess Pieces, ca. 1944 <ref>[http://www.artnet.com/magazineus/reviews/davis/davis11-1-05_detail.asp?picnum=2 John Cage - Chess Pieces, Ca. 1944], Courtesy [http://johncagetrust.blogspot.com/ The John Cage Trust] from [http://www.artnet.com/magazineus/reviews/davis/davis11-1-05.asp artnet Magazine - We Are Duchampians] by Ben Davis</ref> ]]  
+
[[FILE:CageChessPieces.jpg|border|right|thumb|link=http://www.artnet.com/magazineus/reviews/davis/davis11-1-05_detail.asp?picnum=2| [[:Category:John Cage|John Cage]], Chess Pieces, ca. 1944 <ref>[http://www.artnet.com/magazineus/reviews/davis/davis11-1-05_detail.asp?picnum=2 John Cage - Chess Pieces, Ca. 1944], Courtesy [http://johncagetrust.blogspot.com/ The John Cage Trust] from [http://www.artnet.com/magazineus/reviews/davis/davis11-1-05.asp artnet Magazine - We Are Duchampians] by Ben Davis</ref> <ref>Cage. Music, art, chess, by [https://en.wikipedia.org/wiki/Brian_Brandt Brian Brandt] and [https://en.wikipedia.org/wiki/Margaret_Leng_Tan Margaret Leng Tan], 2006, [https://en.wikipedia.org/wiki/YouTube YouTube] Video
 +
: {{#evu:https://www.youtube.com/watch?v=Hva8WMcRyOE|alignment=left|valignment=top}}</ref> ]]  
  
 
'''Piece-Square Tables''',<br/>
 
'''Piece-Square Tables''',<br/>

Revision as of 23:29, 22 January 2019

Home * Evaluation * Piece-Square Tables

John Cage, Chess Pieces, ca. 1944 [1] [2]

Piece-Square Tables,
a simple way to assign values to specific pieces on specific squares. A table is created for each piece of each color, and values assigned to each square. This scheme is fast, since the evaluation term from the piece square tables can be incrementally updated as moves are made and unmade in the search tree. Because of that speed, piece-square tables are of great help when conducting lazy evaluation.

The same technique can be used for a more subtle evaluation terms, instead of one fixed value for, say, an isolated pawn. It is also possible to use piece-square tables for move ordering, though history heuristic tends to perform better. Some programs, like Rebel, use the combination of the two [3].

Multiple Tables

Most modern programs, influenced by Fruit, use two sets of tables. One for the opening of the game and another for the endgame. The final evaluation is them interpolated between these two based on game stage (often material on the board). This allows for changes in material as well, since the material part of the evaluation can also be stored in these tables. Using two tables also lets pieces change in evaluation as the game proceeds. For example, pawns can gain in value in the endgame using this method.

Pre-processing

Older programs, running on slow hardware and reaching low depths, used an oracle approach to speed up their evaluation by initializing the piece-square tables at the beginning of each search, taking into account complex characteristics of position, influence of pawn structure, distance to the enemy king etc [4]. Pre-processing, also dubbed Pre Scan Heuristics as applied in Kittinger programs [5], most notably the Super Constellation [6], were used by Kaare Danielsen [7], Richard Lang [8], Don Dailey, who even developed a little language so that Larry Kaufman could express evaluation concepts in a more natural way [9], Chrilly Donninger with Nimzo 3, and Frans Morsch and Mathias Feist with Fritz 3, to name a few, the latter even with user modifiable rules or tables. However, the idea already originated from the program Tech by James Gillogly in the late 1960's [10].

With today's search depth this approach seems to be impractical, since the difference between the root and leaf position may be very big. There also might be a problem with re-using hash scores from the previous entries. About the only recent chess program that sticks with pre-processing for good or bad is RomiChess [11] [12].

Example

Material and piece-square tables alone are enough for a program to play a semi-decent game of chess. Indeed, Tomasz Michniewski advocated a method of testing requiring all the tested programs to have identical, simplistic evaluation function, so that only search and efficiency issues would influence the result. One such tournament has been carried out in Poland.

See also

Publications

Forum Posts

1996 ...

2000 ...

2010 ...

2015 ...

External Links

References

  1. John Cage - Chess Pieces, Ca. 1944, Courtesy The John Cage Trust from artnet Magazine - We Are Duchampians by Ben Davis
  2. Cage. Music, art, chess, by Brian Brandt and Margaret Leng Tan, 2006, YouTube Video
  3. Ed Schröder How REBEL Plays Chess as pdf, see page 1,2 Move Ordering
  4. Re: What is "pre-processing" by Don Dailey, CCC, May 07, 1998
  5. PSH from Schachcomputer.info Wiki (German)
  6. Novag Super Constellation from Schachcomputer.info - Wiki (German)
  7. "This approach seems to have been invented by Kaare Danielsen for his program CXG Advanced Star Chess" from Chrilly Donninger (1996). CHE: A Graphical Language for Expressing Chess Knowledge. ICCA Journal, Vol. 19, No. 4
  8. Re: Some thoughts on QS by Ed Schröder, CCC, July 25, 2012
  9. Re: Some thoughts on QS by Don Dailey, CCC, July 25, 2012
  10. David Kittinger and Scott McDonald (1984). Report from the U.S. Open. Computer Chess Digest Annual 1984 pp. 15-33
  11. Re: What is "pre-processing" by Ulrich Türke, CCC, May 08, 1998
  12. Re: What is "pre-processing" by Amir Ban, CCC, May 08, 1998
  13. Crafty accused of copying Fruit PST by William O, CCC, August 13, 2011
  14. Crafty *NOT* accused of copying Fruit PST by Miguel A. Ballicora, CCC, August 17, 2011

Up one level