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

V2 - Refactor #33

Open
13 of 20 tasks
HenryQuan opened this issue Apr 20, 2021 · 0 comments
Open
13 of 20 tasks

V2 - Refactor #33

HenryQuan opened this issue Apr 20, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@HenryQuan
Copy link
Member

HenryQuan commented Apr 20, 2021

  • Better hash function for the board to prevent checking the same board multiple times
    • Hash board to int (adjustment needed)
  • Improve beam search algorithm to produce the same result every time
    • This makes sure the search is stable
  • Cut off parent states and save current states only to greatly reduce memory consumption
  • Save routes in new states in a long long list (max 100 or 150 steps) This will be replaced with unsigned char array instead, max size will be 100 or 150 depending on the usage but 50 should be enough
  • Use unsigned char instead of int whenever possible to greatly reduce memory consumption
  • Board analysis before running the algorithm, very important for early return
  • Early return, auto rewind and speedy mode (QuickSearch)
  • Improve the efficiency of board manipulation
  • Experiment with more algorithms (Stochastic Beam Search, Simulated Annealing, Monte Carlo algorithm)
    • The algorithm should allow bad moves at the beginning
    • Consider improvement over the previous step
    • Look a few steps ahead (consider the future)
  • Better Profiles
    • leader/required parameter (-65536 if not found)
    • NConnectedProfile (4, 5, 6, or more)
    • OneRowProfile
    • ColourComboProfile (2, 3, 4, or more)
  • Write tests for the core logic to prevent hidden but critical bugs
  • Add tests for all classes
  • Folder structure update
  • V2 - Better Route #27
  • V2 - CMake #31
  • Better timer with debug mode support
  • Support building as a library Call pazusoba.so with cdll pazuauto#1
  • Add a doc folder so the root README is not so crowded
  • V2 - Multithreading #44
  • V2 - Profile Improvement #45
@HenryQuan HenryQuan added the enhancement New feature or request label Apr 20, 2021
@HenryQuan HenryQuan added this to the v2 rework milestone Apr 20, 2021
@HenryQuan HenryQuan self-assigned this Apr 20, 2021
@HenryQuan HenryQuan mentioned this issue Apr 20, 2021
@HenryQuan HenryQuan mentioned this issue Aug 27, 2021
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

Successfully merging a pull request may close this issue.

1 participant