Minimization backends¶
PyQCA separates QCA evaluation from logical minimization. Select a backend
with the minimizer argument to qca.QCAEngineBase.fit().
Available backends¶
standard/qmcQuine-McCluskey-style Boolean minimization.
set_coverSet-covering minimization through the default selector.
greedy_set_coverDeterministic greedy approximation for larger candidate spaces.
exact_set_coverExact branch-and-bound set-cover selection.
result = model.fit(minimizer="exact_set_cover")
Compare backends¶
from qca import benchmark_minimizers
benchmark = benchmark_minimizers(
model,
minimizers=[
"standard",
"qmc",
"greedy_set_cover",
"exact_set_cover",
],
outcome_threshold=0.75,
consistency_cutoff=0.8,
)
print(benchmark.summary())
Complex, parsimonious, and intermediate solutions¶
The minimizer can construct complex, parsimonious, and intermediate solutions. Intermediate solutions require directional expectations. Without them, PyQCA reports that the intermediate solution is equivalent to the complex solution.