Flesh out readme
This commit is contained in:
parent
dc93517909
commit
da89556776
53
README.md
53
README.md
@ -1,6 +1,53 @@
|
||||
# Sudoku Solver
|
||||
|
||||
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
|
||||
faster mechanisms people have come up with (probably using SAT
|
||||
solvers).
|
||||
any prior art as of yet, though I might at some point to improve
|
||||
this. I found [this
|
||||
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