Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
22.05.2015
Размер:
153.09 Кб
Скачать

Раздел 4. Элементы математической логики и теории алгоритмов

ПРАКТИЧЕСКАЯ работа № 7

АВТОМАТИЗАЦИЯ ПОИСКА МИНИМАЛЬНОЙ ДИЗЪЮНКТИВНОЙ НОРМАЛЬНОЙ ФОРМЫ ДЛЯ БУЛЕВЫХ ФУНКЦИЙ

1.Общие сведения

Пусть имеется функция :

если номер набора равен

если номер набора не равен

Функцию называюттермом.

Дизъюнктивная нормальная форма (ДНФ) - объединение термов, включающие термы переменного ранга.

Элементарной называется конъюнкция, которая содержит множество попарных различных переменных или их отрицания.

ДНФ называется совершенной (СДНФ), если каждая входящая в нее элементарная конъюнкция содержит все переменные или их отрицания, входящие в булеву функцию.

Конъюнктивный терм (минтерм) - терм, связывающий переменные, представленные в прямой или инверсной форме. Например, .

Импликанта функции - некоторая логическая функция, обращаемая в 0 при наборе переменных, на котором сама функция также равна 0.

Первичная импликанта функции - импликанта типа элементарной конъюнкции некоторых переменных, никакая часть которой уже не является импликантой.

1.1 Метод неопределенных коэффициентов

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

(1)

где - неопределенные коэффициенты, принимающие значения 0 или 1 и подбираемые так, чтобы получающаяся после этого НДФ была минимальной.

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

Так как функция может принимать на наборах значения 0 и 1, то на основании уравнения (1) можно получить:

(2)

Если на соответствующем наборе переменных, то все коэффициенты, входящие в данное уравнение, равны 0. Тогда в остальных уравнениях (2) надо вычеркнуть члены, содержащие нулевые коэффициенты, а из оставшихся уравнений, равных 1, найти коэффициенты, определяющие конъюнкцию наименьшего ранга в каждом из уравнений.

На основании изложенного можно сформулировать следующий алгоритм нахождения неопределенных коэффициентов:

  1. Выбрать очередную строку, в которой . Все коэффициенты этой строки приравнять 0.

  2. Если все нулевые строки просмотрены, то прейти к п.3, если нет, то к п.1.

  3. Просмотреть строки, в которых , и вычеркнуть из них все коэффициенты, встречающиеся в строках, где.

  4. Переписать модифицированные уравнения.

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

Метод неопределенных коэффициентов наиболее применим для дизъюнктивной формы.

1.2 Метод Квайна

При минимизации по методу Квайна предполагается, что исходная функция задан в совершенной нормально дизъюнктивной форме (СДНФ).

Поэтому любой конъюнктивный терм, входящий в состав СДНФ, или группа термов, соединенных знаками дизъюнкции, являются импликантами исходной НДФ.

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

(3)

Таким образом удается снизить ранг термов. Эта процедура проводится до тех пор, пока не останется ни одного члена, допускающего поглощения с каким-либо другим термом. Термы, подвергающиеся поглощению, отмечаются. Неотмеченные термы представляют собой первичные импликанты.

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

Соседние файлы в папке дискретка