Generate all Non-Covered Boolean Matrices with N rows

66 Views Asked by At

I am attempting to generate all non-covered (or irreducible) boolean (or binary, zero-one, etc.) matrices for a given $n$ columns.

For instance, given $n$ = 2, the possible non-covered boolean matrices are the following:

$\begin{bmatrix}1 & 1\end{bmatrix}$

$\begin{bmatrix}1 & 0\end{bmatrix}$

$\begin{bmatrix}0 & 1\end{bmatrix}$

$\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix}$

Is anyone fimiliar with research in this area and know how to easily generate this for any given $n$ columns?

If it is useful, it is also possible to encode these into sets via translating the matrices into sets or vice versa. The following is a translation of $n$ = 2 non-covered boolean matrices:

{0, 1}

{0}

{1}

{0}, {1}

EDIT

The concept of covering can be explained in the following approaches:

Matrix Approach:

A row $M_1$ in matrix $M$ is covered by another row $M_2$ if all elements $M_{1i}$ which have the value of $1$ also exist in $M_{2}$, and $M_{1}$ != $M_{2}$

Covered Example: If we have the matrix $\begin{bmatrix}1 & 1\\0 & 1\end{bmatrix}$, $\begin{bmatrix}1 & 1\end{bmatrix}$ is covered by $\begin{bmatrix}0 & 1\end{bmatrix}$.

Uncovered Example:

In the matrix $\begin{bmatrix}1 & 0\\0 & 1\end{bmatrix}$, neither row covers the other, so it is an uncovered matrix.

Set Approach:

A set $S_1$ in $S$ is covered if another set $S_2$ in $S$ is a strict subset of $S_1$.

Covered Example:

If $S$ = {{0, 1, 2}, {1, 2}}, {0, 1, 2} is covered by {1, 2}

Uncovered Example:

If $S$ = {{0, 1}, {0, 2}}, $S_1$ is not covered by $S_2$ since neither are a strict subset of the other.