tailieunhanh - An alternative efficient chessboard representation based on 4 bit piece coding
This paper describes theoretical and practical aspects of an alternative efficient chessboard representation based on 4-bit piece coding technique. There are two main approaches used by the majority of computer chess programs: Arrays and bitboards. However, after the years of researching and experimenting in chess engine Axon and its parallel version Achilles, we would like to introduce an alternative chessboard representation C. C. R. (Compact Chessboard Representation) based on a new coding technique that performs very well both on 32-bit and 64-bit hardware platforms. | Yugoslav Journal of Operations Research 22 (2012), Number 1, 265-284 DOI: AN ALTERNATIVE EFFICIENT CHESSBOARD REPRESENTATION BASED ON 4-BIT PIECE CODING Vladan VUČKOVIĆ Faculty of Electronic Engineering, University of Niš, Serbia Received: October 2008 / Accepted: May 2012 Abstract: This paper describes theoretical and practical aspects of an alternative efficient chessboard representation based on 4-bit piece coding technique. There are two main approaches used by the majority of computer chess programs: arrays and bitboards. However, after the years of researching and experimenting in chess engine Axon and its parallel version Achilles, we would like to introduce an alternative chessboard representation C. C. R. (Compact Chessboard Representation) based on a new coding technique that performs very well both on 32-bit and 64-bit hardware platforms. Keywords: Computer chess, chess engines, data structures, chessboard representation. MSC: 91 - Game Theory, 91-04, 91A24. 1. INTRODUCTION The first major issue that must be addressed when we start to write a chess program is how to represent the chessboard and other supporting data structures that will be used in different parts of a chess engine. This primary decision, which is very often based on incomplete or insufficient information, has its consequences later, when we come to the main chess engine procedures like move generator or evaluator. At that point, one could discover that his data structures have some fundamental shortcomings and could not satisfy expectations about the efficiency or programming facility. Sometimes, these deficiencies can appear at the end of the development cycle when the engine is ported on some specific hardware platform. Such a revelation can be very unpleasant for the programmer because, at this stage, re-design of the basic data structure is not viable option anymore. Our intention, throughout this paper, is to present .
đang nạp các trang xem trước