Two monkeys sit across from each other at a chess table. Both make completely random yet legal moves for eternity. Who wins? How often?
First, here is an example game run with these rules looks like:
After running approximately 500 games here is the resulting ending:
Interestingly, the first-move advantage still holds in this absurd variant. My initial guess of games that would end in checkmate was approximately 2%… nowhere near the actual 26%. The fact that stalemates are significantly lower than checkmates also is a bit curious. I am sure there is lots of room here for chess theory but I have no real desire to touch that.
Notes on the implementation
- Castling / Au Passant-ing is possible and occurred
- Pawns randomly select which piece to be promoted to (which makes the games really funny to watch)
- Draw by repetition occurs after 200 moves without a piece being captured
- Each game takes ~1.5 minutes on my school laptop
This was created using a fork of ChessPeace created by Zachary Danziger in Matlab. There is no way I would be able to scratch the surface of this problem without his work: so many thanks to him. I’d upload the code but its 98% his. The little work I did was to increase the draw by repetition threshold, trim unnecessary code, cut down on fprintfs, induce looping and an overall scoring system.