Thanks Steve. I have not tried PBIL algorithms, though I did follow Thomas' posts with great interest a few years ago. PSO minimizing the evaluation error over a large collection of GM games seems like rough estimating compared to PBIL, which "genetically" modifies engines then plays games to enforce survival of the fittest. It definitely requires a lot of computing resources, but because it judges fitness with actual engine-versus-engine games it's probably more likely to find real improvements.
I'd like to experiment with PBIL at some point. Thanks for suggesting the video lecture.
MadChess 3.0 Beta
Moderators: hgm, Rebel, chrisw
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
My C# chess engine: https://www.madchess.net
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
I improved the history heuristics used by MadChess 3.0 Beta's Late Move Reductions (LMR), gaining 28 ELO points. It's now rated 2171 +/- 20 ELO at bullet chess. The evaluation function still is limited to to material, piece location, draw detection, and checkmate.
My C# chess engine: https://www.madchess.net
-
- Posts: 893
- Joined: Mon Jan 15, 2007 11:23 am
- Location: Warsza
Re: MadChess 3.0 Beta
Regarding history, one possible enhancement is to update history for a hash move if hash score exceeds beta. At least it helped for me a tiny bit.
Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
http://www.pkoziol.cal24.pl/rodent/rodent.htm
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
Thanks for the tip, Pawel. I can’t remember if I update history for quiet best moves that were retrieved from the hashtable. I’ll check when I get home tonight.
My C# chess engine: https://www.madchess.net
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
I implemented staged move generation in MadChess 3.0 beta. This eliminates wasted effort to generate non-capture moves in nodes where a capture causes a beta cutoff. This improved the engine's playing strength by 39 ELO. It's now rated 2210 +/- 17 ELO at bullet chess. The evaluation function still is limited to to material, piece location, draw detection, and checkmate.
My C# chess engine: https://www.madchess.net
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
I added passed pawn evaluation to MadChess 3.0 Beta. This increased the engine's playing strength by 119 ELO. Booyah!
MadChess 3.0 Beta is now rated 2329 +/- 14 ELO at bullet chess.
MadChess 3.0 Beta is now rated 2329 +/- 14 ELO at bullet chess.
My C# chess engine: https://www.madchess.net
-
- Posts: 41454
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: MadChess 3.0 Beta
Very good!emadsen wrote: ↑Fri Dec 28, 2018 4:19 am I added passed pawn evaluation to MadChess 3.0 Beta. This increased the engine's playing strength by 119 ELO. Booyah!
MadChess 3.0 Beta is now rated 2329 +/- 14 ELO at bullet chess.
gbanksnz at gmail.com
-
- Posts: 121
- Joined: Sat May 24, 2014 9:09 am
- Location: France
- Full name: David Carteau
Re: MadChess 3.0 Beta
Hi Erik,
I hope you continue your efforts on MadChess 3.0 : I'm working hard on a next version for Orion. It's hard to find time, but I have made some progress. Looking forward for good news from your side ! MadChess is one on my favorite engine/partner : go go go
I hope you continue your efforts on MadChess 3.0 : I'm working hard on a next version for Orion. It's hard to find time, but I have made some progress. Looking forward for good news from your side ! MadChess is one on my favorite engine/partner : go go go
Download Orion :
https://www.orionchess.com/
https://www.orionchess.com/
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
Thanks David. All the coding I’ve done lately has been work related. Hopefully I can get back to MadChess this spring. I know I will, it’s just a matter of finding time.
When I do I’ll be sure to watch it battle Orion on the chessboard
When I do I’ll be sure to watch it battle Orion on the chessboard
My C# chess engine: https://www.madchess.net
-
- Posts: 434
- Joined: Thu Apr 26, 2012 1:51 am
- Location: Oak Park, IL, USA
- Full name: Erik Madsen
Re: MadChess 3.0 Beta
Hello again, chess programming community. Long time, no comments from me.
While most of my programming efforts over the last year and a half have been focused on my career and my general programming blog, ErikTheCoder, I have found some time to work on my chess engine, MadChess. I'm currently rewriting it as a bitboard chess engine (MadChess 2.0 was implemented using mailbox board representation). I realize there are much more exciting developments happening in the world of chess engine programming than the glacial progress of a "down-ballot" engine (namely, the emergence of strong neural network techniques) but I still find satisfaction in writing a moderately strong engine in my language of choice, C#. The coherence of its architecture, simplicity of its code, cleverness of its algorithms, and the joy and sense of wonder it evokes as a sparring partner(1) are reward enough.
I should decide when to release an updated version of MadChess. Let me set the following criteria so I have a clear and publicly stated goal to work towards.
Below is a list of recent blog posts detailing my slow and fitful progress.
MadChess 3.0 Beta 6f3d17a (Late Move Pruning)
MadChess 3.0 Beta 5c5d4fc (Piece Mobility)
MadChess 3.0 Beta bef88d5 (Tweak Search, Tune Eval)
(1) I'm referring to MadChess as a Frankenstein creation, that is, of my mind but stronger than my mind- at least at this board game. I am a capable programmer but patzer chess player.
While most of my programming efforts over the last year and a half have been focused on my career and my general programming blog, ErikTheCoder, I have found some time to work on my chess engine, MadChess. I'm currently rewriting it as a bitboard chess engine (MadChess 2.0 was implemented using mailbox board representation). I realize there are much more exciting developments happening in the world of chess engine programming than the glacial progress of a "down-ballot" engine (namely, the emergence of strong neural network techniques) but I still find satisfaction in writing a moderately strong engine in my language of choice, C#. The coherence of its architecture, simplicity of its code, cleverness of its algorithms, and the joy and sense of wonder it evokes as a sparring partner(1) are reward enough.
I should decide when to release an updated version of MadChess. Let me set the following criteria so I have a clear and publicly stated goal to work towards.
- At least 150 ELO stronger than latest public release (version 2.2). I'll settle on a round number: at least 2600 ELO at bullet chess.
- Feature parity with latest public release (UCI_ELO, UCI parameters useful for creating personalities, etc).
- No known bugs (currently crashes in about two tenths of one percent of games, reason unknown).
Below is a list of recent blog posts detailing my slow and fitful progress.
MadChess 3.0 Beta 6f3d17a (Late Move Pruning)
MadChess 3.0 Beta 5c5d4fc (Piece Mobility)
MadChess 3.0 Beta bef88d5 (Tweak Search, Tune Eval)
(1) I'm referring to MadChess as a Frankenstein creation, that is, of my mind but stronger than my mind- at least at this board game. I am a capable programmer but patzer chess player.
My C# chess engine: https://www.madchess.net