version 2.8

@abulmo abulmo released this Mar 18, 2018

Version 2.8
Sightly enhanced search
Evaluation function includes some bishop/pawn interaction knowledge and has been retuned.
The enhancement is modest compared to version 2.7, probably around 15 Elo.

version 2.7

@abulmo abulmo released this Dec 11, 2017 · 14 commits to master since this release

I hope this new version to be stronger than version 2.6 by about 40 elo.

  1. The eval has been improved:
  • take into account hanging pieces (pieces en prise), trapped pieces (pieces en prise without safe escape) and enclosed pieces (pieces without safe moves)
  • better handling of pawn structures.
  • king shield/storm fixed & added a feature to attract the king towards the middle of the pawns in endgame.
  1. Time management has been improved. Amoeba 2.7 uses more time when the search fail low and less time on some obvious moves.

Version 2.6

@abulmo abulmo released this Sep 22, 2017 · 31 commits to master since this release

Several changes has been conducted in the search part of the engine, and the following algorithms have been revisited and improved:

  • transposition table.
  • late move reduction (LMR)
  • aspiration windows
  • see pruning
  • retuned weights (using more "good" games).

I hope this new version to be stronger than version 2.5 by about 20 elo.

Version 2.5

@abulmo abulmo released this Jun 7, 2017 · 40 commits to master since this release

This version should be significantly stronger than version 2.4 (by about 30 elo).

  • better knowledge on rook structures.
  • revisited extension / reduction
  • evaluation tuned from a newer & better set of positions

Version 2.4

@abulmo abulmo released this Apr 19, 2017 · 53 commits to master since this release

The version 2.4 should be significantly stronger than the versions 2.2/2.3, with an estimated progress over 50 elo.
Both evaluation and search have been improved:
The evaluation function now takes into account the following features:

  • control center
  • pinned pieces
  • recognize some drawish positions

The search improvements include:

  • Better & faster move sorting based on insertion sort
  • Enhanced history
  • Late move pruning and see move pruning

Version 2.3

@abulmo abulmo released this Mar 10, 2017 · 64 commits to master since this release

The version 2.3 corrects a bug which prevented Amoeba to play under some GUI (ChessGui and Cutechess-cli).
From the command line, help display, version display and debugging output to a log file have been added.
Other changes are mostly cosmetic.
No search or eval enhancement, and the strength of this program should be the same as version 2.2 and slightly stronger than version 2.1

version 2.2

@abulmo abulmo released this Mar 2, 2017 · 76 commits to master since this release

Minor bug removal
Slightly enhanced search & eval
Should be stronger than previous version by more than 10 elo

  • Feb 3, 2017


    replace in by const & out by ref
    correct a bug in event handling (may have missed commands when more than 3 were stored before consuming them).

version 2.1

@abulmo abulmo released this Jan 24, 2017 · 119 commits to master since this release

This release only provides a small improvement of about 10 elo (maybe less) against version 2.0.

Major changes:
uci.d: Bug fix in the UCI protocol (ucinewgame was not handled properly).
eval.d: Distinguish pawn push & pawn capture in pawn mobility evaluations.
search.d: Delta pruning in quiescence search.
tourney.d: the program used to test amoeba improvement finally released.
game.d: many changes to read & write pgn files.

Minor changes:
util.d added a function "claim" to replace built-in assert. claim calls abort() and make debugging much easier.
cleaner code (spaces / comments, better function naming, etc.)
move.d add a MoveItem structure to handle move & value together.
History heuristics now in move.d

Version 2.0

@abulmo abulmo released this Nov 27, 2016 · 131 commits to master since this release

Amoeba 2.0

Progress is around 30 elo compared to the previous version 1.4.

Main changes focused on the evaluation function. The mobility feature takes into account safe and unsafe squares (attacked by the opponent). King safety should be better handled and also the pawn structure. All the evaluation weights have been recomputed from scratch with more games to fit. The evaluation tuner is also faster, using parallel computation.

Some small changes in other parts. Peculiarly, pawn moves to the penultimate rank are now done during quiescence searches. The UCI protocol should also be better obeyed.

The name of the program now include some information about the compilation setting. For example amoeba 2.0.w64p means version 2.0 compiled for Windows 64 bit, with hardware popcount.

In the coming versions, 2.1, 2.2, ..., I will stay focused on the evaluation function, but some search parameters concerned by the evaluation will also be re-tuned.