-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
- 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
docfolder so the root README is not so crowded - V2 - Multithreading #44
- V2 - Profile Improvement #45
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request