-
Notifications
You must be signed in to change notification settings - Fork 0
masak/dlx-simple
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dancing Links is a technique for speeding up exact cover searches. See these links for inspiration. <http://www-cs-faculty.stanford.edu/~uno/papers/dancing-color.ps.gz> <http://en.wikipedia.org/wiki/Dancing_Links> <http://cgi.cse.unsw.edu.au/~xche635/dlx_sodoku/> <http://www.sudopedia.org/wiki/Dancing_Links> == Loose plan Implement exact cover search with Dancing Links in Perl 5, then C, then Perl 6. Solve these problems, if possible: * SEND+MORE=MONEY and other alphametics problems (an interesting variant is SEND+MOST=MONEY where the object is to find all solutions which maximizes MONEY) * N-queens: both 2D (grid) version and 1D (row) version * Pentominoes (see Knuth's paper above) * Sudoku * Hidato * The xkcd knapsack problem <http://xkcd.com/287/> * Map coloring * Nonogram * Magic square * Anagrams * Knight's tour * Shift workers https://www.lms.ac.uk/sites/default/files/SMT-KT-report-screen.pdf That should be more than enough. :-) But the actual search -- while interesting in itself, and important to get right -- wouldn't be the focus of this project. Instead, the challenge would be to create adequate ways to *specify* the above problems, in ways that are as close as possible to the way a person would specify the problem to another person. This way, we approach the dream of specifying problems not in the way the computer expects, but in the way we expect. <http://www.moserware.com/2008/04/towards-moores-law-software-part-3-of-3.html> All the exact cover problems can be re-stated as big, boring matrices. The filters/preprocessors that we write would take a human problem specification and translate it to a boring matrix. The solution could then be mapped onto the original problem specification, making it extremely readable for the one specifying the problem. The boring matrices are error-prone and, well, boring. But this way, all the user sees is her own "views" of the problem. == A nice article with explanations https://louisabraham.github.io/articles/exact-cover
About
A human way to specify exact cover problems
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published