sudoku-smt-solvers 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sudoku_smt_solvers/__init__.py +18 -3
- sudoku_smt_solvers/solvers/cvc5_solver.py +1 -1
- sudoku_smt_solvers/solvers/dpll_solver.py +1 -1
- sudoku_smt_solvers/solvers/dpllt_solver.py +1 -1
- sudoku_smt_solvers/solvers/z3_solver.py +1 -1
- {sudoku_smt_solvers-0.1.0.dist-info → sudoku_smt_solvers-0.2.0.dist-info}/METADATA +18 -8
- sudoku_smt_solvers-0.2.0.dist-info/RECORD +13 -0
- {sudoku_smt_solvers-0.1.0.dist-info → sudoku_smt_solvers-0.2.0.dist-info}/WHEEL +1 -1
- sudoku_smt_solvers/solvers/sudoku_error.py +0 -8
- sudoku_smt_solvers-0.1.0.dist-info/RECORD +0 -14
- {sudoku_smt_solvers-0.1.0.dist-info → sudoku_smt_solvers-0.2.0.dist-info}/LICENSE +0 -0
- {sudoku_smt_solvers-0.1.0.dist-info → sudoku_smt_solvers-0.2.0.dist-info}/top_level.txt +0 -0
sudoku_smt_solvers/__init__.py
CHANGED
@@ -1,4 +1,19 @@
|
|
1
|
-
|
2
|
-
from .solvers import CVC5Solver, DPLLSolver, Z3Solver
|
1
|
+
"""Sudoku SMT Solvers - A package for solving and benchmarking large-scale Sudoku puzzles.
|
3
2
|
|
4
|
-
|
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
|
[](ttps://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/test.yml)
|
22
32
|
[](https://coveralls.io/github/liamjdavis/Sudoku-SMT-Solvers)
|
23
33
|
[](https://github.com/liamjdavis/Sudoku-SMT-Solvers/actions/workflows/docs.yml)
|
24
|
-
[](https://liamjdavis.github.io/
|
34
|
+
[](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
|
|
@@ -0,0 +1,13 @@
|
|
1
|
+
sudoku_smt_solvers/__init__.py,sha256=9LqjXOhMICYiSF1Ja22tDh3gopxsj2fg4yYXaENqu3M,763
|
2
|
+
sudoku_smt_solvers/benchmarks/__init__.py,sha256=lMrK_yj_otywN4dMvvVFtTzyTdamS_4nUgjm-k07obU,271
|
3
|
+
sudoku_smt_solvers/benchmarks/benchmark_runner.py,sha256=Mc87ul-6VkWMomtlmOMc9GXmC4AwfQUwIWKDjeFvSVA,7712
|
4
|
+
sudoku_smt_solvers/solvers/__init__.py,sha256=5qFfWzKN2WPDoFLN5ye6Ly5BqEaUdk2ks_jPP3c53l8,142
|
5
|
+
sudoku_smt_solvers/solvers/cvc5_solver.py,sha256=igN27LHxUADmYw3farmEeGtjJEsrdSQEk0X0X_EItyQ,6855
|
6
|
+
sudoku_smt_solvers/solvers/dpll_solver.py,sha256=itLEx8QdomSS9nA7CrhSlU7wN-e8vDInAWiwhXX-7Ug,6144
|
7
|
+
sudoku_smt_solvers/solvers/dpllt_solver.py,sha256=8HJWOGU6Oj4hNpgkK96sI51bdiTfRLSlf5yhic7WeF0,7992
|
8
|
+
sudoku_smt_solvers/solvers/z3_solver.py,sha256=e6WPwPdN8uUipjxNm7KRYlbsNNwGyxH3s4wy5wC8PPc,4902
|
9
|
+
sudoku_smt_solvers-0.2.0.dist-info/LICENSE,sha256=PbuZlvluV1l4HMMfPAVe5yjVvFGBK9DFp20JNhoJ8bI,1067
|
10
|
+
sudoku_smt_solvers-0.2.0.dist-info/METADATA,sha256=fLlazpd0XnC3xb5Ix3ZF1nzcc8xI_pBDrk-dp0FmEZY,6680
|
11
|
+
sudoku_smt_solvers-0.2.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
12
|
+
sudoku_smt_solvers-0.2.0.dist-info/top_level.txt,sha256=Ww9vs8KC4aujzfGfddMl_X8Qzh-Cywn9aBTLQgemi5A,19
|
13
|
+
sudoku_smt_solvers-0.2.0.dist-info/RECORD,,
|
@@ -1,14 +0,0 @@
|
|
1
|
-
sudoku_smt_solvers/__init__.py,sha256=vTwJLa8Yp7q-OdzA44zhFIK-LhK2o8aDt-4qOJJ1M7M,134
|
2
|
-
sudoku_smt_solvers/benchmarks/__init__.py,sha256=lMrK_yj_otywN4dMvvVFtTzyTdamS_4nUgjm-k07obU,271
|
3
|
-
sudoku_smt_solvers/benchmarks/benchmark_runner.py,sha256=Mc87ul-6VkWMomtlmOMc9GXmC4AwfQUwIWKDjeFvSVA,7712
|
4
|
-
sudoku_smt_solvers/solvers/__init__.py,sha256=5qFfWzKN2WPDoFLN5ye6Ly5BqEaUdk2ks_jPP3c53l8,142
|
5
|
-
sudoku_smt_solvers/solvers/cvc5_solver.py,sha256=DfLlgzhhgSaI3tV_4mzy3vdpxY5tISSFhs0xhRWcMYk,6849
|
6
|
-
sudoku_smt_solvers/solvers/dpll_solver.py,sha256=ThLT1v87oNnzDMpYmoPcmTeeXijVIgk6A6qULWVID28,6138
|
7
|
-
sudoku_smt_solvers/solvers/dpllt_solver.py,sha256=4UXcod7EnJGlD7OlakmPHOuIyWga5yN9rMtKMvuEAc8,7986
|
8
|
-
sudoku_smt_solvers/solvers/sudoku_error.py,sha256=iUcv1QCgQ7anov0b-AtIB1fbfZ3yWfci4eTp_8RuUJg,208
|
9
|
-
sudoku_smt_solvers/solvers/z3_solver.py,sha256=awQ3tzEMIy2woFmATMiwQsC2YtktxfJlx55MudB1SN0,4922
|
10
|
-
sudoku_smt_solvers-0.1.0.dist-info/LICENSE,sha256=PbuZlvluV1l4HMMfPAVe5yjVvFGBK9DFp20JNhoJ8bI,1067
|
11
|
-
sudoku_smt_solvers-0.1.0.dist-info/METADATA,sha256=lbOf7Pgg4nsMlchZ54WHWcJoGa98BvgCMHCMieULSrw,6414
|
12
|
-
sudoku_smt_solvers-0.1.0.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
|
13
|
-
sudoku_smt_solvers-0.1.0.dist-info/top_level.txt,sha256=Ww9vs8KC4aujzfGfddMl_X8Qzh-Cywn9aBTLQgemi5A,19
|
14
|
-
sudoku_smt_solvers-0.1.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|