Author: Edward Seid
Date: 07:02:33 09/18/03
I'm learning how to program by reading Deitel's Visual Basic.NET How to Program. I'm eager to try out my new skills on a chess-related project. The Pawn Game - as presented by GM Lev Alburt in Comprehensive Chess Course, Vol 1 [D]8/pppppppp/8/8/8/8/PPPPPPPP/8 w - - 0 0 The game is won by: 1- capturing all of the opponent's pawns 2- reaching the last rank first 3- 'stalemating' the opponent, while still having at least one move for yourself The game is drawn if: 1- both sides' pawns are blocked so that neither side can make any moves The programming exercise I've assigned to myself it to try to solve this game using brute-force minimax. My question to you... can this game be solved on today's typical desktop computer using brute-force? I've been thinking about this and have made the following observations: 1- while classical chess has a branching factor of around 30, the Pawn Game branching factor is 16 in the initial position, and around 8 in the 'middlegame', and goes down with each capture. 2- the longest 'game' is certainly less than 81 ply, and is probably around 60-65 (81 ply is calculated by the impossible scenario of each side taking 40 ply each to march all pawns to the 7th rank + 1 ply to promote) I'm not planning to use anything fancy like hashtables or board rotation. I'd be happy if I'm successful in coding a 10x12 board representation (practice for writing a classical chess engine in the future), a valid pawn move generator, and a correct implementation of the minimax algorithm. I'm very curious what the solution to this game is. Is it a win/loss/draw for White? Of the 16 possible White moves, which ones win/lose/draw? How long is the longest game? How long is the shortest game? What is the distribution of wins amongst the 3 methods of winning? Any thoughts or suggestions are appreciated.
This page took 0.02 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.