Closed digital-synapse closed 3 years ago
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.
I just wanted to say, Thanks for the info and all the great work on this rules engine!
On Fri, Apr 23, 2021, 2:32 PM Rudy Alex Kohn @.***> wrote:
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.
The perft is basically only a move counting feature - so you cannot use the perft result for anything useful.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rudzen/ChessLib/issues/39#issuecomment-825936121, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6YU7JQDMO5OTVISELFLTDTKHRNPANCNFSM43IMK3QQ .
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.