Skip to content

Commit a6595fa

Browse files
committed
Preparations before release
1 parent b3164da commit a6595fa

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
1+
# Version 1.6.0 (01-02-2025)
2+
- Added perspective and more buckets to PST
3+
- Added "Soft Nodes" and "Search Noise" UCI options
4+
- Added new evaluation features: tempo, backward pawns, open files, pawns threats, safe checks
5+
- Added clearing of killers between plies
6+
- Added time management parameters as tunable options
7+
- Removed killer table aging
8+
- Removed TT cutoffs from PV nodes completely
9+
- Removed min game phase condition in NMP
10+
- Removed max depth condition in SNMP
11+
- Removed max depth condition in razoring
12+
- Improved evaluation parameters
13+
- Improved search parameters
14+
- Improved time management parameters
15+
- Increased default move overhead to 100 ms
16+
- Allowed LMR to reduce losing captures
17+
- Fixed rare invalid moves when checkmate in one
18+
- Fixed PGN parser crashing on h1h1 move
19+
- Fixed incorrect upper bound score when saving to transposition table
20+
21+
**Strength**: 3100 Elo
22+
123
# Version 1.5.0 (01-11-2024)
224
- Added aspiration windows
325
- Added support for tuning based on evaluation

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
# Inanis
22
UCI chess engine written in Rust, the successor of [Proxima b](https://github.com/Tearth/Proxima-b), [Proxima b 2.0](https://github.com/Tearth/Proxima-b-2.0) and [Cosette](https://github.com/Tearth/Cosette). The project is written after hours, with the goal to reach a strength of 3000 Elo. Perfect as a sparring partner for other chess engines, since it was heavily tested using very fast games. Supports Syzygy tablebases, MultiPV, pondering and multithreading.
33

4-
**Current strength**: 3000 Elo (01-11-2024)
4+
**Current strength**: 3100 Elo (01-02-2025)
55

66
**Documentation**: https://tearth.dev/Inanis/
77

88
## Releases
99
| Version | Release date | Elo | Main changes |
1010
|---------------------------------------------------------------|--------------|------|--------------|
11+
| [1.6.0](https://github.com/Tearth/Inanis/releases/tag/v1.6.0) | 01-02-2025 | 3100 | More evaluation features and improved time management |
1112
| [1.5.0](https://github.com/Tearth/Inanis/releases/tag/v1.5.0) | 01-11-2024 | 3000 | Aspiration windows, improved performance and multithreading |
1213
| [1.4.0](https://github.com/Tearth/Inanis/releases/tag/v1.4.0) | 03-08-2024 | 2950 | Check extensions, relative PST, countermove heuristic |
1314
| [1.3.0](https://github.com/Tearth/Inanis/releases/tag/v1.3.0) | 14-06-2024 | 2900 | Gradient descent tuner, improved SEE and evaluation |
@@ -35,25 +36,27 @@ Inanis has an official lichess account, where you can try to challenge the engin
3536

3637
## UCI options
3738
- `Hash` *(default: 2 MB)* - a total size (in megabytes) for the transposition table and pawn hashtable
38-
- `Move Overhead` *(default: 10 ms)* - the amount of time (in milliseconds) that should be reserved during a search for some unexpected delays (like the slowness of GUI or network lags)
39+
- `Move Overhead` *(default: 100 ms)* - the amount of time (in milliseconds) that should be reserved during a search for some unexpected delays (like the slowness of GUI or network lags)
3940
- `MultiPV` *(default: 1 PV line)* - number of PV lines which should be displayed during search
4041
- `Threads` *(default: 1 thread)* - number of threads to use during search (should be less than a number of processor cores to get the best performance)
4142
- `SyzygyPath` *(default: <empty>)* - location of the optional Syzygy tablebases
4243
- `SyzygyProbeLimit` *(default: 8 pieces)* - maximal number of pieces for which the tablebase probe should be executed
4344
- `SyzygyProbeDepth` *(default: 6)* - minimal depth at which the tablebase probe should be executed
4445
- `Ponder` *(default: false)* - allows the engine to think during the opponent's time
4546
- `Crash Files` *(default: false)* - when enabled, saves crash messages in the ./crash directory
47+
- `Search Noise` *(default: false)* - when enabled, a small random noise is added to make search different every time
48+
- `Soft Nodes` *(default: false)* - when enabled, nodes limit is enforced only after search iteration is done instead of aborting it in the middle
4649

4750
## How to build
4851
By default, calling `cargo build` or `cargo build --release` will build the engine without support for Syzygy tablebases (but still fully functional). To include it, please add `--features syzygy,bindgen` and make sure you have installed [clang](https://clang.llvm.org/) when working on Windows (MSVC doesn't support some C11 elements, so can't be used).
4952

5053
## Algorithms
5154
- **Board representation**: bitboards (a hybrid of make/undo scheme and storing data on stacks)
52-
- **Move generator**: staged (hash move, captures, quiet moves), magic bitboards, precalculated arrays for knight and king
53-
- **Move ordering**: hash move, good captures (SEE with support for x-ray attacks), killer table, special moves, history table, bad captures
55+
- **Move generator**: staged (captures, quiet moves), magic bitboards, precalculated arrays for knight and king
56+
- **Move ordering**: hash move, good captures (SEE with support for x-ray attacks), killers, countermoves, castling and promotions, butterfly history, bad captures
5457
- **Search**: negamax, alpha-beta pruning, quiescence search, aspiration windows, null-move pruning, static null move pruning, razoring, late move reduction, late move pruning, lazy SMP, internal iterative reductions, check extensions
5558
- **Cache**: transposition table, pawn hashtable, history heuristic, killer heuristic, countermove heuristic
56-
- **Evaluation**: material, piece-square tables, pawn structure, mobility, king safety
59+
- **Evaluation**: material, piece-square tables, pawn structure, pawn threats, mobility, king safety, tempo
5760

5861
## Tuner
5962
Inanis has a built-in tuner, which allows for optimizing all evaluation parameters using a well-known [Texel's tuning method](https://www.chessprogramming.org/Texel%27s_Tuning_Method). As an output, there are Rust source files generated in a way that allows them to be directly pasted into the engine's source code.

0 commit comments

Comments
 (0)