Setups Overview
solverpy_learn.setups
Evalset
Bases: TypedDict
Per-dataset configuration: problems, strategies, and ML training state.
Source code in packages/solverpy/src/solverpy/setups/evalset.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | |
Setup
Bases: TypedDict
A (typed) dictionary summarizing the configuration of the experiment. An ordinary dictionary can be used in its place but type annotations provide additional safety.
Some parameters should be set by the user, others are automatically
filled in by functions in the setups module.
Evaluation parameters
The following are the most important parameters to be set by the user for an evaluation run:
Attributes:
| Name | Type | Description |
|---|---|---|
limit |
str
|
Resource limit for solvers. |
cores |
int
|
Number of CPU cores for parallel evaluation. |
benchmarks |
int
|
List of benchmark ids. |
strategies |
int
|
List of strategy ids. |
complete |
bool
|
Complete use of the solver (sat/Satisfiable are successes). |
The following parameters additional parameters for an evaluation run:
Attributes:
| Name | Type | Description | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ref |
Reference strategy id. |
||||||||||||||||||||||||||||
binary |
str
|
Custom solver binary. Must be in |
|||||||||||||||||||||||||||
static |
list[str]
|
Fixed solver options. |
|||||||||||||||||||||||||||
ntfy |
str
|
Address for user push notifications via ntfy. |
|||||||||||||||||||||||||||
options |
list[str]
|
Experiment boolean options.
An option is identified by its string name, and represents a boolean yes/no value.
Use
|
|||||||||||||||||||||||||||
plugins |
list[Plugin]
|
List of additional solver plugins. |
|||||||||||||||||||||||||||
delfix |
int | str | None
|
Prefix to remove from problem names.
The typical use is to remove the prefix This applies to DB providers that support |
ML parameters
The following are user options for ML experiments.
Attributes:
| Name | Type | Description |
|---|---|---|
loops |
int
|
Number of iterations of the eval/ML loop. |
force |
bool
|
Recompute everything. |
shuffle |
bool
|
Shuffle problem order. |
e_training_examples |
str
|
Output format of training samples for |
gen_features |
str
|
ENIGMA features for generation filtering. |
sel_features |
str
|
ENIGMA features for clause selection. |
posneg_ratio |
float
|
Maximum ratio of negative to positive examples. |
templates |
list[str]
|
Templates for strategy generation. |
evals |
Evalset
|
Primary evaluation dataset configuration (Evalset with benchmarks, strategies, plugin, etc.). |
devels |
Evalset
|
Development dataset configuration (Evalset). |
Internal parameters
The following parameters are used internally and should not be set directly by the user.
Attributes:
| Name | Type | Description |
|---|---|---|
it |
int
|
Current iteration number. |
news |
list[str]
|
New ML strategies. |
db |
DB
|
Database object. |
builder |
Any
|
Builder object. |
Source code in packages/solverpy/src/solverpy/setups/setup.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | |
bitwuzla(setup: Setup) -> Setup
Configure setup to use the Bitwuzla solver.
Source code in packages/solverpy/src/solverpy/setups/solver.py
95 96 97 98 | |
cvc5ml(setup: Setup, tuneargs: dict[str, Any] | None = None) -> Setup
Configure setup with a Cvc5ML builder.
Source code in packages/solverpy-learn/src/solverpy_learn/setups/tuner.py
46 47 48 49 50 51 52 | |
enigma(setup: Setup, tunesel: dict[str, Any] | None = None, tunegen: dict[str, Any] | None = None) -> Setup
Configure setup with an Enigma builder.
Source code in packages/solverpy-learn/src/solverpy_learn/setups/tuner.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
evaluation(setup: Setup) -> Setup
Configure setup for benchmark evaluation: DB, cores, strategies, and benchmarks.
Source code in packages/solverpy/src/solverpy/setups/loop.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | |
experiment(setup: Setup) -> Setup
Normalize a user-facing setup before evaluation or looping starts.
Source code in packages/solverpy/src/solverpy/setups/loop.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
initialize(setup: Setup) -> Runtime
Initialize all Managed plugins in the setup with a shared Manager.
Source code in packages/solverpy/src/solverpy/setups/runtime.py
35 36 37 38 39 40 41 42 | |
prover9(setup: Setup) -> Setup
Configure setup to use the Prover9 solver.
Source code in packages/solverpy/src/solverpy/setups/solver.py
89 90 91 92 | |
vampire(setup: Setup) -> Setup
Configure setup to use the Vampire solver.
Source code in packages/solverpy/src/solverpy/setups/solver.py
83 84 85 86 | |
z3(setup: Setup) -> Setup
Configure setup to use the Z3 solver.
Source code in packages/solverpy/src/solverpy/setups/solver.py
101 102 103 104 105 106 107 108 109 | |