https://github.com/csurfer/scala-dlx
Dancing links based implementation of AlgorithmX in Scala
https://github.com/csurfer/scala-dlx
algorithm dancing-links scala sudoku sudoku-solver
Last synced: 23 days ago
JSON representation
Dancing links based implementation of AlgorithmX in Scala
- Host: GitHub
- URL: https://github.com/csurfer/scala-dlx
- Owner: csurfer
- License: mit
- Created: 2016-11-25T22:18:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-12-03T19:52:12.000Z (over 8 years ago)
- Last Synced: 2025-03-23T21:23:29.801Z (about 1 month ago)
- Topics: algorithm, dancing-links, scala, sudoku, sudoku-solver
- Language: Scala
- Size: 28.3 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# scala-dlx
[](https://travis-ci.org/csurfer/scala-dlx)
[](https://raw.githubusercontent.com/csurfer/scala-dlx/master/LICENSE)**Dancing links(DLX)** based implementation of **AlgorithmX** in **Scala** to solve **Exact Cover** based problems.
## References
- [Prof. Donald Knuth's paper called Dancing Links](https://www.ocf.berkeley.edu/~jchu/publicportal/sudoku/0011047.pdf)
- [AlgorithmX](https://en.wikipedia.org/wiki/Knuth's_Algorithm_X)## Links to different parts of the project
- [Examples](src/main/scala/examples) of different problems. **(Start here to get a feel for the problem at hand)**
- [DLX core](src/main/scala/dlx) consists of
- Implementation of classes requried to implement DLX structure
- Implementaion of AlgorithmX using DLX.
- [Problem Types](src/main/scala/problemtype) consists of implementations of different problems we can solve using AlgorithmX.
- Set exact cover
- 9x9 Sudoku solver (Easy and Hard)
- [Utility](src/main/scala/util) and other generic functions.## What to expect in future ?
- [Pentomino](https://en.wikipedia.org/wiki/Pentomino) solution using AlgorithmX once I figure out how exactly I can map the constraints.