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

feat: add open bench support #4

Merged
merged 21 commits into from
Nov 8, 2024
Merged

Conversation

DeveloperPaul123
Copy link
Owner

Changes

Many changes were made but here are the highlights:

  • Added support for bench CLI command. This will run a fixed depth search on the standard.epd positions.
  • Basic support for Hash and Thread UCI options (Hash is not fully implemented yet)
  • Implemented transposition table, iterative deepening and qsearch.
  • Refactored some parts of the code to clean up dead code and move things to where they make more sense
  • Implemented sufficient_material check in my Board representation
  • Removed stalemate detection and simplified is_draw() detection in Board.
  • Implemented a very basic MVV/LVA move ordering

Added search config parameters and search result struct. Also added a basic (failing) unit test.
Move our impls higher up above the trait implementations
Also remove stalemate detection and simplify `is_draw()` function. Also added a unit test for insufficient material. This required adding some new features to `Square` and adding a `Color` object. This is different from the `Side` enum.
Fixed some minor bugs with how the transposition table was implemented.
Implemented iterative deepening, quiescence search and improved the negamax to use the transposition table. Also added a basic MVV/LVA move ordering.
Ensure we're actually using the search params in the search 😅

Also added support for printing information on depth, nodes, nps, score and so on while we're searching in the ID loop.
This should be in the engine code, not the board representation
Implemented basic support for the `bench` command
@DeveloperPaul123
Copy link
Owner Author

Elo | -0.00 +- 0.57 (95%)
SPRT | 8.0+0.08s Threads=1 Hash=16MB
LLR | -3.45 (-2.94, 2.94) [0.00, 10.00]
Games | N: 7536 W: 25 L: 25 D: 7486
Penta | [3, 8, 3746, 8, 3]
https://developerpaul123.pythonanywhere.com/test/4/

@DeveloperPaul123 DeveloperPaul123 merged commit c1a316d into main Nov 8, 2024
1 check passed
@DeveloperPaul123 DeveloperPaul123 deleted the feature/bench-support branch November 8, 2024 18:28
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.

1 participant