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

Feature request: Implement chess and an user interface for it using SIMPLE #4

Open
ghost opened this issue May 2, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@ghost
Copy link

ghost commented May 2, 2021

Hi David, i'm new to data sciene and also to Python. I find SIMPLE amazing. Can you please extend SIMPLE with chess please? It would be awesome if you can provide an user interface for it also. Thanks.

@davidADSP davidADSP added the enhancement New feature or request label May 11, 2021
@davidADSP
Copy link
Owner

Hi - thanks I'll bear that in mind. Chess would be an interesting one to include for sure, though there will certainly be other implementations out there (e.g. LeelaZero) that are better suited to training a state of the art chess engine for sure. SIMPLE is designed to be very generally applicable to multiplayer games, but agree that it would be an interesting exercise to implement chess and see how it does.

@ltnKoen
Copy link

ltnKoen commented Feb 14, 2022

Am I right to understand that the action space when implementing a new environment has to be a discrete space of the form {0, 1, ..., N-1} where N is the number of possible moves, and cannot be a more structured space?

For instance, to implement chess, a possible choice for the action space is the set of quadruplets (x1,y1,x2,y2) where (x1,y1) represents the starting square and (x2,y2) the end square. Is there a better way to represent this space than self.action_space = gym.spaces.Discrete(8 * 8 * 8 * 8) in the Env class?

@kambielawski
Copy link

Am I right to understand that the action space when implementing a new environment has to be a discrete space of the form {0, 1, ..., N-1} where N is the number of possible moves, and cannot be a more structured space?

For instance, to implement chess, a possible choice for the action space is the set of quadruplets (x1,y1,x2,y2) where (x1,y1) represents the starting square and (x2,y2) the end square. Is there a better way to represent this space than self.action_space = gym.spaces.Discrete(8 * 8 * 8 * 8) in the Env class?

I'd love a response to this as well. I'm trying to create a self-play RL model for the game Blokus and I'm struggling to see how I might encode the relatively large action space.

@AndreThompson-Atlow
Copy link

There are already libraries for getting possible moves in chess and evaluating moves, so it might not actually be too difficult to do this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants