Arasan

Home * Engines * Arasan

=Selected Features=

Bitboard Trials
Jon Dart, May 1996 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 bitboard move representation, but I have backed off on that for now.

With bitboards, I got a nice reduction in tree size (bitboards allow a more accurate swap-down analysis than I had before, and this improves move ordering and allows better "culling" of losing captures in the quiescence search).

However, currently the program relies pretty heavily on incrementally generated 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 : The main change has been to re-work the code to use "magic" bitboard logic instead of rotated bitboards. This has given about a 20-25% speedup. I have also had to re-write the evaluation function to take advantage of bitboard attack functions for king safety and mobility.

PEXT/PDEP Bitboards
Arasan 20.3, released in November 2017, performs PEXT/PDEP Bitboards if compiled for the BMI2 instruction set to replace Fancy Magic Bitboards in looking up sliding piece attacks

Search

 * Lazy SMP 21.0
 * Iterative Deepening Depth Resolution 4
 * Aspiration Windows
 * Principal Variation Search
 * Transposition Table
 * Shared Hash Table
 * Lockless Hashing
 * Move Ordering
 * Internal Iterative Deepening
 * Countermove Heuristic
 * Counter Moves History
 * Killer Heuristic
 * Refutation Table
 * History Heuristic
 * MVV/LVA
 * SEE
 * Selectivity
 * Fractional Ply Extensions
 * Check Extensions
 * Passed Pawn Extensions
 * Singular Extensions
 * Pruning
 * Null Move Pruning
 * Static Null Move Pruning
 * SEE Pruning
 * Futility Pruning
 * Late Move Pruning
 * ProbCut
 * Reductions
 * Late Move Reductions
 * Razoring
 * Quiescence Search

Evaluation

 * Material
 * Piece-Square Tables
 * Development
 * Mobility
 * Trapped Pieces
 * 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 Tropism
 * Pawn Shelter
 * Pawn Storm

Automated Tuning
Arasan 19.2, released in November 2016, applies Texel's Tuning Method by default and supports the Adam gradient descent algorithm.

Syzygy Bases
Arasan uses a Fathom fork with some bug fixes and enhancements, also supporting 7-man.

=Tournament Play= Arasan went online in December, 1996, 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 International Gsei Web Tournaments. Arasan 15.1 won the ACCA 2012, Arasan 16.0 the WCRCC 2013. Over the board, Arasan is active at the 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.

=Photos & Games= PT 48, Two Kings fighting, Johan de Koning and Tessa Pijl in Arasan vs. The King [Event "PT 48"] [Site "Leiden, NL"] [Date "2015.06.14"] [Round "7"] [White "Arasan"] [Black "The King"] [Result "1-0"]

1.d4 d5 2.c4 c6 3.Nf3 Nf6 4.Nc3 e6 5.e3 Nbd7 6.Bd3 dxc4 7.Bxc4 b5 8.Bd3 a6 9.a4 b4 10.Ne4 c5 11.Nxf6+ Nxf6 12.dxc5 Bxc5 13.e4 Bb7 14.Qe2 O-O 15.O-O e5 16.Bg5 h6 17.Bh4 Qd6 18.Bg3 Rfe8 19.Rfd1 Re7 20.Bh4 Qc6 21.Rac1 Rc8 22.Rc4 Re6 23.Bxf6 Rxf6 24.Rdc1 Qb6 25.Kh1 a5 26.Qc2 b3 27.Qe2 Qd6 28.R4c3 Rf4 29.g3 Rf6 30.Bc4 Rb8 31.Rxb3 Bb4 32.Rd3 Qc7 33.Kg2 Rf8 34.Rdd1 Rc6 35.b3 Re8 36.Kg1 Rc8 37.Rd5 Re6 38.Rd3 Rf6 39.Rcd1 Re8 40.Nh4 Qb6 41.Nf5 Rf8 42.Rf3 Kh8 43.Nh4 Kg8 44.Rd7 Bc8 45.Rd5 Rd6 46.Rxd6 Qxd6 47.Rd3 Qc7 48.Qh5 Kh7 49.Nf3 f6 50.Nh4 Bd7 51.Bf7 Bc8 52.Bg6+ Kg8 53.Bf5 Qc2 54.Qf3 Re8 55.Kg2 Rf8 56.Rd5 Bc5 57.Bxc8 Rxc8 58.Rd7 Bf8 59.Qg4 h5 60.Qg6 Qe2 61.Nf3 Qc2 62.Qf7+ Kh8 63.Qxh5+ Kg8 64.Nd2 Rb8 65.g4 Rc8 66.Qf7+ Kh8 67.Qh5+ Kg8 68.Qg6 Kh8 69.Qf5 Kg8 70.g5 fxg5 71.Nf3 Qc6 72.Nxg5 Qh6 73.Rd3 Rc7 74.Rf3 Bb4 75.Rh3 Bf8 76.Rxh6 1-0

