sudoku-smt-solvers 0.1.0__tar.gz → 0.2.0__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sudoku_smt_solvers-0.1.0/sudoku_smt_solvers.egg-info → sudoku_smt_solvers-0.2.0}/PKG-INFO +18 -8
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/README.md +2 -2
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/setup.py +4 -4
- sudoku_smt_solvers-0.2.0/sudoku_smt_solvers/__init__.py +19 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/solvers/cvc5_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/solvers/dpll_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/solvers/dpllt_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/solvers/z3_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0/sudoku_smt_solvers.egg-info}/PKG-INFO +18 -8
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers.egg-info/SOURCES.txt +0 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers.egg-info/requires.txt +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_cvc5_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_dpll_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_dpllt_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_z3_solver.py +1 -1
- sudoku_smt_solvers-0.1.0/sudoku_smt_solvers/__init__.py +0 -4
- sudoku_smt_solvers-0.1.0/sudoku_smt_solvers/solvers/sudoku_error.py +0 -8
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/LICENSE +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/pyproject.toml +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/setup.cfg +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/benchmarks/__init__.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/benchmarks/benchmark_runner.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/solvers/__init__.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers.egg-info/dependency_links.txt +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers.egg-info/top_level.txt +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_benchmark_runner.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_dfs_solver.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_hole_digger.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_las_vegas.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_parser.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_profiler.py +0 -0
- {sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/tests/test_sudoku_generator.py +0 -0
@@ -1,31 +1,41 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: sudoku_smt_solvers
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.2.0
|
4
4
|
Summary: A collection of SAT and SMT solvers for solving Sudoku puzzles
|
5
5
|
Home-page: https://liamjdavis.github.io/sudoku-smt-solvers
|
6
|
-
Author: Liam Davis
|
7
|
-
Author-email: ljdavis27@amherst.edu
|
6
|
+
Author: Liam Davis, Tairan 'Ryan' Ji
|
7
|
+
Author-email: ljdavis27@amherst.edu, tji26@amherst.edu
|
8
8
|
License: MIT
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
11
11
|
Classifier: Operating System :: OS Independent
|
12
|
-
Requires-Python: >=3.
|
12
|
+
Requires-Python: >=3.10
|
13
13
|
Description-Content-Type: text/markdown
|
14
14
|
License-File: LICENSE
|
15
15
|
Requires-Dist: cvc5
|
16
|
-
Requires-Dist:
|
16
|
+
Requires-Dist: python-sat
|
17
17
|
Requires-Dist: z3-solver
|
18
|
+
Dynamic: author
|
19
|
+
Dynamic: author-email
|
20
|
+
Dynamic: classifier
|
21
|
+
Dynamic: description
|
22
|
+
Dynamic: description-content-type
|
23
|
+
Dynamic: home-page
|
24
|
+
Dynamic: license
|
25
|
+
Dynamic: requires-dist
|
26
|
+
Dynamic: requires-python
|
27
|
+
Dynamic: summary
|
18
28
|
|
19
29
|
# Sudoku-SMT-Solvers
|
20
30
|
|
21
31
|
[![Pytest + CI/CD](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml/badge.svg)](ttps://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml)
|
22
32
|
[![Coverage Status](https://coveralls.io/repos/github/liamjdavis/Sudoku-SMT-Solvers/badge.svg)](https://coveralls.io/github/liamjdavis/Sudoku-SMT-Solvers)
|
23
33
|
[![Docs Build Deployment](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml/badge.svg)](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml)
|
24
|
-
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://liamjdavis.github.io/
|
34
|
+
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://liamjdavis.github.io/Sudoku-SMT-Solvers)
|
25
35
|
|
26
36
|
|
27
37
|
## About
|
28
|
-
This repository contains the code for the study "Evaluating SMT-Based Solvers on Sudoku". Created by Liam Davis (@liamjdavis) and Ryan Ji (@TairanJ) as their for COSC-241 Artificial Intelligence at Amherst College, it evaluates the efficacy of SMT-Based Solvers by benchmarking three modern SMT solvers (DPLL(T), Z3, and CVC5) against the DPLL algorithm on a collection of 100 25x25 Sudoku puzzles of varying difficulty.
|
38
|
+
This repository contains the code for the study "Evaluating SMT-Based Solvers on Sudoku". Created by Liam Davis (@liamjdavis) and Tairan "Ryan" Ji (@TairanJ) as their for COSC-241 Artificial Intelligence at Amherst College, it evaluates the efficacy of SMT-Based Solvers by benchmarking three modern SMT solvers (DPLL(T), Z3, and CVC5) against the DPLL algorithm on a collection of 100 25x25 Sudoku puzzles of varying difficulty.
|
29
39
|
|
30
40
|
Along with the study, we also published `sudoku-smt-solvers`, a Python package that provides the various SMT-based Sudoku solvers and benchmarking tools we built for this study. The package features DPLL(T), Z3, and CVC5 solvers optimized for 25x25 Sudoku puzzles, a puzzle generator for creating test cases, and a comprehensive benchmarking suite. Available through pip, it offers a simple API for solving Sudoku puzzles using state-of-the-art SMT solvers while facilitating performance comparisons between different solving approaches.
|
31
41
|
|
@@ -3,11 +3,11 @@
|
|
3
3
|
[![Pytest + CI/CD](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml/badge.svg)](ttps://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml)
|
4
4
|
[![Coverage Status](https://coveralls.io/repos/github/liamjdavis/Sudoku-SMT-Solvers/badge.svg)](https://coveralls.io/github/liamjdavis/Sudoku-SMT-Solvers)
|
5
5
|
[![Docs Build Deployment](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml/badge.svg)](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml)
|
6
|
-
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://liamjdavis.github.io/
|
6
|
+
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://liamjdavis.github.io/Sudoku-SMT-Solvers)
|
7
7
|
|
8
8
|
|
9
9
|
## About
|
10
|
-
This repository contains the code for the study "Evaluating SMT-Based Solvers on Sudoku". Created by Liam Davis (@liamjdavis) and Ryan Ji (@TairanJ) as their for COSC-241 Artificial Intelligence at Amherst College, it evaluates the efficacy of SMT-Based Solvers by benchmarking three modern SMT solvers (DPLL(T), Z3, and CVC5) against the DPLL algorithm on a collection of 100 25x25 Sudoku puzzles of varying difficulty.
|
10
|
+
This repository contains the code for the study "Evaluating SMT-Based Solvers on Sudoku". Created by Liam Davis (@liamjdavis) and Tairan "Ryan" Ji (@TairanJ) as their for COSC-241 Artificial Intelligence at Amherst College, it evaluates the efficacy of SMT-Based Solvers by benchmarking three modern SMT solvers (DPLL(T), Z3, and CVC5) against the DPLL algorithm on a collection of 100 25x25 Sudoku puzzles of varying difficulty.
|
11
11
|
|
12
12
|
Along with the study, we also published `sudoku-smt-solvers`, a Python package that provides the various SMT-based Sudoku solvers and benchmarking tools we built for this study. The package features DPLL(T), Z3, and CVC5 solvers optimized for 25x25 Sudoku puzzles, a puzzle generator for creating test cases, and a comprehensive benchmarking suite. Available through pip, it offers a simple API for solving Sudoku puzzles using state-of-the-art SMT solvers while facilitating performance comparisons between different solving approaches.
|
13
13
|
|
@@ -3,8 +3,8 @@ import setuptools
|
|
3
3
|
import re
|
4
4
|
|
5
5
|
NAME = "sudoku_smt_solvers"
|
6
|
-
AUTHOR = "Liam Davis"
|
7
|
-
AUTHOR_EMAIL = "ljdavis27@amherst.edu"
|
6
|
+
AUTHOR = "Liam Davis, Tairan 'Ryan' Ji"
|
7
|
+
AUTHOR_EMAIL = "ljdavis27@amherst.edu, tji26@amherst.edu"
|
8
8
|
DESCRIPTION = "A collection of SAT and SMT solvers for solving Sudoku puzzles"
|
9
9
|
LICENSE = "MIT"
|
10
10
|
URL = "https://liamjdavis.github.io/sudoku-smt-solvers"
|
@@ -16,7 +16,7 @@ CLASSIFIERS = [
|
|
16
16
|
]
|
17
17
|
INSTALL_REQUIRES = [
|
18
18
|
"cvc5",
|
19
|
-
"
|
19
|
+
"python-sat",
|
20
20
|
"z3-solver",
|
21
21
|
]
|
22
22
|
ENTRY_POINTS = {}
|
@@ -53,5 +53,5 @@ if __name__ == "__main__":
|
|
53
53
|
entry_points=ENTRY_POINTS,
|
54
54
|
scripts=SCRIPTS,
|
55
55
|
include_package_data=True,
|
56
|
-
python_requires=">=3.
|
56
|
+
python_requires=">=3.10",
|
57
57
|
)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"""Sudoku SMT Solvers - A package for solving and benchmarking large-scale Sudoku puzzles.
|
2
|
+
|
3
|
+
This package provides various SAT and SMT-based solvers optimized for 25x25 Sudoku puzzles,
|
4
|
+
along with tools for puzzle generation and solver benchmarking.
|
5
|
+
|
6
|
+
Key Components:
|
7
|
+
- Multiple solver implementations (DPLL, DPLL(T), Z3, CVC5)
|
8
|
+
- Sudoku puzzle generator with difficulty settings
|
9
|
+
- Benchmarking suite for comparing solver performance
|
10
|
+
"""
|
11
|
+
|
12
|
+
from .solvers.dpll_solver import DPLLSolver
|
13
|
+
from .solvers.dpllt_solver import DPLLTSolver
|
14
|
+
from .solvers.z3_solver import Z3Solver
|
15
|
+
from .solvers.cvc5_solver import CVC5Solver
|
16
|
+
from .benchmarks.benchmark_runner import BenchmarkRunner
|
17
|
+
from .benchmarks.sudoku_generator.sudoku_generator import SudokuGenerator
|
18
|
+
|
19
|
+
__version__ = "0.2.0"
|
@@ -1,31 +1,41 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: sudoku_smt_solvers
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.2.0
|
4
4
|
Summary: A collection of SAT and SMT solvers for solving Sudoku puzzles
|
5
5
|
Home-page: https://liamjdavis.github.io/sudoku-smt-solvers
|
6
|
-
Author: Liam Davis
|
7
|
-
Author-email: ljdavis27@amherst.edu
|
6
|
+
Author: Liam Davis, Tairan 'Ryan' Ji
|
7
|
+
Author-email: ljdavis27@amherst.edu, tji26@amherst.edu
|
8
8
|
License: MIT
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
10
10
|
Classifier: License :: OSI Approved :: MIT License
|
11
11
|
Classifier: Operating System :: OS Independent
|
12
|
-
Requires-Python: >=3.
|
12
|
+
Requires-Python: >=3.10
|
13
13
|
Description-Content-Type: text/markdown
|
14
14
|
License-File: LICENSE
|
15
15
|
Requires-Dist: cvc5
|
16
|
-
Requires-Dist:
|
16
|
+
Requires-Dist: python-sat
|
17
17
|
Requires-Dist: z3-solver
|
18
|
+
Dynamic: author
|
19
|
+
Dynamic: author-email
|
20
|
+
Dynamic: classifier
|
21
|
+
Dynamic: description
|
22
|
+
Dynamic: description-content-type
|
23
|
+
Dynamic: home-page
|
24
|
+
Dynamic: license
|
25
|
+
Dynamic: requires-dist
|
26
|
+
Dynamic: requires-python
|
27
|
+
Dynamic: summary
|
18
28
|
|
19
29
|
# Sudoku-SMT-Solvers
|
20
30
|
|
21
31
|
[![Pytest + CI/CD](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml/badge.svg)](ttps://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml)
|
22
32
|
[![Coverage Status](https://coveralls.io/repos/github/liamjdavis/Sudoku-SMT-Solvers/badge.svg)](https://coveralls.io/github/liamjdavis/Sudoku-SMT-Solvers)
|
23
33
|
[![Docs Build Deployment](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml/badge.svg)](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml)
|
24
|
-
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://liamjdavis.github.io/
|
34
|
+
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://liamjdavis.github.io/Sudoku-SMT-Solvers)
|
25
35
|
|
26
36
|
|
27
37
|
## About
|
28
|
-
This repository contains the code for the study "Evaluating SMT-Based Solvers on Sudoku". Created by Liam Davis (@liamjdavis) and Ryan Ji (@TairanJ) as their for COSC-241 Artificial Intelligence at Amherst College, it evaluates the efficacy of SMT-Based Solvers by benchmarking three modern SMT solvers (DPLL(T), Z3, and CVC5) against the DPLL algorithm on a collection of 100 25x25 Sudoku puzzles of varying difficulty.
|
38
|
+
This repository contains the code for the study "Evaluating SMT-Based Solvers on Sudoku". Created by Liam Davis (@liamjdavis) and Tairan "Ryan" Ji (@TairanJ) as their for COSC-241 Artificial Intelligence at Amherst College, it evaluates the efficacy of SMT-Based Solvers by benchmarking three modern SMT solvers (DPLL(T), Z3, and CVC5) against the DPLL algorithm on a collection of 100 25x25 Sudoku puzzles of varying difficulty.
|
29
39
|
|
30
40
|
Along with the study, we also published `sudoku-smt-solvers`, a Python package that provides the various SMT-based Sudoku solvers and benchmarking tools we built for this study. The package features DPLL(T), Z3, and CVC5 solvers optimized for 25x25 Sudoku puzzles, a puzzle generator for creating test cases, and a comprehensive benchmarking suite. Available through pip, it offers a simple API for solving Sudoku puzzles using state-of-the-art SMT solvers while facilitating performance comparisons between different solving approaches.
|
31
41
|
|
{sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers.egg-info/SOURCES.txt
RENAMED
@@ -14,7 +14,6 @@ sudoku_smt_solvers/solvers/__init__.py
|
|
14
14
|
sudoku_smt_solvers/solvers/cvc5_solver.py
|
15
15
|
sudoku_smt_solvers/solvers/dpll_solver.py
|
16
16
|
sudoku_smt_solvers/solvers/dpllt_solver.py
|
17
|
-
sudoku_smt_solvers/solvers/sudoku_error.py
|
18
17
|
sudoku_smt_solvers/solvers/z3_solver.py
|
19
18
|
tests/test_benchmark_runner.py
|
20
19
|
tests/test_cvc5_solver.py
|
File without changes
|
File without changes
|
File without changes
|
{sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/benchmarks/__init__.py
RENAMED
File without changes
|
File without changes
|
{sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers/solvers/__init__.py
RENAMED
File without changes
|
File without changes
|
{sudoku_smt_solvers-0.1.0 → sudoku_smt_solvers-0.2.0}/sudoku_smt_solvers.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|