Wednesday, December 17, 2014

Nirvanachess 2.0

What is new in this release?


  • A complete rewrite of the engine
    • Now uses bitboards instead of a 10x12 board representation 
      • Improves the speed of the evaluation function
    • Fixed multiple bugged located in the old evaluation function's code
      • In particular backward pawns were completely incorrectly calculated
    • Improved King safety
      • Now considers safe checks against the king when calculating attacks
    • Piece threats
      • Hanging pieces are now penalized
    • Now supports multiple cores.
      • Lazy implementation threads only communicate via the hash table.
    • Approximately 100 elo stronger than version 1.8 on a single core.

Download Link:
http://www.mediafire.com/download/5004wcpixd03f5d/Nirvanachess_2.0.rar

Tuesday, August 26, 2014

Nirvanachess 1.8 Release

What is new in this release?


  • Strength Increase
    • Scores 55% against Nirvanachess 1.7!
  • Evaluation Tweaks
    • Blocked passed pawns with a friendly blocker are now not penalized as much
    • The Bishop pair is now based more than just the number of remaining pawns
      • Includes enemy major and minor pieces
    • Reverted Rook and Queen outposts
      • Testing proved this to be a regression against other opponents
    • Implemented a lazy evaluation based on material.
    • Implemented Pawn hashing as well as pawn shelter hashing.
  •  Search Tweaks
    • Reverted LMP for bad captures
      • Testing showed poor results at long time controls.
  • Transposition Table Tweaks
    •  Pv is no longer collected from the transposition table.
    • Hashing now uses a cluster of four entries like in Fruit and Stockfish
    • Hashing no longer uses an always replace scheme
      • Older entries, Lower depth entries and non-pv entries are given lower prority
        • Performs much better under high hash pressure
  •  Bug Fixes
    • Fixed a bug where under certain conditions killer moves would not be updated properly
    • Standardized pruning at root and interior nodes
    • Fixed a bug that caused all moves to be generated under certain conditions in Qsearch

Download Link:
http://www.mediafire.com/download/6b9i7eq657o6o2o/Nirvanachess_1.8.rar

Thursday, July 3, 2014

Nirvanachess 1.7 Release

What is new in this release?

Cloptimization comes to Nirvanachess!
  • Strength Increase
    • About 40 Elo stronger than Version 1.6 at long time controls (60' + 0.05')
  • Evaluation Tweaks
    • Added dangerous Queen and Rook outpost
  •  Cloptimization
    • Updated Futility Margins
    • Updated Razoring Margins
    • Updated Isolated Pawn values
    • Updated Time Management
  • Bug Fixes
    •  Fixed a bug that would cause Nirvana to crash in ~1/5000 games due to a Hash collision

Download Link:
http://www.mediafire.com/download/fd913bf28a0bw0w/Nirvanachess_1.7.rar

Friday, April 18, 2014

Nirvanachess 1.6 Release

What is new in this release?

  • Strength Increase
    • About 40 Elo stronger than Version 1.5 at long time controls (60' + 0.05')
  • Evaluation Tweaks
    • Added knowledge of  KR vs KP endings
    • Passed Pawn evaluation is smoothed out between mid and endgame.
  • Optimization
    •  Slightly quicker during the mid and end games (~2%)
  • Bug Fixes
    • Fixed a bug with pawnstorms
      • Sometimes would count pawnstorms twice
    • Fixed a bug with pawn shelter
      • Sometimes would count shelter pawns twice
    • Fixed a bug that would cause pawns to be completely mis-evaluated.

Download Link:
http://www.mediafire.com/download/fcdz82s1g2tr9lp/Nirvanachess1.6.rar

Saturday, March 8, 2014

Hyper Bullet Rating List

I have take some time off from programming Nirvana and thus now I have some free resources in order to try out an idea I was toying with previously. This rating list is not meant to be serious but is more for seeing how different engines scale with added time. The ratings are set such that Arasan 16.3 is at 2790 elo. This rating list uses a modified version GBDC12013 with only 100 opening positions. This allows for each engine to play both sides of each opening five times against each other.

i5 3210M @ 2.50 Ghz
Cutechess
32mb hash per engine where possible 

No tablebases
Ponder off
Modified GBDC122013.cgb book

6" + 0.06"
All engines 64-bit

1000 Rounds to Match up


