Comments (9)
The new methods can be somewhat faster, but there are edge cases for the original solvers and new solvers.
I added two examples to demonstrate the issue.
from noqx.
After trying out some approaches, we decide to introduce a "fast mode" where the solutions will be restricted on a certain range.
- The numbers are taken from (1-5 + the given clues on board) to limit to solution space.
The method can work well on all cases, and the worst case takes about 2.5x time than the original solver.
The development of fillomino is postponed now.
from noqx.
Here is another edge case: https://github.com/tomvbussel/fillomino/blob/master/problems/p76.fillomino
We may assume that the solver will degrade when there are many long "snakes" in it.
from noqx.
The same problem exists for heteromino puzzles.
Some changes are made to resolve heteromino issues.
from noqx.
For a full analysis, solver is slow on large problems of:
- fillomino
- haisu
- kurotto
- shikaku
from noqx.
shikaku problems have been greatly optimized by latest commit af7bd76
haisu problems have been greatly optimized (but have some edge cases) by recent commit 3849683
from noqx.
The edge case for haisu is solved by recent commit 2e05066, by adding
rule += ":- clue_area(A), grid(R, C), haisu_count(R, C, A, N1), haisu_count(R, C, A, N2), N1 < N2.\n"
.
The only remaining slow puzzle is fillomino.
from noqx.
The edge case for fillomino becomes faster by recent commit 48ddc1b, by using grid_src_color_connected
instead of grid_branch_color_connected
in initial points.
from noqx.
After some approaches, we decided to set the problem aside for a while.
from noqx.
Related Issues (20)
- [Dev/Bug] Fivecells/Fourcells diverge HOT 1
- [Bug] Shikaku optimization doesn't consider all rectangles has only one number HOT 1
- [Refactor] parameter change for count-relevant functions
- [Refactor/Feature] Support solver inheritance HOT 1
- [Deps] Change to FastAPI/starlette backend
- [Refactor] refactor on the javascript loading process HOT 1
- [Feature] Use penpa-edit instead of pzprv3 HOT 2
- [Bug] Onsen-Meguri solver cannot parse two clues in an area HOT 1
- [Bug] Global connection is not checked on Hashi puzzles HOT 1
- [Bug] Haisu puzzle cannot solve when S and number clues are in the same area HOT 1
- [Feature] Support URL loading in examples HOT 1
- [Feature] Support question marks in some logic puzzles HOT 1
- [Feature] Support search box in puzzle type selections HOT 1
- [Feature] Change the backend from FastAPI to starlette to remove some redundant dependencies HOT 1
- [Feature] Add asterisk constraint in nonogram
- [Bug] Avoid no shaded cells in Yajikazu solver HOT 1
- [Feature] Add Cocktail Lamp Solver HOT 1
- [Feature] Add Paintarea Solver HOT 1
- [Feature] Add Tilepaint Solver HOT 1
- [Feature] Add Aquapelago Solver HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from noqx.