Your trusted source for computer chess information!

Differences

This shows you the differences between two versions of the page.

computer_chess:engines:myrddin:index 2015/01/24 15:09 computer_chess:engines:myrddin:index 2019/01/31 01:08 current
Line 1: Line 1:
===== Myrddin ===== ===== Myrddin =====
-{{http://www.computer-chess.org/data/media/myrddin/Myrddin.jpg}}+{{myrddin.jpg}}
First of all, thanks very much to Ron Murawski for making this site available and hosting Myrddin here! =) First of all, thanks very much to Ron Murawski for making this site available and hosting Myrddin here! =)
-Version 0.87 to be released soon! This version supports SMP via processes (up to 16 instances) and is expected to be about 30 ELO stronger than v0.86 at 1 CPU and about 130 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.+This version supports SMP via processes (up to 16 instances) and is about 35 ELO stronger than v0.86 at 1 CPU and about 90 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 ====
-{{http://computer-chess.org/data/media/myrddin/Myrddin087.rar | Myrddin 0.87}} (released 1/20/15, [[http://www.computerchess.org.uk/ccrl | CCRL]] rating estimated at 2380 at 1 CPU and 2480 at 4 CPUs)\\+{{myrddin087.rar | Myrddin 0.87}} (released 1/25/15, [[http://www.computerchess.org.uk/ccrl | CCRL]] rating estimated at 2395 at 1 CPU and 2485 at 4 CPUs)\\
== Old versions == == Old versions ==
-{{http://computer-chess.org/data/media/myrddin/myrddin-086-ja.zip | Myrddin 0.86}} (released 12/21/12, CCRL rated approximately 2350)\\+{{myrddin086-ja.zip | Myrddin 0.86}} (released 12/21/12, CCRL rated approximately 2360)\\
This package contains Windows32/64, Linux32/64, & Android executables compiled by [[http://jim-ablett.co.de/ | Jim Ablett]], and a Mac executable compiled by [[http://predateur-chess.blogspot.com | Julien Marcel]], author of the Prédateur chess engine.\\ This package contains Windows32/64, Linux32/64, & Android executables compiled by [[http://jim-ablett.co.de/ | Jim Ablett]], and a Mac executable compiled by [[http://predateur-chess.blogspot.com | Julien Marcel]], author of the Prédateur chess engine.\\
-{{http://computer-chess.org/data/media/myrddin/Myrddin085.rar | Myrddin 0.85}} (released 5/3/11, [[http://www.computerchess.org.uk/ccrl | CCRL]] rated approximately 2215)\\ +{{myrddin085.rar | Myrddin 0.85}} (released 5/3/11, [[http://www.computerchess.org.uk/ccrl | CCRL]] rated approximately 2220)\\ 
-{{http://computer-chess.org/data/media/myrddin/Myrddin084.rar | Myrddin 0.84}} (released 9/17/10, CCRL rated approximately 2095)\\ +{{myrddin084.rar | Myrddin 0.84}} (released 9/17/10, CCRL rated approximately 2115)\\ 
-{{http://computer-chess.org/data/media/myrddin/Myrddin083.rar | Myrddin 0.83}} (released 2/22/10, CCRL rated approximately 2000)\\ +{{myrddin083.rar | Myrddin 0.83}} (released 2/22/10, CCRL rated approximately 2015)\\ 
-{{http://computer-chess.org/data/media/myrddin/Myrddin082.rar | Myrddin 0.82}} (released 9/26/09, estimated CCRL rating of 1915)\\ +{{myrddin082.rar | Myrddin 0.82}} (released 9/26/09, estimated CCRL rating of 1915)\\ 
-{{http://computer-chess.org/data/media/myrddin/Myrddin%20Alpha%202.rar | Myrddin Alpha 2}} (released 5/26/09, estimated CCRL rating of 1550)\\ +{{myrddin_alpha_2.rar | Myrddin Alpha 2}} (released 5/26/09, estimated CCRL rating of 1550)\\ 
-{{http://computer-chess.org/data/media/myrddin/Myrddin%20Alpha%201.rar | Myrddin Alpha 1}} (released 3/9/09, estimated CCRL rating of 1150)\\+{{myrddin_alpha_1.rar | Myrddin Alpha 1}} (released 3/9/09, estimated CCRL rating of 1150)\\
---- ----
Line 32: Line 32:
  * Aart Bik's excellent [[http://www.aartbik.com/MISC/android.html|Chess for Android]] program is recommended for trying out Myrddin's Android version.   * Aart Bik's excellent [[http://www.aartbik.com/MISC/android.html|Chess for Android]] program is recommended for trying out Myrddin's Android version.
-The 64-bit version of Myrddin should play approximately 2380 ELO against chess engines at 1 CPU (using CCRL rating), and probably 100 points higher against humans. This is an improvement of approximately 30 points compared to the previous release. Myrddin should play about 90 points stronger at 4 CPU.+The 64-bit version of Myrddin should play approximately 2380 ELO against chess engines at 1 CPU (using CCRL rating), and probably 100 points higher against humans. This is an improvement of approximately 35 points compared to the previous release. Myrddin should play about 90 points stronger at 4 CPU.
The following winboard commands are supported: The following winboard commands are supported:
Line 73: Line 73:
====General Notes==== ====General Notes====
--- This is the first version to support SMP. The implementation is based on Dan Homan's "lazy SMP" idea. Myrddin uses multiple slave processes to fill the transposition, eval and pawn hash tables so the parent process can search deeper in the same amount of time.\\+-- This is the first version to support SMP. The implementation is based on Dan Homan's "lazy SMP" idea, but also uses a very rudimentary implementation from an idea by Harm Geert Muller. Myrddin uses multiple slave processes to fill the transposition, eval and pawn hash tables so the parent process can search deeper in the same amount of time.\\
-- 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.\\
-- Evaluation is rather simple: wood counting, piece square tables, pawn structure, rudimentary king safety, rooks behind passers. There's still a long way to go here.\\ -- Evaluation is rather simple: wood counting, piece square tables, pawn structure, rudimentary king safety, rooks behind passers. There's still a long way to go here.\\
Line 82: Line 82:
-- Draw claims from the opponent are not supported. Myrddin does, however, claim all draws by rule, as well as checkmate.\\ -- Draw claims from the opponent are not supported. Myrddin does, however, claim all draws by rule, as well as checkmate.\\
-- There is enough winboard support to play games on ICS. But without support for "draw" I'm sure there are some scary loopholes and/or exploits.\\ -- There is enough winboard support to play games on ICS. But without support for "draw" I'm sure there are some scary loopholes and/or exploits.\\
--- When the engine is in analysis mode, positive scores always favor White and negative scores always favor Black. When the engine is thinking or pondering, positive moves favor Myrddin.\\+-- When the engine is in analysis mode, positive scores always favor White and negative scores always favor Black. When the engine is thinking or pondering, positive scores favor Myrddin.\\
-- Logfiles will be in the "logs" folder below the folder where you ran Myrddin. The output of the log is not very interesting -- just PV output and communication reality-check stuff. If you are running Myrddin with multiple CPUs, there will be one logfile for each process.\\ -- Logfiles will be in the "logs" folder below the folder where you ran Myrddin. The output of the log is not very interesting -- just PV output and communication reality-check stuff. If you are running Myrddin with multiple CPUs, there will be one logfile for each process.\\
---- ----
Line 126: Line 126:
====FULL DISCLOSURE==== ====FULL DISCLOSURE====
-Many parts of the code from Myrddin contain ideas and/or algorithms gathered from looking at the source code of other engines. Most notably, Fruit, Crafty and Greko are well-written, well-documented and easy to understand even for a mediocre programmer like myself. The list of features implemented (and sometimes modified or discarded altogether) from these ideas would be too long to go into here. But I can safely say that all code in Myrddin is my own, written either from scratch or based on these ideas, with the following exceptions:\\+Many parts of the code from Myrddin contain ideas and/or algorithms gathered from studying the source code of other engines. Most notably, Stockfish, Fruit, Crafty and Greko are well-written, well-documented and relatively easy to understand even for a mediocre programmer like myself. The list of features implemented (and sometimes modified or discarded altogether) from these ideas would be too long to go into here. But I can safely say that all code in Myrddin is my own, written either from scratch or based on these ideas, with the following exceptions:\\
-- Myrddin's Winboard interface is based on Tom Kerrigan's excellent [[http://www.tckerrigan.com/Chess/TSCP | TSCP]] engine, for which Tom has graciously given permission.\\ -- Myrddin's Winboard interface is based on Tom Kerrigan's excellent [[http://www.tckerrigan.com/Chess/TSCP | TSCP]] engine, for which Tom has graciously given permission.\\
-- Myrddin's SEE implementation is based on pseudo-code generously given to me by Andres Valverde, author of EveAnn and part of the Dirty development team. -- Myrddin's SEE implementation is based on pseudo-code generously given to me by Andres Valverde, author of EveAnn and part of the Dirty development team.
Line 290: Line 290:
  * Dann Corbit -- Without whose generous help, huge speed improvements, bug fixes and general suggestions, the first bitboard version (v0.86) would not have been released   * Dann Corbit -- Without whose generous help, huge speed improvements, bug fixes and general suggestions, the first bitboard version (v0.86) would not have been released
  * Dr. Robert Hyatt -- [[http://www.craftychess.com | Crafty]] (it is impossible to create an engine without thanking him)   * Dr. Robert Hyatt -- [[http://www.craftychess.com | Crafty]] (it is impossible to create an engine without thanking him)
-  * [[http://jim-ablett.co.de/ | Jim Ablett]] -- creating optimized executables  
  * Miguel Ballicora - [[https://sites.google.com/site/gaviotachessengine | Gaviota]] and making his tablebase generating/probing VERY easy to implement    * Miguel Ballicora - [[https://sites.google.com/site/gaviotachessengine | Gaviota]] and making his tablebase generating/probing VERY easy to implement 
  * Mark Lefler and the [[http://chessprogramming.wikispaces.com/ | Chess Programming Wiki]] team.   * Mark Lefler and the [[http://chessprogramming.wikispaces.com/ | Chess Programming Wiki]] team.
 +  * Ed Schröder and Jeroen Noomen -- [[http://members.home.nl/matador/prodeo.htm | ProDeo]] Opening Book
 +  * [[http://jim-ablett.co.de/ | Jim Ablett]] -- creating optimized executables
  * Tom Kerrigan -- [[http://www.tckerrigan.com/Chess/TSCP | TSCP]]   * Tom Kerrigan -- [[http://www.tckerrigan.com/Chess/TSCP | TSCP]]
  * Bruce Moreland -- [[http://web.archive.org/web/20040202003948/brucemo.com/compchess/gerbil/index.htm | Gerbil]]   * Bruce Moreland -- [[http://web.archive.org/web/20040202003948/brucemo.com/compchess/gerbil/index.htm | Gerbil]]
  * Chris Tatham -- [[https://sites.google.com/site/numptychess | Numpty]] and testing assistance (and great analysis of testing results)   * Chris Tatham -- [[https://sites.google.com/site/numptychess | Numpty]] and testing assistance (and great analysis of testing results)
-  * Ed Schröder and Jeroen Noomen -- [[http://members.home.nl/matador/prodeo.htm | ProDeo]] Opening Book 
  * Vladimir Medvedev -- [[http://sites.google.com/site/grekochess | Greko]]   * Vladimir Medvedev -- [[http://sites.google.com/site/grekochess | Greko]]
  * Pham Hong Nguyen -- **Firstchess**   * Pham Hong Nguyen -- **Firstchess**

Personal Tools