logo
кр одмита

Методические указания

Логическая функция называется импликантой функции, если на любом наборе значение переменных, на котором значение функции g равно 1 (единице), значение функции f тоже равно единице. Простой импликантой р функции f называется элементарная конъюнкция, являющаяся импликантой функции f и такая, что никакая её собственная часть не является импликантой. Дизъюнкция любого множества импликант булевой функции является импликантой этой функции.

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

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

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

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

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

Этап 1. Сокращенная ДНФ – форма представления функции, которая получается из ДНФ путем склеивания вначале конституент единицы между собой (склеиваются «соседние» по той или иной переменной) по всем переменным, а затем конъюнкции ранга n-1, n-2 и т.д. Простая импликанта есть элементарная конъюнкция, которая не склеивается ни с какой другой конъюнкцией, входящей в данную логическую функцию.

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

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

Этап 2. Отыскивается система тупиковых ДНФ. Выбор из них минимальных ДНФ можно реализовать методом Петрика. В соответствии с этим методом строим импликантную матрицу - булеву матрицу, строки которой соответствуют импликантам тупиковых ДНФ, а столбцы – конституентам единиц СДНФ. Элемент матрицы равен 1, если простые импликанты являются составной частью соответствующей конституенты единицы. Затем отыскивают кратчайшее строчное покрытие этой матрицы. Тупиковая ДНФ с наименьшей суммой рангов составляющих её простых импликант и является минимальной ДНФ.

Решение

Знаком (*) отметим конъюнкции, которые склеиваются в процессе решения (рис. 4).

0

0000*

000-

1

0001*

-001

2

1100*

1001*

11-0*

110-*

1-01

11--

3

1110*

1101*

111-*

11-1*

4

1111*


Рис. 4

Строим импликантную матрицу. Она дополнена строкой, содержащей дизъюнкцию тех простых импликант, которые соответствуют строкам, покрывающим тот или иной столбец матрицы (табл. 6).

Таблица 6

 

 

0000

0001

1100

1001

1110

1101

1111

p1

000-

1

1

 

 

 

 

p2

-001

 

1

 

1

 

 

р3

1-01

 

 

 

1

 

1

р4

11--

1

1

1

1

vpi

 

p1

p1 v p2

p4

p2 v p3

р4

p3 v p4

р4


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

p1p4(p1 v p2)(p2 v p3)(p3 v p4) = p1p4(p2 v p1p3)(p3 v p4) = p1p4(p2p3 v p1p3 v p2p4 v v p1p3p4) = p1p4(p2p3 v p1p3 v p2p4) = p1p2p3p4 v p1p3p4 v p1p2p4

Как видно из последней формулы, исходная функция имеет три тупиковых ДНФ. Минимальная ДНФ соответствует слагаемым p1p3p4 и p1p2p4 и представляет собой дизъюнкцию импликант, входящих в эти слагаемые. Таким образом, первая минимальная ДНФ имеет следующее характеристическое множество {000-, 1-01, 11--}, т.е. имеет вид , а вторая минимальная ДНФ – множество {000-, -001, 11--} и вид .