Flesh out readme
This commit is contained in:
parent
dc93517909
commit
da89556776
53
README.md
53
README.md
@ -1,6 +1,53 @@
|
|||||||
# Sudoku Solver
|
# Sudoku Solver
|
||||||
|
|
||||||
Figured it would be fun to try making a sudoku solver. I haven't read
|
Figured it would be fun to try making a sudoku solver. I haven't read
|
||||||
any prior art but once I have something working I might look into
|
any prior art as of yet, though I might at some point to improve
|
||||||
faster mechanisms people have come up with (probably using SAT
|
this. I found [this
|
||||||
solvers).
|
dataset](https://www.kaggle.com/datasets/rohanrao/sudoku) to use for
|
||||||
|
testing and benchmarking; it contains 9 million puzzles. I haven't
|
||||||
|
included the dataset in this repository as it's quite big (around 1.4
|
||||||
|
GiB), but you can download the archive from the above link and place
|
||||||
|
the extracted `sudoku.csv` in the root of this repo and it should
|
||||||
|
work.
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
The program is built with `make(1)`:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make # or 'make sudoku'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Preparation of Puzzles File
|
||||||
|
|
||||||
|
I did some pre-processing of the downloaded `sudoku.csv` file to
|
||||||
|
reduce the workload of the solver, extracting just the puzzles (the
|
||||||
|
CSV contains the solutions too) and removing the newlines.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make puzzles
|
||||||
|
```
|
||||||
|
|
||||||
|
## Preparation of Results File
|
||||||
|
|
||||||
|
The results file must exist and be of the right size in order for the
|
||||||
|
program to run successfully.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make results
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
The program can be ran through the Makefile, which will ensure the
|
||||||
|
binary is built and the puzzles and results files have been prepared:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make run
|
||||||
|
```
|
||||||
|
|
||||||
|
Or it can of course be ran directly:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./sudoku
|
||||||
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user