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

Best way to implement shallow move scores. #39

Closed
digital-synapse opened this issue Apr 20, 2021 · 2 comments
Closed

Best way to implement shallow move scores. #39

digital-synapse opened this issue Apr 20, 2021 · 2 comments

Comments

@digital-synapse
Copy link

In an effort to improve search performance I'm trying to implement a heuristic for alpha-beta pruning. It looks like the ExtMove structure supports this via the score member, but as far as I can tell GenerateMoves() will never set this to anything other than zero.

Can you offer any advice?
Is there a good way to extend generatemoves() so that moves are scored for example :
piecetaken * piecetakenvalue + pieceatrisk * pieceatriskvalue * .33

I was also interested in using perft but was unclear on exactly how to generate moves from the perft result.

@rudzen
Copy link
Owner

rudzen commented Apr 23, 2021

I did plan to implement a staged move selection based on some heuristics. You can implement this yourself - for example by generating the known moves and then filtering them based on what information you have available in your engine.
Another option is to copy the move generator and add whatever functionality you might need.

My plan was something along the lines of a simple scoring of the moves which were generated.
There is something like it in the C++ engine Feliscatus which are using a pretty simple way of doing it. Link

The perft is basically only a move counting feature - so you cannot use the perft result for anything useful.

@digital-synapse
Copy link
Author

digital-synapse commented Apr 24, 2021 via email

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

No branches or pull requests

2 participants