sudoku-smt-solvers 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![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
|
|
@@ -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
|