Difference between revisions of "Zahak"
(Add a page for Zahak) |
GerdIsenberg (talk | contribs) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''[[Main Page|Home]] * [[Engines]] * Zahak''' | '''[[Main Page|Home]] * [[Engines]] * Zahak''' | ||
− | [[FILE:zahak_logo. | + | [[FILE:zahak_logo.jpg|border|right|thumb| <center>Zahak's Logo <ref>[https://github.com/amanjpro/zahak#zahak GitHub - amanjpro/zahak: A UCI compatible chess AI in Go - Name]</ref> - Designed by Nasrin Zaza <ref>[https://www.linkedin.com/in/nasrin-zaza Nasrin Zaza · LinkedIn Profile]</ref></center> ]] |
'''Zahak''',<br/> | '''Zahak''',<br/> | ||
a [[UCI]] compliant [[:Category:Open Source|open source chess engine]] by [[Amanj Sherwany]], written in [[Go]], licensed under the [[Massachusetts_Institute_of_Technology#License|MIT License]] and first released on [https://en.wikipedia.org/wiki/GitHub GitHub] in February 2021 <ref>[https://github.com/amanjpro/zahak/releases/tag/0.0.1 Release Zahak 0.0.1 · amanjpro/zahak · GitHub]</ref>. | a [[UCI]] compliant [[:Category:Open Source|open source chess engine]] by [[Amanj Sherwany]], written in [[Go]], licensed under the [[Massachusetts_Institute_of_Technology#License|MIT License]] and first released on [https://en.wikipedia.org/wiki/GitHub GitHub] in February 2021 <ref>[https://github.com/amanjpro/zahak/releases/tag/0.0.1 Release Zahak 0.0.1 · amanjpro/zahak · GitHub]</ref>. | ||
− | Since version 7, Zahak's hand crafted [[Evaluation Function | evaluation function]] is replaced with an [[NNUE | NNUE style]] evaluation, which is trained by a from scratch written trainer, that is written in [[Go]] as well<ref>[https://github.com/amanjpro/zahak-trainer amanjpro/zahak-trainer · GitHub]</ref>. The network is trained on self-play games between different versions of Zahak. As of version 8, Zahak features an own network architecture which consists of 769 input features, that represents all the pieces on the board as well as a feature to represent white-to-move. The training process is thoroughly documented<ref>[https://github.com/amanjpro/zahak/blob/master/training.md Training Documentation · amanjpro/zahak · GitHub]</ref>. As of the time of this writing, Zahak is the only [[NNUE]] engine that is written in [[Go]]. | + | Since version 7, Zahak's hand crafted [[Evaluation Function | evaluation function]] is replaced with an [[NNUE | NNUE style]] evaluation, which is trained by a from scratch written trainer, that is written in [[Go]] as well <ref>[https://github.com/amanjpro/zahak-trainer amanjpro/zahak-trainer · GitHub]</ref>. The network is trained on self-play games between different versions of Zahak. As of version 8, Zahak features an own network architecture which consists of 769 input features, that represents all the pieces on the board as well as a feature to represent white-to-move. The training process is thoroughly documented <ref>[https://github.com/amanjpro/zahak/blob/master/training.md Training Documentation · amanjpro/zahak · GitHub]</ref>. As of the time of this writing, Zahak is the only [[NNUE]] engine that is written in [[Go]]. |
− | Zahak started its first debut in [[TCEC]] in Swiss 2 event of S21<ref>[https://wiki.chessdom.org/TCEC_Swiss_2 TCEC Swiss 2 Wiki]</ref>. | + | Zahak started its first debut in [[TCEC]] in Swiss 2 event of S21 <ref>[https://wiki.chessdom.org/TCEC_Swiss_2 TCEC Swiss 2 Wiki]</ref>. |
− | = | + | =Etymology= |
− | Zahak (or Zahhak or Azhi Dahak) is an evil figure in Iranian/Kurdish/Perisan mythology, evident in ancient Iranian folklore as Azhi Dahāka, the name by which he also appears in the texts of the Avesta. Legend has it, that he had two giant snakes on his shoulders and he had to feed them two human brains on daily basis<ref>[https://en.wikipedia.org/wiki/Zahhak Zahhak | + | Zahak (or Zahhak or Azhi Dahak) is an evil figure in Iranian/Kurdish/Perisan mythology, evident in ancient Iranian folklore as Azhi Dahāka, the name by which he also appears in the texts of the Avesta. Legend has it, that he had two giant snakes on his shoulders and he had to feed them two human brains on daily basis <ref>[https://en.wikipedia.org/wiki/Zahhak Zahhak from Wikipedia]</ref>. |
=Features= | =Features= | ||
Line 40: | Line 40: | ||
** [[Static Exchange Evaluation|SEE]] based Pruning | ** [[Static Exchange Evaluation|SEE]] based Pruning | ||
** [[Late Move Reductions]] | ** [[Late Move Reductions]] | ||
− | ** [[Late Move Pruning]] | + | ** [[Futility Pruning#MoveCountBasedPruning|Late Move Pruning]] |
** [[Quiescence Search]] | ** [[Quiescence Search]] | ||
==[[Evaluation]]== | ==[[Evaluation]]== | ||
* [[NNUE]] (>= Zahak 7) | * [[NNUE]] (>= Zahak 7) | ||
==Misc== | ==Misc== | ||
+ | * [[PolyGlot|PolyGlot]] [[Opening Book]] | ||
* [[Syzygy Bases]] | * [[Syzygy Bases]] | ||
+ | * [[Principal Variation#MultiPV|MultiPV]] | ||
+ | * [[Playing Strength|Skill Levels]] | ||
=Forum Posts= | =Forum Posts= | ||
− | + | * [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76855 Zahak, a GoLang based chess engine] by [[Amanj Sherwany]], [[CCC]], March 13, 2021 | |
− | * [http://talkchess.com/forum3/viewtopic.php?f=2&t=76855 | + | |
+ | =External Links= | ||
+ | ==Chess Engine== | ||
+ | * [https://github.com/amanjpro/zahak GitHub - amanjpro/zahak: A UCI compatible chess AI in Go] | ||
+ | * [https://ccrl.chessdom.com/ccrl/4040/cgi/compare_engines.cgi?family=Zahak&print=Rating+list&print=Results+table&print=LOS+table&print=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Zahak in CCRL 40/15] | ||
+ | ==Misc== | ||
+ | * [https://en.wikipedia.org/wiki/Zahhak Zahhak from Wikipedia] | ||
=References= | =References= | ||
+ | <references /> | ||
+ | '''[[Engines|Up one level]]''' | ||
+ | [[Category:Open Source]] | ||
+ | [[Category:MIT]] | ||
+ | [[Category:Go Proglanguage]] | ||
+ | [[Category:UCI]] | ||
+ | [[Category:PC]] | ||
+ | [[Category:X86]] | ||
+ | [[Category:X64]] | ||
+ | [[Category:Windows]] | ||
+ | [[Category:Linux]] | ||
+ | [[Category:Mac]] | ||
+ | [[Category:NNUE]] | ||
+ | [[Category:OpenBench]] | ||
+ | [[Category:Mythology]] | ||
+ | [[Category:Demonology]] |
Latest revision as of 14:01, 26 November 2021
Zahak,
a UCI compliant open source chess engine by Amanj Sherwany, written in Go, licensed under the MIT License and first released on GitHub in February 2021 [3].
Since version 7, Zahak's hand crafted evaluation function is replaced with an NNUE style evaluation, which is trained by a from scratch written trainer, that is written in Go as well [4]. The network is trained on self-play games between different versions of Zahak. As of version 8, Zahak features an own network architecture which consists of 769 input features, that represents all the pieces on the board as well as a feature to represent white-to-move. The training process is thoroughly documented [5]. As of the time of this writing, Zahak is the only NNUE engine that is written in Go.
Zahak started its first debut in TCEC in Swiss 2 event of S21 [6].
Contents
Etymology
Zahak (or Zahhak or Azhi Dahak) is an evil figure in Iranian/Kurdish/Perisan mythology, evident in ancient Iranian folklore as Azhi Dahāka, the name by which he also appears in the texts of the Avesta. Legend has it, that he had two giant snakes on his shoulders and he had to feed them two human brains on daily basis [7].
Features
Board Representation
- Bitboards
- Magic Bitboards for sliding pieces.
- Multi-Stage Pseudo-Legal Move Generation
Search
- Iterative Deepening
- Aspiration Windows
- Lazy SMP
- Principal Variation Search
- Transposition Table
- Move Ordering
- Selectivity
Evaluation
- NNUE (>= Zahak 7)
Misc
Forum Posts
- Zahak, a GoLang based chess engine by Amanj Sherwany, CCC, March 13, 2021
External Links
Chess Engine
Misc
References
- ↑ GitHub - amanjpro/zahak: A UCI compatible chess AI in Go - Name
- ↑ Nasrin Zaza · LinkedIn Profile
- ↑ Release Zahak 0.0.1 · amanjpro/zahak · GitHub
- ↑ amanjpro/zahak-trainer · GitHub
- ↑ Training Documentation · amanjpro/zahak · GitHub
- ↑ TCEC Swiss 2 Wiki
- ↑ Zahhak from Wikipedia
- ↑ Features based on README.md · amanjpro/zahak · GitHub