Mastering Chess An overview of common chess AI Adam Veres
Everybody knows chess, right?
ELO Rating System
ELO Rating System, cont.
Senior Master Master (This encompasses the 93-98th percentile of all rated players in America) Expert ‘A’ Player ‘B’ Player ‘C’ Player ‘D’ Player ‘E’ Player ‘F’ Player 800+ ‘G’ Player 600+ ‘H’ Player 400+ ‘I’ Player -400 USCF Rating Tiers
Some history on computers playing chess ~1770 The Turk Fake automaton Wolfgang von Kempelen Hungarian inventor Computer chess!
1951 developed, on paper, a program capable of playing a full game of chess Work backwards from ‘win’ conditions and accept moves that work towards that goal Turing assumed infinite processing power and storage space Ratio W/B Alan Turing
The Chessmaster 2000 The manufacturer rated the game at 2000 Elo USCF, in reality it plays at approximately USCF. This is “B” rated in 1986! Best selling Chess series of all time. Chessmaster
1997 IBM’s Deep Blue defeats Gary Kasparov after a six game match. Deep Blue relied on hardware for to evaluate over 200 million moves per second Deep Blue
Deep Fritz version 10 ran on a machine running two Intel Core 2 Duo processors. 8 million moves per second Average depth search of using heuristics to evaluate choices About 6 billion possible positions observed before actually making a move Vladimir Krammik loses 2-4 to Deep Fritz 5 piece tablebase allowed for end-game, 6 piece widely available Beyond Deep Blue
SSDF – Swedish Chess Computer Association Tests computer chess programs and produces a rating 2012 “Deep Rybka 4 x64” 3221 rating Tested on x64 2GB Q6600 2,4 GHz Computer chess ratings
Board Representation List of all pieces 8x8 2D array 0x88 2 boards next to each other. Makes move-legality checks a simple AND with the hex number 0x88 Bitboard 64 bit sequence of bits. Series of bitboards. Stream based Huffman Encoding More common chess positions (pawns/empties) stored with less bits Algorithmic Considerations
Type A Brute Force. Checks bad and trivial moves unnecessarily. Type B Quiescent Search – evaluate minimax game trees Only a few moves are evaluated Main Search Types
Alpha-beta pruning widely used to reduce search space Negascout – directional search algorithm to find minimax value of a node in a tree Type B
Nalimov endgame tablebase. 5 or fewer pieces is solved. USSR born programmer 6 pieces is solved except some trivial cases such as 5 pieces versus 1 king 7 pieces have been somewhat analyzed All of these make certain assumptions to prune the branching possibilities. Eg: Castling is no longer possible “Tablebases”
One last interesting note: It is estimated that doubling the computer’s speed adds only ELO to a given chess algorithm Heuristics are much better than brute force! Last Thoughts
Digital computers applied to games'. n.d. AMT's contribution to 'Faster than thought', ed. B.V. Bowden, London Published by Pitman Publishing. TS with MS corrections. R.S. 1953b “Deep Blue”. IBM. “The Last Man vs Machine?”. Chess News. “Important Official Rules of the Kramnik versus Fritz match”. Chess Daily News and Information. kramnik.html Levy, David; Newborn, Monty (1991), How Computers Play Chess, Computer Science Press, ISBN References
Searching for Solutions in Games and Artificial Intelligence (1994) by Victor L. Allis SSDF. Swedish Chess Computer Association. Some images from Wikimedia Foundation “Did a Computer Bug Help Deep Blue beat Kasparov”. Wired.com. References