Methodology and implementation contract¶
setqca treats QCA as set-theoretic comparative analysis, not as a predictive machine-learning model.
Fuzzy operations¶
For calibrated membership scores in [0, 1]:
- negation:
~A = 1 - A - conjunction:
A * B = min(A, B) - disjunction:
A + B = max(A, B)
Sufficiency¶
For cause/configuration X and outcome Y:
- consistency:
sum(min(X, Y)) / sum(X) - coverage:
sum(min(X, Y)) / sum(Y) - PRI follows the proportional-reduction-in-inconsistency calculation used by R
QCA.
Necessity¶
- consistency:
sum(min(X, Y)) / sum(Y) - coverage:
sum(min(X, Y)) / sum(X) - RoN follows the relevance-of-necessity calculation used by R
QCA.
Truth-table assignment¶
Fuzzy cases are assigned to a binary corner according to whether each membership is below or above the crossover 0.5. Exact crossover scores are rejected by default because the crisp corner is ambiguous.
A row is:
Rwhen frequency is below the frequency cutoff;1when sufficiency consistency and PRI pass their cutoffs;Cwhen consistency lies between the exclusion and inclusion cutoffs;0otherwise.
Boolean minimisation¶
The current minimiser is classical exact Quine-McCluskey:
- generate minterm cubes;
- combine adjacent cubes until prime implicants remain;
- discard primes derived only from don't-cares, since they cover no required row;
- construct the prime-implicant chart;
- solve exact minimum covers with branch-and-bound;
- optimise lexicographically by number of prime implicants and then literal count.
All tied minimum covers are returned, up to max_solutions. Model ambiguity is a
property of the data and is reported rather than resolved arbitrarily.
Step 5 applies three reductions, each of which provably leaves the set of minimum covers unchanged:
- Essential primes. A minterm covered by exactly one prime forces that prime into every cover, so it is selected before the search begins.
- Independent-set lower bound. Uncovered minterms whose candidate primes are pairwise disjoint each require a distinct further prime. The size of such a set bounds the cost of any completion from below, so branches that cannot reach the incumbent cost are abandoned.
- State memoisation. The completions available from a partial solution depend only on which minterms remain uncovered. Reaching the same remaining set at a strictly worse cost can therefore never yield a better or tied cover.
None of these is a heuristic: each is a sound inference about the chart, and the result remains a proven minimum.
Conservative solutions use observed positive rows only. Parsimonious solutions allow logical remainders as don't-care minterms.
Intermediate solutions¶
Intermediate solutions follow Ragin and Sonnett (2005).
A simplifying assumption is a remainder the parsimonious solution relies on. Such an assumption is an easy counterfactual when it can be reached from a configuration that was observed to be sufficient by changing conditions only in the direction the researcher expects to contribute to the outcome; every other simplifying assumption is a difficult counterfactual. The intermediate solution admits the easy counterfactuals as don't-cares and refuses the difficult ones, and both sets are reported on the result.
A condition with no stated expectation can never justify a counterfactual leap, so differences on it make the assumption difficult.