4.1 Unate Covering Problem
The Unate Covering Problem (UCP) can be defined in terms of both a constraint matrix and a constraint equation. As we will solve the UCP using constraint matrix, we will define the problem only in that from; for the constraint equation based formulation the reader is refereed to [7].
Definition 10: Let M be a matrix of m rows and n columns, for which
is either 0 or 1. The unate covering problem involves finding a minimum cardinality column subset S , such that for all such that for all ![]()
![]()
In other words, the columns in the set S “cover” M in the sense, that every row of M contains a 1-entry in at least one of the columns of S , and there is no smaller set
which also covers M .
To solve the unate covering problem, the constraint matrix can be simplified by considering three factors namely,
Columns that have singleton rows are mandatory to be taken in the cover. All rows covered by such columns can be deleted and so do the columns. The unate covering can be then carried out in the reduced matrix. The procedure is called elimination of rows covered by “essential columns”. For example, in the matrix given below, PI4 is an essential column.

PI4 also covers minterm3. The resultant simplified matrix (after elimination of rows covered by essential column PI4) is give below.

If a row
of the constraint matrix has all the ones of another row
, then
is covered whenever
is covered. We say that
dominates
. In the example matrix below, minterm1 has all 1s of another row, minterm2. So minterm1 dominates minterm2.

All dominating rows (minterm1, in this example) can be eliminated from the constraint matrix. This is because, if a column is taken which covers the dominated row then by virtue of the “common 1”, the dominating row is also covered. In the example, if we select PI2 to cover minterm2, then by virtue of common 1 (i.e.,
) minterm1 is also covered. By applying “eliminating dominating rows”, the reduced matrix is as follows

If a column
of the constraint matrix has all the ones of another column
, then
is said to dominate
. In such a case we may say that then
covers all rows that are covered by
. Also, if the cost of prime implicant (in terms of number of literals) corresponding to
is not more than that corresponding to
, then we can say that
is not inferior to
, in that it covers all the rows that
covers, at a cost that is not larger. This means that we can eliminate
and simplify the matrix, without giving up the possibility of finding an optimum solution. The process is called elimination of columns through “column dominance”.