Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену.docx
Скачиваний:
50
Добавлен:
28.06.2021
Размер:
681.96 Кб
Скачать

Вопрос 28 Минимизация булевых функций методом Квайна-Мак-Класки

"Метод представляет собой формализованный на этапе нахождения простых импликант метод Квайна. Формализация производится следующим образом:

  1. Все конституанты единицы из СДНФ булевой функции f записываются их двоичными номерами.

  2. Все номера разбиваются на непересекающиеся группы. Признак образования i-й группы: i единиц в каждом двоичном номере конституенты единицы.

  3. Склеивание производят только между номерами соседних групп. Склеиваемые номера отмечаются каким-либо знаком (зачеркиванием).

  4. Склеивания производят всевозможные, как и в методе Квайна. Неотмеченные после склеивания номера являются простыми импликантами.

Нахождение минимальных ДНФ далее производится по импликантной матрице, как и в методе Квайна.

Вопрос 29 Минимизация булевых функций методом Блейка

Теорема (Блейка). Чтобы получить сокращенную ДНФ булевой функции из произвольной ДНФ, надо выполнить всевозможные обобщенные склеивания смежных конъюнкций, а затем всевозможные поглощения конъюнкций.

Рассмотрим основанный на теореме Блейка алгоритм, который организует поиск сокращенной ДНФ эффективнее, чем это предложено в теореме.

Алгоритм Блейка –Порецкого.

Начало. Задана произвольная ДНФ булевой функции.

Шаг 1. Построим список троичных векторов, представляющих конъюнкции ДНФ. Удалим из списка все векторы, поглощаемые другими. Если останется лишь один вектор, пойдем на конец. Иначе обозначим второй из оставшихся векторов через α.

Шаг 2. Найдем для вектора α очередной смежный вектор β среди векторов, расположенных в списке выше α. Если такого вектора β нет, то идем на шаг 5. Иначе обобщенно склеим α и β и полученный вектор γ припишем к списку последним.

Шаг 3. Если вектор γ поглощается хотя бы одним вектором из списка, то удалим γ (в частном случае γ может совпадать с одним из векторов списка, тогда удалим именно приписанный вектор γ, иначе произойдет "зацикливание" алгоритма, так как вектор γ будет вновь появляться в списке) и идем на шаг 2. Если вектор γ не поглощается, то удалим все векторы, поглощаемые им.

Шаг 4. Если вектор α не удален, то идем на шаг 2.

Шаг 5. Если вектор α был не последним в списке, то выберем в качестве нового α следующий по списку вектор и вернемся на шаг 2.

Конец. Неудаленные векторы задают сокращенную ДНФ функции.

Алгоритм Блейка-Порецкого отличается от алгоритма Квайна-МакКласки прежде всего тем, что оперирует с произвольной ДНФ, в то время как алгоритм Квайна-МакКласки требует на входе совершенную ДНФ. Конечно, можно перейти от произвольной ДНФ к совершенной, но она может быть очень длинной, и применение алгоритма Квайна-МакКласки станет неэффективным.

Вопрос 30 Не полностью определенные функции, минимизация не полностью определенных функций на картах Карно и методом Квайна-Мак-Класки. Карты Карно

Иногда удобно пользоваться несколько другим представлением диаграмм с цифровым кодом. Это карты Карно. Примеры карт Карно приведены на рисунке 2. По граням карты проставляются двоичные коды - коды Грея, что дает возможность легко проставлять значения функции и находить результат. Правила минимизации с применение карт Карно такие же, как и для диаграмм Вейча.

х2х3

х1

00

01

11

10

х3х4

х1х2

00

01

11

10

0

000

001

011

010

00

0000

0001

0011

0010

1

100

101

111

110

01

0100

0101

0111

0110

11

1100

1101

1111

1110

10

1000

1001

1011

1010

а)

б)

Рисунок 2- Карты Карно:

а) функции 3-х переменных;

б) функции 4-х переменных.