Опубликован: 05.06.2018 | Доступ: свободный | Студентов: 537 / 106 | Длительность: 07:59:00
Лекция 3:

Минимизация логических функций

Пример 3.8. Получить методом диаграмм Вейча минимальную дизъюнктивную нормальную форму неполностью определенной ФАЛ, заданной в следующем виде:

f(a,b,c,d) = ∑(0,5,8,12,15), Х(1,2,3,10.13,14),

где под знаком X перечислены номера наборов, на которых значение функции не определено.

Решение

Прежде всего, отметим, что при решении данной задачи, так же, как и ранее, необходимо покрыть все 1 клетки минимальным числом прямоугольников максимальной площади. Если клетки с неопределенными значениями способствуют достижению этой цели, то они трактуются как 1-клетки, в противном случае – как 0-клетки.

Для получения минимальной ДНФ вначале на диаграмме Вейча отметим на все 1 клетки и клетки с неопределенными значениями логической функции:


Отметим существенные имликанты для данной функции, принимая клетки с неопределенными значениями за 1-клетки, если это способствует построению покрытия меньшего ранга:


Импликанты в столбце \overline{b}\overline{d} нельзя в полной мере считать существенными, так как для каждой из них можно подобрать два равнозначных покрытия, но именно приставленное на диаграмме выше позволяет покрыть их обе сразу. Здесь мы сталкиваемся с ситуацией некоторого эвристического перебора, о котором говорилось выше и который во многом зависит от опыта разработчика.

Оставшаяся непокрытой одна 1-клетка может быть включена в два равноценных покрытия:


Это даст тупиковую (она же и минимальная) нормальную форму:

f(a,b,c,d)_{МДНФ1} = ab\vee\overline{b}\overline{d}\vee\overline{a}\overline{c}d

Другой вариант покрытия этой 1-клетки даст следующую минимальную дизъюнктивную нормальную форму:


f(a,b,c,d)_{МДНФ2} = ab\vee\overline{b}\overline{d}\vee b\overline{c}d

Теперь получим МКНФ этой же функции. Для этого удобнее сначала представить сокращенную запись ее совершенной конъюнктивной нормальной формы:

f(a,b,c,d)_{СДНФ} = \sum(0,5,8,12,15), Х(1,2,3,10.13,14)
f(a,b,c,d)_{СКНФ} = \And (4,6,7,9,11), Х(1,2,3,10.13,14)

Отметим на диаграмме Вейча все 0-клетки и клетки с неопределенными значениями функции:


Выделим на диаграмме существенные имлиценты:


Так как все покрытия, использованные для покрытия существенных имплицент, покрыли и все остальные имплиценты данной функции, то эта ФАЛ будет иметь единственную минимальную КНФ:

f(a,b,c,d)_{МКНФ} = (a \vee\overline{c}) (b \vee d) (a \vee\overline{b}\vee d)

Отметим, что значения функции в неопределенных клетках при получении минимальной дизъюнктивной и минимальной конъюнктивной нормальной форм не связаны между собой. Так, например, значение Х-клетки с координатами \overline{a}\overline{b}c\overline{d} было принято равным единице при получении минимальной дизъюнктивной нормальной формы и, в то же время, равной нулю при получении минимальной конъюнктивной нормальной формы.

Х-клетки, которые не способствовали получению наилучшего покрытия 1-клеток при получении МДНФ, принимаем за 0-клетки. Аналогично, Х-клетки, которые не способствовали получению наилучшего покрытия 0-клеток при получении МКНФ, принимаем за 1 клетки.Так для рассматриваемой функции при получении МДНФ Х-клетку с координатами \overline{a}\overline{b}c\overline{d}при получении МДНФ мы рассматриваем как 1-клетку, а при получении МКНФ – как 0-клетку.

Краткие итоги

В лекции рассмотрены различные методы минимизации логических функций: на основе теоремы Квайна, метода Квайна – Мак-Класки, диаграмм Вейча, не полностью определенных логических функций, которые могут быть использованы как для небольшого (три-четыре) числа переменных непосредственно разработчиками несложных вычислительных устройств, так и для минимизации ФАЛ от произвольного числа аргументов с использованием разнообразных компьютерных алгоритмов.

Вопросы и задания

  1. Перечислите и охарактеризуйте методы минимизации логических функций.
  2. Укажите преимущества и недостатки различных методов минимизации логических функций.
  3. Дайте формулировку теоремы Квайна. Позволяет ли теорема Квайна минимальную форму записи логической функции?
  4. По какому критерию определяется минимальная логическая функция? Возможны ли другие критерии определения минимальной ФАЛ? Если да, то сформулируйте их.
  5. Можно ли утверждать, что для того, чтобы получить минимальную конъюнктивную нормальную форму какой-либо логической функции, достаточно получить инверсию от ее минимальной дизъюнктивной нормальной формы?
  6. Какие из видов функции имеют единственное представление: совершенная форма, сокращенная, тупиковая, минимальная?
  7. Что представляют собой импликантные и имплицентные матрицы? Для каких целей они используются?
  8. Какие усовершенствования внес Мак-Класки в минимизацию логических функций?
  9. С какой целью в методе Квайна – Мак-Класки двоичные наборы разбиваются на группы по количеству единиц в наборе? Какую роль играют "пустые" группы в этом методе?
  10. Каковы области применения при минимизации диаграмм Вейча и метода Квайна – Мак-Класки? Почему?
  11. Почему машинные алгоритмы минимизации логических функций обычно базируются на методе Квайна – Мак-Класки?
  12. Приведите примеры ситуаций, при которых образуются не полнолностью определенные логические функции?
  13. Как выполнить минимизацию не полностью определенной ФАЛ методом Квайна – Мак-Класки?