Skip to content

Commit

Permalink
v0.4.0 (#49)
Browse files Browse the repository at this point in the history
ELO   | 150.10 +- 12.36 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 2000 W: 1019 L: 205 D: 776
https://chess.swehosting.se/test/2280/

Bench: 13055552
  • Loading branch information
jw1912 authored Jul 4, 2023
1 parent a373962 commit 89d5b81
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 10 deletions.
4 changes: 3 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
[package]
name = "akimbo"
version = "0.3.0"
version = "0.4.0"
edition = "2021"
authors = ["Jamie Whiting"]

[profile.release]
panic = 'abort'
strip = true
codegen-units = 1
lto = true
28 changes: 20 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,31 @@

# akimbo

![License](https://img.shields.io/github/license/JacquesRW/akimbo?style=for-the-badge)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/JacquesRW/akimbo?style=for-the-badge)](https://github.com/JacquesRW/akimbo/releases/latest)

</div>

A compact UCI Chess engine written in Rust.

The main aim is to stay under 1000 SLOC (excluding comments and blank lines) and 1500 TLOC (including the aforementioned).
Huge thanks to all of the members of [this OpenBench Instance](https://chess.swehosting.se/users/) who have provided support and guidance in the development
of akimbo, as well as facilitating far faster testing than on my own.

## Aims

#### Small
akimbo has a hard upper limit of 1000 lines of code, excluding blank lines and comments. Stats for each version are included below.

#### PST Only
akimbo's evaluation consists only of a set of tapered piece-square tables, tuned using Texel's tuning method.

## Stats
| Version | Release Date | SLOC | TLOC | [CCRL 40/15](https://www.computerchess.org.uk/ccrl/4040/) |
| :---------------------------------------------------------------:|:--------------------:|:----:|:----:|:------:|
| [0.1.1](https://github.com/JacquesRW/akimbo/releases/tag/v0.1.1) | 8th January 2023 | 1167 | 1381 | 2469 |
| [0.2.0](https://github.com/JacquesRW/akimbo/releases/tag/v0.2.0) | 10th April 2023 | 866 | 1000 | 2525 |
| [0.3.0](https://github.com/JacquesRW/akimbo/releases/tag/v0.3.0) | 16th May 2023 | 891 | 1050 | 2587 |
| Version | Release Date | SLOC | [CCRL 40/15](https://www.computerchess.org.uk/ccrl/4040/) |
| :---------------------------------------------------------------:|:--------------------:|:----:|:------:|
| [0.1.1](https://github.com/JacquesRW/akimbo/releases/tag/v0.1.1) | 8th January 2023 | 1167 | 2469 |
| [0.2.0](https://github.com/JacquesRW/akimbo/releases/tag/v0.2.0) | 10th April 2023 | 866 | 2525 |
| [0.3.0](https://github.com/JacquesRW/akimbo/releases/tag/v0.3.0) | 16th May 2023 | 891 | 2587 |
| [0.4.0](https://github.com/JacquesRW/akimbo/releases/tag/v0.4.0) | 4th July 2023 | 852 | TBD |

## Features

Expand All @@ -28,12 +39,13 @@ The main aim is to stay under 1000 SLOC (excluding comments and blank lines) and
- Late Move Reductions
- Reverse Futility Pruning (with Improving)
- Null Move Pruning
- Razoring
- Internal Iterative Reductions
- Late Move Pruning
- Razoring

#### Move Ordering
1. Hash Move
2. Captures (MVV-LVA)
3. Promotions
4. Killer Moves
5. History Heuristic
5. History Heuristic (with Gravity)
2 changes: 1 addition & 1 deletion src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ fn main() {
for fen in bench_fens {
pos = Position::from_fen(fen);
let timer = Instant::now();
go(&pos, &mut eng, false, 8);
go(&pos, &mut eng, false, 11);
total_time += timer.elapsed().as_millis();
total_nodes += eng.nodes + QNODES.load(std::sync::atomic::Ordering::Relaxed);
}
Expand Down

0 comments on commit 89d5b81

Please sign in to comment.