Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: internal board rep #73

Merged
merged 5 commits into from
Nov 13, 2024
Merged

refactor: internal board rep #73

merged 5 commits into from
Nov 13, 2024

Conversation

dannyhammer
Copy link
Owner

@dannyhammer dannyhammer commented Nov 13, 2024

resolves #70

This PR migrates the contents of the chessie crate into the engine directly. A new module, src/board/ has been created, and all board representation / move generation / core functionality has been moved there.

In addition, the Game struct now stores its evaluation, which is updated on calls to make_move. So, evaluation is now computed incrementally, rather than being recomputed on each call to Evaluator::eval. Speaking of Evaluator, it no longer exists.

Not a huge gain, which is disappointing, but Elo is Elo.


SPRT:

Elo   | 8.81 +- 6.97 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=16MB
LLR   | 3.04 (-2.94, 2.94) [0.00, 10.00]
Games | N: 5994 W: 2419 L: 2267 D: 1308
Penta | [332, 433, 1358, 499, 375]

https://pyronomy.pythonanywhere.com/test/132/

bench: 11371856

@dannyhammer dannyhammer merged commit d1d8116 into main Nov 13, 2024
1 check passed
@dannyhammer dannyhammer deleted the internal-board-rep branch November 13, 2024 02:41
@dannyhammer dannyhammer mentioned this pull request Nov 13, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] Add internal board representation, rather than using chessie
1 participant