Your trusted source for computer chess information!
Differences
This shows you the differences between two versions of the page.
computer_chess:engines:myrddin:index 2024/10/19 15:06 | computer_chess:engines:myrddin:index 2024/11/10 23:59 current | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Myrddin ===== | ===== Myrddin ===== | ||
- | {{myrddin.jpg}} | + | First of all, thanks very much to Ron Murawski for making this site available and hosting Myrddin's history here! =) |
- | First of all, thanks very much to Ron Murawski for making this site available and hosting Myrddin here! =) | + | Myrddin 0.91 supports SMP via processes (up to 16 instances) and is about 300-350 ELO stronger than v0.90 at 1 CPU and a further 80 ELO stronger at 4 CPUs. This version has not been formally tested above 4 CPUs so it is unknown how well it will scale above 4 CPUs. |
- | + | ||
- | Myrddin 0.90 supports SMP via processes (up to 16 instances) and is about 50 ELO stronger than v0.89 at 1 CPU and a further 80 ELO stronger at 4 CPUs. This version has not been formally tested above 4 CPUs so it is unknown how well it will scale above 4 CPUs. | + | |
==== Download ==== | ==== Download ==== | ||
- | Executable Package - [[https://www.dropbox.com/scl/fi/fpbbdfrsn2bc2dqa8gsrv/Myrddin-091.rar?dl=0 | Myrddin 0.91]] (released 10/20/23, CCRL rating estimated at 2900 at 1 CPU and 2780 at 4 CPUs)\\ | + | Executable Package - [[https://www.dropbox.com/scl/fi/fpbbdfrsn2bc2dqa8gsrv/Myrddin-091.rar?dl=0 | Myrddin 0.91]] (released 10/20/24, CCRL rating estimated at 2975 at 1 CPU and 3055 at 4 CPUs)\\ |
Source Code - [[https://github.com/JVMerlino/Myrddin | Myrddin Source]] | Source Code - [[https://github.com/JVMerlino/Myrddin | Myrddin Source]] | ||
Line 28: | Line 26: | ||
==== Release Notes ==== | ==== Release Notes ==== | ||
- | Myrddin 0.90 -- 6/9/23 | + | Myrddin 0.91 -- 10/20/24 |
Myrddin is a winboard-compliant chess engine to a reasonable degree. It supports protover 1 primarily to support the Chessmaster interface, and also protover 2. | Myrddin is a winboard-compliant chess engine to a reasonable degree. It supports protover 1 primarily to support the Chessmaster interface, and also protover 2. | ||
- | The 64-bit version of Myrddin should play approximately 2650 ELO against chess engines at 1 CPU (using CCRL rating), and probably 100 points higher against humans. This is an improvement of about 50 points compared to the previous release. Myrddin should play about 80 points stronger at 4 CPU. | + | The 64-bit version of Myrddin should play approximately 2975 ELO against chess engines at 1 CPU (using CCRL rating), and probably 100 points higher against humans. This is an improvement of about 300-350 points compared to the previous release. Myrddin should play about 80 points stronger at 4 CPU. |
The following winboard commands are supported: | The following winboard commands are supported: | ||
Line 75: | Line 73: | ||
====General Notes==== | ====General Notes==== | ||
- | -- Myrddin's "Very Lazy SMP" implementation uses (N-1) child processes to fill the transposition, eval and pawn hash tables so the parent process can search deeper in the same amount of time. I believe Myrddin is the only engine that has implemented SMP with this method (and probably rightly so!).\\ | + | -- Myrddin uses an "NNUE-like" evaluation method created by David Carteau called [[https://github.com/david-carteau/cerebrum | "Cerebrum"]]. David also wrote the Orion chess engine.\\ |
+ | -- Myrddin's "Very Lazy SMP" implementation uses (N-1) child processes to fill the transposition and eval hash tables so the parent process can search deeper in the same amount of time. I believe Myrddin is the only engine that has implemented SMP with this method (and probably rightly so!).\\ | ||
-- Myrddin uses Pradyumna Kannan's [[http://www.pradu.us/old/Nov27_2008/Buzz/ | magicmoves]] code for move generation of sliding pieces.\\ | -- Myrddin uses Pradyumna Kannan's [[http://www.pradu.us/old/Nov27_2008/Buzz/ | magicmoves]] code for move generation of sliding pieces.\\ | ||
- | -- Myrddin uses a tapered eval which was tuned using a very rudimentary Texel tuning system.\\ | + | -- Myrddin supports the [[https://github.com/michiguel/Gaviota-Tablebases | Gaviota Endgame Tablebases]].\\ |
-- Search is basic alpha/beta, with typical extensions and reductions.\\ | -- Search is basic alpha/beta, with typical extensions and reductions.\\ | ||
-- All user-modifiable parameters are supported in the INI file, an example of which is included in the download.\\ | -- All user-modifiable parameters are supported in the INI file, an example of which is included in the download.\\ | ||
Line 111: | Line 110: | ||
==== Test Suite Results ==== | ==== Test Suite Results ==== | ||
- | All results are for the 64-bit version of 0.89 using 1GB hash and 5-man Gaviota tablebases. The tests are run on an AMD Ryzen 5 3.6GHz machine at one CPU. | + | All results are for version 0.91 using 1GB hash and 5-man Gaviota tablebases. The tests are run on an AMD Ryzen 5 3.6GHz machine at one CPU. |
== WAC (Win at Chess) == | == WAC (Win at Chess) == | ||
- | 300 positions at 5s per position. Almost exclusively tactical positions, many leading to mate. Myrddin finds 297 correct moves within the time limit. Regarding the three missed positions (230, 256, 293), only #256 is found within 15 seconds. The other two are not found within 30 seconds. This suite can be found [[http://www.bergbomconsulting.se/chess/epdfiles/wac.epd|here]]. | + | 300 positions at 5s per position. Almost exclusively tactical positions, many leading to mate. Myrddin finds 297 correct moves within the time limit. Regarding the three missed positions (224, 247, 293), only #246 is not found within 10 seconds. This suite can be found [[http://www.bergbomconsulting.se/chess/epdfiles/wac.epd|here]]. |
== Strategic Test Suite == | == Strategic Test Suite == | ||
- | A series of (currently, but occasionally expanding) 14 individual suites of 100 positions each, primarily intending to test positional knowledge such as square vacancy, proper recapturing, pawn advancement, control of the center, etc. At 10s per move, Myrddin gets 952 out of 1400 positions correct. This suite is also interesting because it contains "partial credit". In other words, you can still get some points by choosing moves other than the optimal. Myrddin gets 10,914 out of 14,000 points if partial credit is included. You can download this test suite [[http://sites.google.com/site/strategictestsuite|here]]. | + | A series of (currently, but occasionally expanding) 14 individual suites of 100 positions each, primarily intending to test positional knowledge such as square vacancy, proper recapturing, pawn advancement, control of the center, etc. At 10s per move, Myrddin gets 952 out of 1400 positions correct. This suite is also interesting because it contains "partial credit". In other words, you can still get some points by choosing moves other than the optimal. Myrddin gets 11,606 out of 14,000 points if partial credit is included. You can download this test suite [[http://sites.google.com/site/strategictestsuite|here]]. |
== O'Kelly == | == O'Kelly == | ||
- | 176 positions at 10s per position. Combinative middlegame and endgame suite. Myrddin finds 136 positions within the time limit. You can download this test suite [[http://www.horizonchess.com/Download.html|here]]. | + | 176 positions at 10s per position. Combinative middlegame and endgame suite. Myrddin finds 139 positions within the time limit. You can download this test suite [[http://www.horizonchess.com/Download.html|here]]. |
== Eigenmann Endgame Test == | == Eigenmann Endgame Test == | ||
- | 100 positions at 10s per position. Myrddin does not do very well at this suite, getting only 41 correct moves within the time limit. You can download this test suite [[http://computer-chess.org/doku.php?id=computer_chess:wiki:download:epd_contents|here]]. | + | 100 positions at 10s per position. Myrddin does not do very well at this suite, getting only 51 correct moves within the time limit. You can download this test suite [[http://computer-chess.org/doku.php?id=computer_chess:wiki:download:epd_contents|here]]. |
== IQ 8.1 == | == IQ 8.1 == | ||
- | 182 positions at 10s per position. Challenging tactical suite. Myrddin finds 158 positions within the time limit. You can download this test suite [[http://www.horizonchess.com/Download.html|here]]. | + | 182 positions at 10s per position. Challenging tactical suite. Myrddin finds 165 positions within the time limit. You can download this test suite [[http://www.horizonchess.com/Download.html|here]]. |
====FULL DISCLOSURE==== | ====FULL DISCLOSURE==== | ||
Line 132: | Line 131: | ||
====Version/Change List==== | ====Version/Change List==== | ||
+ | |||
+ | == Version 0.91 (10/20/24) == | ||
+ | -- Added NNUE probing code by David Carteau (Orion / Cerebrum). All code related to the HCE has been removed, as well as the pawn hash\\ | ||
+ | -- Network created by me using games from CCRL, Lichess, and Myrddin testing (both self-play and against other engines)\\ | ||
+ | -- Fixed a rare bug that could cause the best move from the previous iteration to not be the first move searched\\ | ||
+ | -- If perft or divide are called with no parameters, the default depth will be one (and Myrddin will no longer crash)\\ | ||
== Version 0.90 (6/9/23) == | == Version 0.90 (6/9/23) == |