This is an initiative from Discord and Talkchess programmers to produce a document which is intended to be a guide for starters, advanced and expert chess programmers including the latest technologies in programming and testing.
We will start with the starter section and when finished it will be published here.
In the hope it will be useful.
Computer Chess Programming from the Ground up
Moderator: Ras
-
- Posts: 7279
- Joined: Thu Aug 18, 2011 12:04 pm
- Full name: Ed Schröder
Computer Chess Programming from the Ground up
90% of coding is debugging, the other 10% is writing bugs.
-
- Posts: 4589
- Joined: Tue Apr 03, 2012 4:28 pm
- Location: Midi-Pyrénées
- Full name: Christopher Whittington
Re: Challenge to the DISCORD invaders
SPSA is hardly difficult, it’s also explained both on the wiki and in “Stockfish tuning method” in the wiki.
I used it in 2003 without knowing what it was called, without any knowledge of it, working out the idea from basic principles. Backgammon engine using neural net, I didn’t know how to do back propagation at the time, so generated a net from random weights given random perturbations, playing fast game batches and keeping a fraction of the perturbation of the winning weights. Worked well enough.
Some things are kind of obvious and people independently think them up. “Modern chess programmers” hardly have to think of anything because all wheels are already invented and perfected.
My 10 Elo came from SPSA on the five piece type values (used in various places in search), they were already “tuned” from years ago, so the 10 Elo was basically from an SPSA fine tune.
I used it in 2003 without knowing what it was called, without any knowledge of it, working out the idea from basic principles. Backgammon engine using neural net, I didn’t know how to do back propagation at the time, so generated a net from random weights given random perturbations, playing fast game batches and keeping a fraction of the perturbation of the winning weights. Worked well enough.
Some things are kind of obvious and people independently think them up. “Modern chess programmers” hardly have to think of anything because all wheels are already invented and perfected.
My 10 Elo came from SPSA on the five piece type values (used in various places in search), they were already “tuned” from years ago, so the 10 Elo was basically from an SPSA fine tune.
-
- Posts: 7279
- Joined: Thu Aug 18, 2011 12:04 pm
- Full name: Ed Schröder
Re: Computer Chess Programming from the Ground up
Creating the Rustic chess engine
or, the art of Chess Programming in Rust
Marcel Vanthoor
Latest update: October 28, 2024 - 20:35 (Dutch Time)
Make sure to press CTRL+F5 so you see the latest version of this book.
Most recently updated chapters:
Write Board Struct Chapter
Rewrite About Me
Small update to the Bitboards chapter
Finish the Piece List chapter
Add the Piece List chapter
Updated the Bitboards chapter
Updated the Downloads chapter
Added the Game History chapter
Added the Game State chapter
Move some stuff to Board Functionality
Updated the Zobrist Hashing chapter
Added the Zobrist Hashing chapter
© Marcel Vanthoor, 2019-2024
https://rustic-chess.org/front_matter/title.html
....
I find this document an excellent starting point for writing a chess engine.
Feel free to discuss or ask questions in the programmer section about the work of Marcel Vanthoor and his Rustic chess engine.
What lacks is a chapter about SPSA tuning and NNUE evaluation.
Looking for good articles about SPSA tuning and NNUE evaluation to be added here.
or, the art of Chess Programming in Rust
Marcel Vanthoor
Latest update: October 28, 2024 - 20:35 (Dutch Time)
Make sure to press CTRL+F5 so you see the latest version of this book.
Most recently updated chapters:
Write Board Struct Chapter
Rewrite About Me
Small update to the Bitboards chapter
Finish the Piece List chapter
Add the Piece List chapter
Updated the Bitboards chapter
Updated the Downloads chapter
Added the Game History chapter
Added the Game State chapter
Move some stuff to Board Functionality
Updated the Zobrist Hashing chapter
Added the Zobrist Hashing chapter
© Marcel Vanthoor, 2019-2024
https://rustic-chess.org/front_matter/title.html
....
I find this document an excellent starting point for writing a chess engine.
Feel free to discuss or ask questions in the programmer section about the work of Marcel Vanthoor and his Rustic chess engine.
What lacks is a chapter about SPSA tuning and NNUE evaluation.
Looking for good articles about SPSA tuning and NNUE evaluation to be added here.
90% of coding is debugging, the other 10% is writing bugs.