При построении минимальных ДНФ для функции
достаточно рассматривать только те интервалы
, для которых
, т.е.
. Такие интервалы и соответствующие им конъюнкции называются допустимыми.
Возможен следующий способ повышения эффективности тривиального алгоритма. Выделяются все допустимые конъюнкции
и к множеству этих конъюнкций {
} применяется тривиальный алгоритм. Этот простой прием существенно увеличивает эффективность тривиального алгоритма.
Множество всех допустимых конъюнкций {
}может быть получено путем удаления из числа
конъюнкций «лишних». Заметим, что конъюнкции, обращающиеся в единицу в вершине
, есть произведения некоторых из символов
. Поэтому, если
, то из списка всех
конъюнкций следует удалить
конъюнкций, составленных из сомножителей, входящих в множество
. Иными словами, если некоторая нулевая вершина n–куба связана с конъюнкцией
, то недопустимыми являются все конъюнкции, которые могут быть получены из данного набора символов.
Пример.
Рассмотрим функцию, заданную таблицей истинности 2.12.
Таблица 2.12.
|
|
|
|
| 0 0 0
|
| 1 0 0
|
|
| 0 0 1
|
| 1 0 1
|
|
| 0 1 0
|
| 1 1 0
|
|
| 0 1 1
|
| 1 1 1
|
|
Множество
состоит из трех точек – (011), (100), (110). Составим таблицу коньюнкций, связанных с этими точками.
Таблица 2.13.
Точки множества
| Конъюнкции, обращающиеся в единицу
в точках на
|
|
|
|
|
|
|
|
|
|
Все конъюнкции, указанные в данной таблице, должны быть удалены из множества 27 конъюнкций, составленных из переменных
. После удаления останутся конъюнкции
.