1

So I am implementing an intelligent chess agent with the use of reinforcement learning. I intend to use Java.

After reading the master thesis of H.Mannen I decided to use some of the features listed on Appendix B of his master that can be found on page 67.

Description of the features:

  • Board control: amount of empty squares controlled by a side

  • Connectivity: amount of connectedness between the pieces of a side

  • King’s distance to center: amount of squares a king is separated from one of the center squares e4, d4, e5, d5

  • Total mobility: total sum of squares reachable by a side

  • Center control: amount of pawns occupying the squares e4, d4, e5, d5.

  • Isolated pawns: amount of pawns without a pawn of its own side on an adjacent line.

  • Doubled pawns: amount of pawns, greater than 1, on 1 line.

  • Passed pawns: amount of pawns without an enemy pawn ahead of it on the same or an adjacent line.

  • Pawn forks: amount of pawns which attack two superior pieces.

Due to the fact that my project is focused on the AI part of the chess agent I would like to use some preexisting open source Java libraries or functions that automate the proccess of extracting these features from the chessboard.

After searching, the only thing I found was Chesspresso but it comes with no tutorial and I was unable to find one. So I have two questions:

  • Do you know any good tutorials for Chesspresso?

  • Are aware of any Java open source library that will help me extract the features I want from the chessboard so I can reduce the programming cost of the project?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.