Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000526.doc
Скачиваний:
17
Добавлен:
30.04.2022
Размер:
11.67 Mб
Скачать

5.7.1. Геометрический метод минимизации булевой функции

Рассмотрим элементарную конъюнкцию ранга r (т.е. содержащую r пропозициональных переменных).

K(X ,...,Xr)=X ... Х ,

где =0,1 ; Х = , . Очевидно, что множество N , соответствующее конъюнкции К, есть (3-r)- мерная грань. Число r называется рангом этой грани.

Пример. Конъюнкциям

K ( )=

К ( )=

К ( )= ,

соответствуют грани, имеющие ранги 2, 2, и 1. Первые две грани являются одномерной гранью (ребром), а третья - двумерной гранью.

Отметим очевидные свойства введенного соответствия между булевой функцией f и подмножеством .

Если f( ) = g( )  h( ), то

1) , ;

2)Nf = Ng Nh.

В частности, если f( ) обладает ДНФ, т. е.

f( )= , то и , т.е. ДНФ функции f соответствует покрытие множества N гранями Nk , ., Nks

Пусть r, - ранг грани Nki (он равен рангу конъюнкции k ) Число r, определенное формулой

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

Приведем также определения сокращенной и тупиковой ДНФ с геометрической точки зрения.

Грань , содержащаяс в , называется максимальной относительно , если не существует грани , такой, что

1) ;

2) размерность грани больше размерности грани Nk .

Конъюнкция К, соответствующая максимальной грани , называется простой импликантой функции f.

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

Покрытие множества , состоящее из максимальных относительно

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

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

Теорема 5.7.1. Понятия тупиковой ДНФ и тупиковой ДНФ в геометрическом смысле эквивалентны.

Алгоритм минимизации функций, зависящих от трех переменных, состоит в следующих четырех шагах:

1. Нанести множество N , на трехмерный куб. Использовать или табличное задание функции, отметив вершины, в которых f( ) = 1, или СДНФ функции и тогда каждому слагаемому СДНФ поставить в соответствие вершину.

2. Если отмеченными окажутся все вершины куба, то данная функция тождественно истинна.

  1. . Если отмечены все вершины какой-либо грани, то для построения минимальной формы заменить все четыре вершины одной переменной - названием грани.

  2. . Если отменены вершины какого-либо ребра то в минимизированной форме им соответствует конъюнкция - название ребра.

Чтобы получить минимизированную форму, надо выбирать ребра, покрывающие вершины так, чтобы меньшим числом ребер покрыть все отмеченные вершины.

5. Если существует вершина, которая не образует ребро ни с какой другой вершиной, то в минимизированной форме ей соответствует конъюнкция - название вершины.

Пример. Минимизировать булеву функцию f(0,1,1)=f(1,0,0)=f(1,0,1)=0 геометрическим методом.

Так как функция задана перечислением наборов, на которых функция принимает значение 0, то на остальных она принимает эначение 1, т.е.

f(0,0,0)=f(0,0,1)=f(0,1,0)=f(1,1,0)= f(1,1,1)=1.

На рис. 5.2 изображено геометрическое представление данной булевой функции с указанием наборов и соответствующих им элементарных конъюнкций.

; ; ;

.

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

Замечание. При n=3 геометрический метод минимизации булевых функций аналогичен минимизации с помощью прямоугольной таблицы, называемой минимизирующей картой (картой Карно) [4].