From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Chunker

a chess program by Murray Campbell and Hans Berliner in the domain of certain pawn endgames, using chunked knowledge. Chunks were defined as groups of pawns and king that can be handled relatively independently of each other. Chunker parses a position into chunks, and reasons about the position using information obtained from chunk libraries. There are several chunk libraries, each corresponding to a fixed group of pieces (a chunk type). Each chunk type has certain properties, and each chunk instance (a particular configuration of the chunk type) has values attached to the properties. These are used both in evaluation, by allowing reasoning with chunk property values to produce an evaluation of the whole position, and in move selection, to facilitate reaching positions where this is possible.

Some types of chunks that could occur are so complex and rare that to build libraries for all possibilities would require unrealistically large memories. Fur such chunks (containing double pawns for instance) it will be necessary to do the analysis to produce properties on the fly. However, once such an analysis is done, these properties can be retained in a temporary chunk library for the duration of the solution process [1].

Szén Position

Due to its chunk library of king versus three connected passers, Chunker is an expert in playing the Szén position, popularized by the Hungarian chess player József Szén in the first half of the nineteenth century, with a lineage dating from Gioacchino Greco two centuries before with wK and bK on e1 and e8 respectively [2] [3] [4]:

    
    
    
    
    
    
    
    
4k3/5ppp/8/8/8/8/PPP5/3K4 w - - 


Using Chunking to Solve Chess Pawn Endgames [5]:

CHUNKER is a chess program that uses chunked knowledge to improve its performance. Its domain is a subset of king and pawn endings in chess that has been studied for over 300 years. CHUNKER has a large library of chunk instances where each chunk type has a property list and each instance has a set of values for these properties. This allows CHUNKER to reason about positions that come up in the search that would otherwise have to be handled by means of additional search. Thus the program is able to solve the most difficult problem of its present domain (a problem that would require 45 ply of search and on the order of 1013 years of CPU time to be solved by the best of present day chess programs) in 18 ply and one minute of CPU time. Further, CHUNKER is undoubtedly the world's foremost expert in its domain, and has discovered 2 mistakes in the literature and has been instrumental in discovering a new theorem about the domain that allows the assessing of positions with a new degree of ease and confidence. In this paper we show how the libraries are compiled, how CHUNKER works, and discuss our plans for extending it to play the whole domain of king and pawn endings. 

See also


External Links

John Lurie, Evan Lurie, Roy Nathanson, Curtis Fowlkes, Marc Ribot, Dougie Bowne, Erik Sanko, E.J. Rodriguez


  1. Murray Campbell, Hans Berliner (1983). A Chess Program That Chunks. AAAI 1983 49-53, pdf
  2. Jon Speelman (1983). The Szen Position. EG73, pdf
  3. At a glance you may think this is a draw. White wins by Robert Flesher, CCC, May 26, 2013
  4. Now Szén position solved in 15 seconds by regular Stockfish! by Vincent Lejeune, CCC, July 12, 2016
  5. Hans Berliner, Murray Campbell (1984). Using Chunking to Solve Chess Pawn Endgames. Artificial Intelligence, Vol. 23, No. 1, pp. 97-120. ISSN 0004-3702, Abstract

Up one Level