Changes

Jump to: navigation, search

Arasan

3,982 bytes added, 10:03, 10 May 2023
m
added category MIT, engine itself is MIT license.
|-
| rowspan="2" | '''Arasan''',<br/>
an [[:Category:Open Source|open source engine]] written by [[Jon Dart]] in [[Cpp|C++]]. Arasan's development started in the early 90s, the first version, released in 1994 was a 16-bit program running under [[Windows|Windows 3.1]] using an [[8x8 Board]], [[Incremental Updates|incremental updated]] [[Attack and Defend Maps|attack tables]] and its own [[GUI]], evolving to a portable 32-bit and later 64-bit program, utilizing [[Bitboards|bitboards]] to determine its [[Sliding Piece Attacks|sliding piece attacks]] with [[Rotated Bitboards|rotated bitboard lookups]]. In 2008, rotated were replaced by [[Magic Bitboards|Magic bitboards]], which gave Arasan about a 20-25% speedup <ref>[httphttps://www.arasanchess.org/blogs/aug08.html Arasan Blog - Aug 26, 2008]</ref>.
Despite its own GUI, Arasan early supported the [[Chess Engine Communication Protocol]] and later [[UCI]] as well, to run under [[Windows]], [[Linux]] and [[Mac OS]] <ref>[httphttps://www.arasanchess.org/ Arasan chess]</ref>. The latest version of Arasan and all major versions, including Version 1.0 from March 1994, are available as source code from the Arasan.org site <ref>[httphttps://www.arasanchess.org/downld.shtml Arasan Downloads]</ref> . Jon's change logs, bug fix reports and tournament reports over the time are available from [[Computer Chess Forums|forum archives]], as well the recent ones from the Arasan blog <ref>[httphttps://arasanchess.org/blog.shtml Arasan Tech Blog]</ref>
| <span style="font-size: 600%;">அரசன்</span>
|}
=Selected Features= <ref>[https://www.arasanchess.org/programr.shtml Arasan Programmer's Guide]</ref>==[[Board Representation]]== ===Bitboard Trials===
[[Jon Dart]], May 1996 <ref>[http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/d75cd258ea73a4a7 Arasan progress report] by [[Jon Dart]], [[Computer Chess Forums|rgcc]], May 23, 1996</ref>
Lately I've been working on a new major release of Arasan. I have spent the last few months working on the search engine, trying to improve speed and performance. I tried some experiments with a [[Bitboards|bitboard]] move representation, but I have backed off on that for now.
However, currently the program relies pretty heavily on [[Incremental Updates|incrementally generated]] [[Attack and Defend Maps|attack information]], and I didn't have that implemented to work with bitboards, so I had to compute attacks as needed. Unfortunately, the current program "needs" to do this much more often than [[Crafty]] does, so the loss from computing attacks more than balanced out the gains from bitboards. This is fixable, I'm sure, but I've put off further work on it for now.
===[[Magic Bitboards]]=== [[Jon Dart]], August 2008 <ref>[httphttps://www.arasanchess.org/blogs/aug08.html Arasan Blog - Aug 26, 2008]</ref> :
The main change has been to re-work the code to use [[Magic Bitboards|"magic" bitboard logic]] instead of [[Rotated Bitboards|rotated bitboards]]. This has given about a 20-25% speedup. I have also had to re-write the [[Evaluation|evaluation function]] to take advantage of bitboard attack functions for [[King Safety|king safety]] and [[Mobility|mobility]].
===[[BMI2#PDEPBitboards|PEXT/PDEP Bitboards]]===
Arasan '''20.3''', released in November 2017, performs [[BMI2#PDEPBitboards|PEXT/PDEP Bitboards]] if compiled for the [[BMI2]] instruction set <ref>[http://www.talkchess.com/forum/viewtopic.php?t=65636 Arasan 20.3] by [[Jon Dart]], [[CCC]], November 05, 2017</ref> to replace [[Magic Bitboards#Fancy|Fancy Magic Bitboards]] in looking up [[Sliding Piece Attacks|sliding piece attacks]] <ref>arasan_source20.3.zip/src/attacks.h</ref>
 
<span id="Tuning"></span>
==[[Search]]== * [[Lazy SMP]] 21.0* [[Iterative Deepening]] [[Depth#FractionalPlies|Depth Resolution 4]] * [[Aspiration Windows]]* [[Principal Variation Search]]* [[Transposition Table]]** [[Shared Hash Table]]** [[Shared Hash Table#Lockless|Lockless Hashing]] * [[Move Ordering]]** [[Internal Iterative Deepening]]** [[Countermove Heuristic]]** [[History Heuristic#CMHist|Counter Moves History]]** [[Killer Heuristic]]** [[Refutation Table]]** [[History Heuristic]]** [[MVV-LVA|MVV/LVA]]** [[Static Exchange Evaluation|SEE]]* [[Selectivity]]** [[Depth#FractionalPlies|Fractional Ply]] [[Extensions]]*** [[Check Extensions]]*** [[Passed Pawn Extensions]]*** [[Singular Extensions]]** [[Pruning]]*** [[Null Move Pruning]]*** [[Reverse Futility Pruning|Static Null Move Pruning]]*** [[Static Exchange Evaluation|SEE Pruning]]*** [[Futility Pruning]]*** [[Futility Pruning#MoveCountBasedPruning|Late Move Pruning]]*** [[ProbCut]]** [[Reductions]]*** [[Late Move Reductions]]*** [[Razoring]]** [[Quiescence Search]]==[[Evaluation]]== ===[[NNUE]]===Arasan '''23.0''', released in September 2021, uses a [[Stockfish]] 13 compatible [[NNUE]] - trained by selfplay positions - to [[Evaluation|evaluate]] its positions <ref>[https://www.talkchess.com/forum3/viewtopic.php?f=2&t=78122&start=14 Re: Arasan 23.0] by [[Jon Dart]], [[CCC]], September 08, 2021</ref>. The neural network file is external to the program and is loaded at runtime.===Traditional===* [[Material]]* [[Piece-Square Tables]]* [[Development]]* [[Mobility]]** [[Trapped Pieces]]** [[Rook on Open File|Rooks on (Semi) Open Files]]* [[Outposts]]* [[Pawn Structure]]** [[Pawn Hash Table]]** [[Backward Pawn]]** [[Doubled Pawn]]** [[Isolated Pawn]]* [[Passed Pawn]]** [[Connected Passed Pawns]]** [[Outside Passed Pawn]]** [[Blockade of Stop]]** [[Tarrasch Rule]]* [[King Safety]]** [[King Safety#KingTropism|King Tropism]]** [[King Safety#PawnShield|Pawn Shelter]]** [[King Safety#PawnStorm|Pawn Storm]]===[[Automated Tuning]]===Arasan '''19.2''', released in November 2016, now applies [[Texel's Tuning Method]] by default and supports the ''[https://en.wikipedia.org/wiki/Stochastic_gradient_descent#Adam Adam'' ] [https://en.wikipedia.org/wiki/Gradient_descent gradient descent] algorithm <ref>[http://www.talkchess.com/forum/viewtopic.php?t=61948 Arasan 19.2] by [[Jon Dart]], [[CCC]], November 03, 2016</ref> <ref>[https://scholar.google.nl/citations?user=yyIoQu4AAAAJ Diederik P. Kingma], [https://scholar.google.ca/citations?user=ymzxRhAAAAAJ&hl=en Jimmy Lei Ba] ('''2015'''). ''Adam: A Method for Stochastic Optimization''. [https://arxiv.org/abs/1412.6980v8 arXiv:1412.6980v8], [http://www.iclr.cc/doku.php?id=iclr2015:main ICLR 2015]</ref>.  =Lazy SMP=[[Syzygy Bases]]==As of version 21Arasan uses a [[Syzygy Bases#Fathom|Fathom]] fork with some bug fixes and enhancements <ref>[https://github.com/jdart1/Fathom jdart1/Fathom · GitHub] by [[Jon Dart]]</ref>, also supporting [[Syzygy Bases#7-man|7-man]] <ref>[http://www.talkchess.com/forum3/viewtopic.0 php?f=7&t=70568 7-man Syzygy support in June 2018 Arasan comes with a Fathom] by [[Jon Dart]], [[Lazy SMPCCC]] implementation, April 23, 2019</ref>.
=Tournament Play=
Arasan went online in December, 1996 <ref>[http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/4a4705301c3c3229 Arasan goes online] by [[Jon Dart]], [[Computer Chess Forums|rgcc]], January 6, 1997</ref> , and played almost all major online computer chess tournaments, such as [[CCT Tournaments]], [[ACCA Americas' Computer Chess Championship]], [[ACCA World Computer Rapid Chess Championship]], [[TCEC]], and [[Italian Computer Chess Championship#IGWT|International Gsei Web Tournaments]]. Arasan 15.1 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46077 Arasan 15.1] by [[Jon Dart]], [[CCC]], November 19, 2012</ref> won the [[ACCA 2012]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46047 Seventh Annual ACCA Americas' Computer Chess Championships] by [[Jon Dart]], [[CCC]], November 18, 2012</ref> , Arasan 16.0 the [[WCRCC 2013]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=48703 Arasan games from WCRCC] by [[Jon Dart]], [[CCC]], July 21, 2013</ref> . Over the board, Arasan is was active at the [[CSVN Programmers Tournament|CSVN Programmers Tournaments]] operated by [[Tessa Pijl]]. Arasan was runner-up behind [[The Baron]] in May 2014 at the [[PT 46]] one point behind, as well in June 2015 at the [[PT 48]] with the same score according to the tiebreak rules <ref>[http://www.talkchess.com/forum/viewtopic.php?t=56645&start=3 Baron 1st, Arasan 2nd] by [[Jon Dart]], [[CCC]], June 14, 2015</ref>.
=Photos & Games=
=See also=
* [[:Category:Chess Pieces|Chess Pieces]]
* [[King]]
* [[:Category:Nobility|Nobility]]
=Forum Posts=
* [http://www.talkchess.com/forum/viewtopic.php?t=66254 Arasan 20.4.1] by [[Jon Dart]], [[CCC]], January 05, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67040 Arasan 20.5] by [[Jon Dart]], [[CCC]], April 08, 2018
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67805&p=766218 Arasan 21.0 beta] by [[Jon Dart]], [[CCC]], June 23, 2018* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=67855&p=766972 Arasan 21.0] by [[Jon Dart]], [[CCC]], June 30, 2018* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68554 Arasan 21.1] by [[Jon Dart]], [[CCC]], October 02, 2018* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69436 Arasan 21.2] by [[Jon Dart]], [[CCC]], December 31, 2018'''2019'''* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=70360 Arasan 21.3] by [[Jon Dart]], [[CCC]], March 29, 2019* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71169 Arasan 21.4] by [[Jon Dart]], [[CCC]], July 02, 2019* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72541 Arasan 22.0] by [[Jon Dart]], [[CCC]], December 10, 2019==2020 ...==* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74331 Arasan 22.1] by [[Jon Dart]], [[CCC]], July 01, 2020* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76128 Arasan 22.2] by [[Jon Dart]], [[CCC]], December 22, 2020 '''2021'''* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=77414 Arasan 22.3] by [[Jon Dart]], [[CCC]], May 31, 2021* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=78122 Arasan 23.0] by [[Jon Dart]], [[CCC]], September 06, 2021: [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=78122&start=14 Re: Arasan 23.0] by [[Jon Dart]], [[CCC]], September 08, 2021'''2022'''* [https://www.talkchess.com/forum3/viewtopic.php?f=2&t=79500 Arasan 23.3] by [[Jon Dart]], [[CCC]], March 12, 2022
=External Links=
==Chess Engine==
* [http://arasanchess.org/index.shtml Arasan Chess] by [[Jon Dart]]
* [https://arasanchess.org/programr.shtml Arasan Programmer's Guide] by [[Jon Dart]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=64364 Arasan Programmer's Guide] by [[Jon Dart]], [[CCC]], June 21, 2017</ref>
* [http://www.arasanchess.org/testsuite.shtml Arasan Test Suite]
* [http://www.playwitharena.com/?Newsticker:Archive_5 Arasan 8.4 released, short interview with Jon Dart] by [[Frank Quisinsky]], March 01, 2005, [[Arena|Arena Chess GUI]], Archive 5, 72
* [https://github.com/jdart1/arasan-chess jdart1/arasan-chess · GitHub] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=48082 Arasan on github] by [[Jon Dart]], [[CCC]], May 22, 2013</ref>
* [httphttps://www.arasanchess.org/index.shtml Arasan Chess] by [[Jon Dart]]* [https://www.computerchessarasanchess.org/programr.ukshtml Arasan Programmer's Guide] by [[Jon Dart]] <ref>[http:/ccrl/4040www.talkchess.com/cgiforum/engine_detailsviewtopic.cgiphp?match_length=30&each_game=1&print=Details&each_game=1&engt=64364 Arasan%Programmer's Guide] by [[Jon Dart]], [[CCC]], June 21, 2017</ref>* [https://www.arasanchess.org/testsuite.0%2064-bit#Arasan_17_0_64-bit shtml Arasan 17Test Suite]* [https://web.0 64-bitarchive.org/web/20120106012659/http://www.playwitharena.com/?Newsticker:Archive_5 Arasan 8.4 released, short interview with Jon Dart] by [[Frank Quisinsky]] in , March 01, 2005, [[CCRLArena|CCRL 40Arena Chess GUI]], Archive 5, 72 ([https://en.wikipedia.org/wiki/40]Wayback_Machine Wayback Machine])* [http://www.computerchess.org.uk/ccrl/4040/cgi/engine_detailscompare_engines.cgi?match_lengthfamily=30Arasan&each_gameprint=1Rating+list&print=DetailsResults+table&each_gameprint=1LOS+table&engprint=Ponder+hit+table&print=Eval+difference+table&print=Comopp+gamenum+table&print=Overlap+table&print=Score+with+common+opponents Arasan%2018.0%2064-bit%204CPU#Arasan_18_0_64-bit_4CPU Arasan 18.0 64-bit] in [[CCRL|CCRL 40/4015]]
==Misc==
* [https://en.wikipedia.org/wiki/Arasan Arasan from Wikipedia]
'''[[Engines|Up one Level]]'''
[[Category:Chess PiecesOpen Source]][[Category:MIT]]
[[Category:Nobility]]
[[Category:UCI]]
[[Category:WinBoard‏‎]]
[[Category:XBoard‏‎]]
[[Category:Open SourceX86]][[Category:X64]][[Category:PC]][[Category:ARM]][[Category:Pi]][[Category:Android]][[Category:Linux]][[Category:Mac]][[Category:Windows]][[Category:NNUE]][[Category:Chess Pieces]]
422
edits

Navigation menu