Changes

Jump to: navigation, search

Arasan

2,256 bytes added, 21:42, 1 June 2021
no edit summary
|}
=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>[https://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]]== * [[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=
* [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
=External Links=
==Chess Engine==
* [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>
* [https://www.arasanchess.org/index.shtml Arasan Chess] by [[Jon Dart]]* [https://www.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>
* [https://www.arasanchess.org/testsuite.shtml Arasan Test Suite]
* [https://web.archive.org/web/20120106012659/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://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])

Navigation menu