=See also=
 * King

=Forum Posts=

1995 ...

 * Arasan 2.0 (Windows chess program) available via ftp by Jon Dart, rec.games.chess, July 4, 1995
 * Arasan 2.1 (Windows chess program) available via ftp by Jon Dart, rec.games.chess.misc, October 23, 1995
 * Arasan 2.2 (Windows chess program) available via ftp by Jon Dart, rec.games.chess.misc, December 10, 1995
 * Arasan progress report by Jon Dart, rgcc, May 23, 1996
 * Arasan 3.0 (Windows chess program) available by Jon Dart, rgcc, July 8, 1996
 * Arasan goes online by Jon Dart, rgcc, January 6, 1997
 * Arasan 4.0 is available by Jon Dart, rgcc, July 15, 1997
 * Arasan 5.0 released by Jon Dart, CCC, January 13, 1999

2000 ...

 * Arasan 5.4 released by Jon Dart, CCC, May 25, 2000
 * Arasan vs. IM Paunovic by Jon Dart, CCC, June 16, 2000
 * Arasan now under Linux by Jon Dart, CCC, September 02, 2000
 * A few notes from Arasan's games in CCT2 by Jon Dart, CCC, November 05, 2000 » CCT2
 * CCT4 notes - Arasan by Jon Dart, CCC, January 20, 2002 » CCT4
 * Arasan 6.0 by Jon Dart, CCC, September 24, 2002
 * Arasan 6.3 by Jon Dart, CCC, January 26, 2003
 * Arasan 7.0 by Jon Dart, CCC, August 09, 2003
 * Arasan 7.4 by Jon Dart, CCC, February 28, 2004
 * Arasan 7.4 64-bit Speedup by Slater Wold, CCC, March 30, 2004
 * Arasan 8.0 by Jon Dart, CCC, August 22, 2004
 * Arasan 8.2 by Jon Dart, CCC, November 26, 2004

2005 ...

 * Arasan 8.4 by Jon Dart, CCC, February 26, 2005
 * Arasan in CCT8 by Jon Dart, CCC, February 26, 2006 » CCT8
 * Arasan @ WCRCC tournament by Jon Dart, CCC, July 23, 2007 » WCRCC 2007
 * Arasan 10.0 by Jon Dart, CCC, September 02, 2007
 * Arasan 10.2 by Jon Dart, CCC, February 16, 2008
 * Arasan 10.4 by Jon Dart, CCC, June 27, 2008
 * Arasan 11.0 by Jon Dart, CCC, November 28, 2008
 * Arasan 11.3 by Jon Dart, CCC, March 24, 2009
 * Arasan 11.4 by Jon Dart, CCC, June 20, 2009
 * Arasan 11.5 by Jon Dart, CCC, September 05, 2009
 * Arasan 11.6 by Jon Dart, CCC, November 18, 2009

