A lot of effort has been spent over the past few decades in the QCA methodology field, to develop efficient Boolean minimization algorithms to derive an exact, and more importantly complete list of minimal prime implicants that explain the initial, observed positive configurations. As the complexity grows exponentially with every new condition, the required computer memory goes past the current computer resources and the polynomial time required to solve this problem quickly grows towards infinity. This paper introduces a new alternative to the existing non-polynomial attempts. It completely solves the memory problem, and preliminary tests show it is exponentially hundreds of time faster than eQMC, the current “best” algorithm for QCA in R, and probes into a territory where it competes and even outperforms engineering algorithms such as Espresso, for exact minimizations. While speed is not much of an issue now (eQMC is fast enough for simple data), it might prove to be essential when further developing towards all possible temporal orders, or searching for configurations in panel data over time, combined with / or automatic detection of difficult counterfactuals etc.

Type

Publication

In *R Journal* (forthcoming)

Date

February, 2018

Links

The main idea of this paper is to find prime implicants from bottom-up, instead of top-down as in the classical Quine-McCluskey algorithm.

In order to shorten the execution time, the search space (the implicant matrix) is partitioned in succesive layers of complexity, given the following equality:

$$\prod_{c = 1}^{k} (l_c + 1) = 1 + \sum_{c = 1}^{k}\binom{k}{c}\prod_{s = 1}^{c} l_s$$

The left hand side of this equation represents the entire implicant matrix (including the original, observed truth table configurations) and the right hand side is the same space partitioned in layers of complexity.