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

Implement alpha-beta #3

Merged
merged 7 commits into from Oct 12, 2022
Merged

Implement alpha-beta #3

merged 7 commits into from Oct 12, 2022

Conversation

ntietz
Copy link
Owner

@ntietz ntietz commented Oct 11, 2022

Implement alpha-beta negamax. This also removes hope-chess, and commits to the One True Engine.

Changes:

  • PERF: enable optimizations in dev profile as well (otherwise too slow)
  • PERF: Add config for Cargo to use native CPU instructions when possible
  • PERF: change from f32 to i64 for evaluation (I don't know if this actually improves anything)
  • REFACTOR: update material evaluation to be split up more and easier to read
  • FEATURE: include mobility as a factor in evaluation
  • FEATURE: implement alpha-beta negamax
  • REFACTOR: remove hope chess algorithm

It is sufficiently strong now to beat me and my wife. We're ~1400 on chess.com, so it's a decent strength but can clearly get better, so future improvements will be fun. I think this will require implementing UCI so that I can pit it against engines.

@ntietz ntietz changed the title [WIP] Implement alpha-beta Implement alpha-beta Oct 12, 2022
@ntietz ntietz marked this pull request as ready for review October 12, 2022 13:13
@ntietz ntietz merged commit 00d2421 into main Oct 12, 2022
@ntietz ntietz deleted the alpha-beta branch October 12, 2022 13:48
ntietz added a commit that referenced this pull request Nov 5, 2023
Implement alpha-beta negamax. This also removes hope-chess, and commits
to the One True Engine.

Changes:

- PERF: enable optimizations in dev profile as well (otherwise too slow)
- PERF: Add config for Cargo to use native CPU instructions when
possible
- PERF: change from f32 to i64 for evaluation (I don't know if this
actually improves anything)
- REFACTOR: update material evaluation to be split up more and easier to
read
- FEATURE: include mobility as a factor in evaluation
- FEATURE: implement alpha-beta negamax
- REFACTOR: remove hope chess algorithm

It is sufficiently strong now to beat me and my wife. We're ~1400 on
chess.com, so it's a decent strength but can clearly get better, so
future improvements will be fun. I think this will require implementing
UCI so that I can pit it against engines.
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.

None yet

1 participant