2010 ...
2011 2012 2013 2014
 * Arasan 11.7 by Jon Dart, CCC, February 07, 2010
 * Arasan 12.0 released by Jon Dart, CCC, August 07, 2010
 * Arasan 12.2 released by Jon Dart, CCC, November 11, 2010
 * Arasan 12.3 released by Jon Dart, CCC, February 02, 2011
 * Arasan 13.0 by Jon Dart, CCC, August 18, 2011
 * Arasan 13.1 by Jon Dart, CCC, August 23, 2011
 * MORE about Arasan 13.1 by Fernando Villegas, CCC, August 26, 2011
 * Arasan 13.2 by Jon Dart, CCC, October 02, 2011
 * Arasan 13.3 by Jon Dart, CCC, November 14, 2011 » ACCA 2011
 * Arasan 13.4 by Jon Dart, CCC, December 07, 2011
 * Arasan 14.0 by Jon Dart, CCC, March 04, 2012
 * Arasan 14.2 by Jon Dart, CCC, June 12, 2012
 * Arasan 14.3 by Jon Dart, CCC, July 18, 2012
 * Arasan 15.0 by Jon Dart, CCC, September 20, 2012
 * Arasan 15.1 by Jon Dart, CCC, November 19, 2012
 * Arasan 15.2 by Jon Dart, CCC, February 26, 2013
 * Arasan 15.4 by Jon Dart, CCC, April 24, 2013
 * Arasan 15.6 by Jon Dart, CCC, May 21, 2013
 * Arasan on github by Jon Dart, CCC, May 22, 2013
 * Arasan games from WCRCC by Jon Dart, CCC, July 21, 2013 » WCRCC 2013
 * Arasan 16.0 by Jon Dart, CCC, July 24, 2013
 * Arasan 16.1 by Jon Dart, CCC, September 01, 2013
 * Arasan 16.2 by Jon Dart, CCC, October 25, 2013
 * Arasan 16.3 by Jon Dart, CCC, December 06, 2013
 * test position: Rookie-Arasan by Jon Dart, CCC, January 27, 2014 » Rookie, Zugzwang
 * Arasan 17.0 by Jon Dart, CCC, March 27, 2014
 * Arasan GUI fixes by Jon Dart, CCC, April 02, 2014
 * Arasan 17.1 by Jon Dart, CCC, May 07, 2014
 * Arasan 17.2 by Jon Dart, CCC, May 30, 2014
 * Arasan 17.3 by Jon Dart, CCC, September 01, 2014
 * Arasan 17.4 by Jon Dart, CCC, October 08, 2014

2015 ...
2016 2017 2018 2019
 * Arasan 17.5 by Jon Dart, CCC, January 24, 2015
 * Experiments with eval tuning by Jon Dart, CCC, March 10, 2015 » Automated Tuning, Texel's Tuning Method
 * Arasan 18.0 by Jon Dart, CCC, July 30, 2015
 * Arasan 18.1 by Jon Dart, CCC, November 02, 2015
 * Arasan 18.2 by Jon Dart, CCC, December 03, 2015
 * Arasan 18.3 by Jon Dart, CCC, February 02, 2016
 * Arasan Syzygy support (working with Windows, too) by Jon Dart, CCC, March 10, 2016 » Syzygy Bases
 * Arasan 19.0 + updated test suite by Jon Dart, CCC, April 29, 2016
 * Arasan 19.1 by Jon Dart, CCC, August 09, 2016
 * Arasan 19.2 by Jon Dart, CCC, November 03, 2016
 * Arasan 20.0 by Jon Dart, CCC, January 31, 2017
 * building for Android by Jon Dart, CCC, April 19, 2017 » Android
 * Arasan 20.1 by Jon Dart, CCC, April 28, 2017
 * Arasan Programmer's Guide by Jon Dart, CCC, June 21, 2017
 * Arasan 20.2 by Jon Dart, CCC, July 15, 2017
 * Arasan 20.3 by Jon Dart, CCC, November 05, 2017
 * Arasan 20.4 by Jon Dart, CCC, January 03, 2018
 * Arasan 20.4.1 by Jon Dart, CCC, January 05, 2018
 * Arasan 20.5 by Jon Dart, CCC, April 08, 2018
 * Arasan 21.0 beta by Jon Dart, CCC, June 23, 2018
 * Arasan 21.0 by Jon Dart, CCC, June 30, 2018
 * Arasan 21.1 by Jon Dart, CCC, October 02, 2018
 * Arasan 21.2 by Jon Dart, CCC, December 31, 2018
 * Arasan 21.3 by Jon Dart, CCC, March 29, 2019
 * Arasan 21.4 by Jon Dart, CCC, July 02, 2019
 * Arasan 22.0 by Jon Dart, CCC, December 10, 2019

2020 ...
2021
 * Arasan 22.1 by Jon Dart, CCC, July 01, 2020
 * Arasan 22.2 by Jon Dart, CCC, December 22, 2020
 * Arasan 22.3 by Jon Dart, CCC, May 31, 2021

=External Links=

Chess Engine

 * jdart1/arasan-chess · GitHub
 * Arasan Chess by Jon Dart
 * Arasan Programmer's Guide by Jon Dart
 * Arasan Test Suite
 * Arasan 8.4 released, short interview with Jon Dart by Frank Quisinsky, March 01, 2005, Arena Chess GUI, Archive 5, 72 (Wayback Machine)
 * Arasan in CCRL 40/15

Misc

 * Arasan from Wikipedia
 * Imsai Arasan 23rd Pulikecei from Wikipedia

=References=

Up one Level