Linn - Tablut AI

Update thread for the development of linn, my Tablut engine. You can try the most recent version here.

v0.1.9 released

  • Wins ~20% more games against v0.1.3
  • Completely overhauled ordered move generation
    • ~40% faster than v0.1.3
    • Generates moves lazily, such that most moves that end up being pruned are never generated
    • Complex state machine which separates cleanly into loud / quiet move generation
  • Quiescence Search
    • With the new move generator, it was possible to re-enable (the previously disabled) quiescence search
    • Completely erases the horizon effect (so no more jumping evaluations)
    • Considers and resolves the following moves: Captures, King moves toward unprotected edges and corners, direct capture threats to the King

Try the latest version here.

On testing.linntafl.org/local/play you can now play against the engine in a time format. You can also select which side to play, and set a starting position. I will add a board editor soon so handcrafting fen strings won’t be necessary anymore.

v0.2.1 released

  • Implemented Aspiration Windows
    • Allows for deeper searches in less time
  • Added two new move ordering heuristics
    • Countermove Heuristic
    • Followup Heuristic
  • Reduced nodecounts at depth 10 up to 50% in some positions
    • This means the engine more often than not reaches depth 11 in the same time that v0.1.9 needed to reach depth 10
  • Breaking change: FEN strings now include the destination square of the last move
    • This is necessary because detecting king capture is not possible just from looking at the pieces, since the king is allowed to move into a sandwich without being captured

The new version is already live: Linntafl - Play against Tablut AI.