Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6_ЛАБ_КЛ_2КСМ_2015-16.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
799.23 Кб
Скачать

1.4 Минимизация коньюнктивных нормальных форм переключательных функций

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

Конституентой нуля называется переключательная функция, принимающая значение нуля на одном наборе. Конституента нуля выражается дизъюнкцией всех переменных переключательной функции. Например, набору 0110 соответствует следующая конституента нуля: x1v/x2 v /x3vx4.

Имцлицентой g переключательной функции f называется функция, принимающая значение нуля на подмножестве нулевых наборов функции f.

Простой имплицентой переключательной функции f называется элементарная дизъюнкция, которая: является имплицентой функции f; никакая ее собственная часть не является имплицентой функции f.

Задачей минимизации КНФ является определение минимальной КНФ.

Данная задача также решается в два этапа:

1) Поиск сокращенной кнф (конъюнкции всех простых имплицент);

2) Нахождение минимальной кнф.

Для первого этапа минимизации КНФ (поиска всех простых имплицент), все методы минимизации ДНФ имеют свои аналоги для КНФ.

Второй этап минимизации КНФ выполняется с помощью таблицы Квайна точно так же, как при поиске минимальной ДНФ, поскольку возможны только два альтернативных варианта:

1) данная простая имплицента поглощает данную конституенту нуля в соответствии с соотношением поглощения (A v x)A = A;

2) данная простая имплицента не поглощает данную конституенту нуля.

Рассмотрим основные аналогии методов минимизации ДНФ для случая КНФ, применяемые на первом этапе минимизации.

Соотношение склеивания по Квайну в применении к задаче минимизации КНФ: (A v x)(A v /x) = (A v x)(A v /x)A.

Соотношение склеивания по Блейку в применении к задаче минимизации КНФ: (A v x)(B v /x) = (A v x)(B v /x)(A v B)

Метод Нельсона в применении к задаче минимизации КНФ:

- раскрытие скобок в произвольной ДНФ функции и выполнение поглощений приводит к сокращенной КНФ;

- предполагаются скобки в начале и конце каждого элементарного произведения исходной ДНФ и использование второго дистрибутивного закона.

Например, функция, заданная минимальной ДНФ x1/x2 v /x1x2 дает возможность определить ее сокращенную КНФ

(x1 v /x1)(x1 v x2) (/x2 v /x1)(x2 v /x2) = (x1 v x2)(/x1 v /x2).

По диаграмме Вейча, поиск минимальной КНФ осуществляется так же просто, как и в случае ДНФ. Отличие состоит лишь в следующем: анализируются нулевые наборы; переменные выписываются с инверсиями.

Например, рассмотрим переключательную функцию, заданную диаграммой в виде таблицы 12.

Таблица 12

Минимальной КНФ является: (/x1 v x3)(x2 v x3)(/x1 v /x2 v /x3).

Для сравнения, найдем минимальную ДНФ: /x1x2 v /x2x3 v x3/x4.

В данном случае, ДНФ оказалась проще.

В общем случае, о сравнительной сложности минимальных ДНФ и КНФ нельзя говорить заранее, но можно отметить, что количество букв минимальной ДНФ произвольной функции f и минимальной КНФ функции /f одинаково.

1.5 Минимизация частично определенных переключательных функций

В реальных практических задачах очень часто бывает так, что значение переключательной функции на некоторых наборах не определено и вполне может быть доопределено произвольным образом.

Доопределение переключательной функции целесообразно производить таким образом, чтобы ее минимальная нормальная форма имела наименьшее количество букв из всех возможных вариантов доопределения.

Рассмотрим пример. Пусть переключательная функция задана диаграммой Карно-Вейча, представленной далее по тексту таблицей 13.

Для нескольких неопределенных наборов, в соответствующих им ячейках таблицы 13 проставлены прочерки.

Таблица 13

Доопределение переключательной функции на неопределенных наборах возможно выполнять разными способами: только единицами (таблица 14); только нулями (таблица 15); произвольными наборами единиц и нулей (например, так, как показано в таблице 16).

В результате, можно получить разные минимальные ДНФ.

Более простая минимальная ДНФ получается, если произвести доопределение так, как это сделано на диаграмме Карно-Вейча в таблице 16.

Таблица 14

Таблица 15

Таблица 16

Алгоритм поиска минимальной ДНФ частично определенной переключательной функции f можно представить следующим образом:

1) найти (любым известным способом) сокращенную ДНФ переключательной функции, получающейся в результате доопределения единицами исходной функции f на всех неопределенных наборах;

2) выбрать минимальную ДНФ переключательной функции по импликантной матрице, где в столбцах будут выписаны лишь те конституенты единицы функции f, которые соответствуют полностью определенным единичным наборам.

Аналогичный алгоритм (с доопределением нулевыми наборами) может быть предложен для поиска КНФ.

Доопределение таблицы истинности функции f может быть произведено по разному для КНФ и ДНФ.

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

Приведем далее несколько примеров. Если минимальных форм несколько, будем приводить одну из них.

Рассмотрим функцию, представленную таблицей 17. Результаты минимизации будут следующими:

МДНФ: x1x2 v /x1/x3 v /x3/x4; МКНФ: (x1 v /x3)(/x3 v x4)(x2 v /x4).

Таблица 17

Рассмотрим функцию, представленную таблицей 18. Результаты минимизации будут следующими:

ДНФ: x3 v x2x4; КНФ: (x2 v x3)(x3 v x4).

Таблица 18

Рассмотрим функцию, представленную таблицей 19. Результаты минимизации: ДНФ: x1/x4 v /x1x2x4; КНФ: (/x1 v /x4)(x1 v x2)(x1 v x4).

Таблица 19

Рассмотрим функцию, представленную таблицей 20. Результаты миними-зации будут следующими: ДНФ: x3 v x1x4 v x1/x2; КНФ: (x1 v /x3)(/x2 v /x3 v x4).

Таблица 20