-
Notifications
You must be signed in to change notification settings - Fork 85
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
feat(sudoku): implement environment #125
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your contribution. Overall, looks very good to me. I have a few comments and NIT suggestions.
We can merge once we have a training curve (working), I'm wondering if we can make the network equivariant to permutation of digits at least.
Please let me know if you have any questions.
Co-authored-by: Clément Bonnet <56230714+clement-bonnet@users.noreply.github.com>
Co-authored-by: Tristan Kalloniatis <tristankalloniatis@gmail.com>
Co-authored-by: Clément Bonnet <56230714+clement-bonnet@users.noreply.github.com>
…i into feat/add-sudoku-environment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the very nice contribution. I left a couple of nit comments. All good to me otherwise.
Co-authored-by: Daniel <57721552+dluo96@users.noreply.github.com>
Co-authored-by: Tristan Kalloniatis <tristankalloniatis@gmail.com>
…i into feat/add-sudoku-environment
This PR contains all the changes related to the addition of the Sudoku environment. See below the principal stuff that needs to be discussed before merging (in my opinion).
Generator
Currently the environment uses a default
DatabaseGenerator
that resets to a new puzzle included in a pre-loaded database. These data are included underjumanji.environments.logic.sudoku.data
. For now two databases are included:1000_very_easy_puzzles.npy
containing 1000 puzzles with >= 46 clues and10000_ mixed_puzzles.npy
containing 10000 puzzle of various difficulties. The exact number of puzzles may be changed so that (1) the "very-easy" dataset is indeed very-easy for A2C and (2) the "mixed" dataset contains enough diversity while not taking too much memory in the repo.Versions
Two envs have been registered:
Sudoku-v0
using by default the10000_mixed_puzzles.npy
database andSudoku-very-easy-v0
using by default the1000_very_easy_puzzles.npy
database. For simplicity purpose, we propose to train the A2C agent on this latter environment.Remaining actions:
References:
This is the paper I used to define that >=46 clues was "very-easy".