Learn R Programming

QCA (version 3.16)

complexity: Number of combinations at a given complexity layer

Description

This function calculates the number of all possible combinations of conditions (including all levels for each condition), at a given complexity layer.

Usage

complexity(n, layers, noflevels)

Value

A numeric vector.

Arguments

n

Numeric scalar, the number of input conditions.

layers

Numeric vector, the complexity layer(s) with values from 1 to n.

noflevels

Numeric vector containing the number of levels for each of the n conditions.

Author

Adrian Dusa

Details

These are the number of combinations which the CCubes algorithm (Dusa, 2018) checks to determine the prime implicants from a minimization process.

In the bottom-up approach, CCubes first checks for single conditions (combinations of both presence and absence, or more levels if multi-value), then all possible combinations of levels for two conditions etc.

The precise equation that partitions the search space into complexity layers is:

$$ \sum_{c = 1}^{k} {k\choose c} \prod_{s = 1}^{c} l_s $$

where \(l\) stands for the number of levels for each combination of \(c\) conditions out of \(k\).

References

Dusa, A. (2018) “Consistency Cubes: A Fast, Efficient Method for Boolean Minimization”, R Journal, tools:::Rd_expr_doi("10.32614/RJ-2018-080")

Examples

Run this code
complexity(3) # all layers from 1 to 3

complexity(5, layers = 2)

Run the code above in your browser using DataLab