Rank Name              Elo   +    -   games score oppo. draws  CCRL Diff
   1 Stockfishdd        3296   36   36  1000   95%  2821    8%  3181   +115
   2 Gull2.8Beta        3281   34   34  1000   95%  2821    8%  3098   +183
   3 Discocheck5.2    2974   20   20  1000   71%  2821   21%  2911    +63
   4 Smarthink1.5      2903   19   19  1000   61%  2821   23% 2831    +72
   5 cheng4.36c         2874   19   19  1000   58%  2821   25%  2810   +64
   6 Nirvanachess1.5  2821    7    7 10000   44%  2893   19% ????     N/A
   7 Arasan16.3         2790   19   19  1000   46%  2821   23% 2790    +0
   8 Rodent1.3          2721   19   19  1000   37%  2821   22% 2750    -29
   9 Rhetoric1.2        2712   19   19  1000   35%  2821   22% ????     N/A
  10 Fruit2.1             2693   19   19  1000   33%  2821   21% 2693     +0
  11 Redqueen1.1.97 2686   20   20  1000   32%  2821   20% 2670     +16


Interestingly enough all of the engines that are rated below Nirvana on the CCRL list seemed to have performed about the same at this hyper speed but the rest out performed their ratings drastically. Granted this is only against Nirvana which I suspect as being very poor at very short time controls.

PGN Download Link:
http://www.mediafire.com/view/7wx7hh67n4at54s/Hyperbullet.pgn


Tuesday, March 4, 2014

Nirvanachess 1.5 Release

What is new in this release?

  • Strength Increase
    • About 50 Elo stronger than Version 1.4 at long time controls (60' + 0.05')
  • Better Time Management
    • Changed how much time was allocated for repeating time controls.
      • Should no longer have twice as much time as most opponents during the endgame
  • Better move ordering
    • So called "bad captures" are now ordered after killer moves
      • A bad capture is defined by a capture that captures a less valuable piece that is defended by a pawn.
    • Changed move ordering at root
      • Now previous best moves are kept closer to the front of the move list
    • Will no longer "throw out" a fail high at root when out of time
  • Evaluation Tweaks
    • Increased the speed at which doubled pawns are detected
    • Slightly optimized king safety values
    • Optimized pawn chain values
      • Pawn chains were previously highly overvalued
  • More Pruning
    • Improved both futility and razoring values
    • Added more pruning in Qsearch for non-discocheck moves
    • More null move pruning
      • The better the current position the pruning will occur
    • Bad captures are now able to be futility pruned
    • More aggressive aspiration search window
  • Bug Fixes
    • Fixed a bug with pawnstorms
      • Previously the least advanced pawn on a file was considered to be the storming pawn

Download Link:
http://www.mediafire.com/download/652c6i6tl7l1lu8/Nirvanachess_1.5.rar

Wednesday, January 8, 2014

Nirvanachess 1.4 Release

What is new in this release?

  • Strength Increase
    • About 50 Elo stronger than Version 1.3 at long time controls
    • Much stronger at very short time controls
      • Scores 100% against version 1.3 at 2"+0.02"!
      • Scores 160 elo better at 6"+ 0.05"
  • Better Time Management
    • Will now use its time more intelligently
      • Moves that are seen as "easy" will now be played more quickly
    • Will spend more time on harder moves
    • Will now make effective use out of Fischer time controls
      • Previously bonus time was not taken into consideration
  • Better move ordering
    • Moves will now be ordered more effectively in order to reduce the branching factor
  • Endgame Evaluation
    • Now plays King + pawns endings more effectively
  • Evaluation Tweaks
    • Improved King safety
      • Now takes into consideration how many squares are attacked
      • Now take into consideration the quality of the shelter
    • Now takes into consideration "Pawn spans" a la Stockfish
  • More Pruning
    • Additional conditions for LMR pruning
  • Bug Fixes
    • Fixed a bug with move order due to initialized variables
    • Fixed a bug with King safety evaluation
  • Additional Features
    • Now accepts the "go infinite" command
      • Nirvana can now be used for in-depth analysis (if you are into that)
    • Now accepts the "go depth x" command
    • Now has an option for Aggressiveness
      • The higher this parameter the more Nirvana will sacrifice to attack the enemy king
    • Now has an option for Cowardsness
      • The higher this parameter the more caution Nirvana will play
    • Now has an option for Mobility
      • The lower this value the less Nirvana will care about its PST and mobility
Download Link:
http://www.mediafire.com/download/p26198q95f51u47/Nirvanachess1.4.rar