Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция № 12 2009 .doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
361 Кб
Скачать
☆

2 Минимизация логических функции методом Кваина

Метод Квайна относится к числу таких методов минимизации функций алгебры логики, которые позволяют представлять функ­ции в ДНФ или КНФ с минимальным числом членов и минималь­ным числом букв в членах. Этот метод содержит два этапа пре­образования выражения функции: на первом этапе осуществляет­ся переход от канонической формы (СДНФ или СКНФ) к так называемой сокращенной форме, на втором этапе — переход от сокращенной формы логического выражения к минимальной форме.

Первый этап (получение сокращенной формы). Пусть задан­ная функция F представлена в СДНФ.

Переход к сокращенной форме основан на последовательном применении двух операций: операции склеивания и операции по­глощения.

Д ля выполнения операции склеивания выявляются в выраже­нии пары членов вида w·x и w·x, различающихся лишь тем, что один из аргументов в одном из членов представлен без инверсии, в другом — с инверсией. Затем проводится склеивание таких пар членов: w·x\/w·x=w·(x\/x)=w, и результаты склеивания w вводятся в выражение функции в качестве дополнительных чле­нов.

Далее проводится операция поглощения. Она основана на ра­венстве w\/w·z = w·(1\/z)=w (член w поглощает член w·z). При проведении этой операции из логического выражения вычер­киваются все члены, поглощаемые членами, которые введены в результате проведения операции склеивания.

Операции склеивания и поглощения проводятся последова­тельно до тех пор, пока их выполнение оказывается возможным.

Покажем выполнение этих операций применительно к функ­ции, представленной выражением (1), записанной в СДНФ

F (x1, x2, x3) = x2 x1 x1 x3 x1 x2 x1 x2 x3.

Попарным сравнением членов (каждого из членов со всеми последующими) выявляем склеивающиеся пары членов:

первый и четвертый члены (результат склеивания x2 );

второй и третий члены (результат склеивания x1 );

второй и четвертый члены (результат склеивания x1 );

третий и пятый члены (результат склеивания x1 x3);

четвертый и пятый члены (результат склеивания x1 x2).

Результаты операции склеивания вводим в выражение функции (1) и проводим операцию поглощения ими членов исходного выражения:

F (x1, x2, x3) = x2 x1 x1 x3 x1 x2 x1 x2 x

x2 x1 x1 x1 x3 x1 x2.

Член x2 поглощает те члены исходного выражения кото­рые содержат x2 , т. е. первый и четвертый. Эти члены вычер­киваются. Член x1 поглощает второй и третий, а член x1 x3 — пятый член исходного выражения.

В результате выражение для функции F (x1, x2, x3) будет иметь вид

F (x1, x2, x3) = x2 x1 x1 x1 x3 x1 x2. (2)

Повторяем операции склеивания и поглощения:

Здесь склеивается лишь пара членов x1 и x1 x2 (склеивание пары членов x1 и x1 x3 приводит к тому же результату). Ре­зультат склеивания x1 поглощает второй, третий, четвертый и пя­тый члены выражения.

Дальнейшее проведение операций склеивания и поглощения оказывается невозможным, сокращенная форма выражения задан­ной функции (в данном примере она совпадает с минимальной формой)

F (x1, x2, x3) = x2 x1. (3)

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

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

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

Рассмотрим этот этап минимизации логиче­ского выражения на примере функции, записанной в СДНФ и представленной выражением (4)

F (x1, x2, x3, x4) = x4 x3 x2 x3

x1 x2 x3 x1 x2 x3 x4. (4)

Для получения сокращенной формы проводим операции скле­ивания и поглощения

F (x1, x2, x3, x4) = x4 x3 x2 x3

x1 x2 x3 x1 x2 x3 x4 x3 x2 x3

x1 x2 x3.

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

F (x1, x2, x3, x4) = x3 x2 x3 x1 x2 x3. (5)

Переход от сокращенной формы к ми­нимальной осуществляется с помощью импликантной матрицы, составленной для выражений (4) и (5) и приведенной в табл. 1.

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

Таблиц а 1

Простые

импликаты

Члены СДНФ

  

  x4

 x3

x2 x3

x1x2x3

x1x2x3x4

 

Х

Х

 

Х

Х

x3

Х

Х

x2 x3

Х

Х

x1 x2 x3

Х

Х

Отмечаются (например, крестиками) столбцы членов СДНФ, поглощаемых отдельными простыми импликантами.

Простая импликанта поглощает члены и x4, и в первом и во втором столбцах первой строки постав­лены крестики. Вторая простая импликанта поглощает первый и третий члены СДНФ, и поставлены крестики в первом и третьем столб­цах второй строки. В соответствии с изложенной методикой заполняются все строки и столбцы таблицы 1.

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

В рассматриваемом примере ядро составляют импликанты и x1 x2 x3 (только ими перекрываются второй и шестой столбцы матрицы). Исключение из сокращенной формы одновре­менно всех импликант, не входящих в ядро, невозможно, так как исключение одной из импликант может превратить другую уже в нелишний член.

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

F (x1, x2, x3, x4) = x1 x2 x3 x3 . (6)

При использовании метода Квайна для получения минимальной конъ­юнктивной нормальной формы (МКНФ) логической функции име­ются следующие особенности:

исходной для минимизации формой логического выражения за­данной функции является СКНФ;

п ары склеиваемых членов имеют вид w·x и w·x;

операция поглощения проводится в соответствии с выражени­ем

z (z\/y) =z\/z-y=z (1\/y) = z.

Рассмотрим применение метода Квайна на примере миними­зации функции, заданной СКНФ функции, представленной выражением (7).

F (x1, x2, x3) = (x1 x2 ) ( x1 x3)( x1 ) ( x2 ). (7)

Склеивающиеся пары членов:

первый и третий члены (результат склеивания x1 );

первый и четвертый члены (результат склеивания x2 )',

второй и третий члены (результат склеивания x1 ).

Проводя операции склеивания и поглощения, получаем

F (x1, x2, x3) = (x1 x2 ) ( x1 x3)( x1 ) ( x2 )

(x1 ) (x2 ) (x1 ).

В результате поглощения выражение (7) примет вид

F (x1, x2, x3) = (x1 ) (x2 ) (x1 ). (8)

Полученное выражение является сокращенной формой функ­ции. Для перехода к минимальной форме строим импликантную матрицу (табл. 2).

Простые

импликанты

Члены СКНФ

x1 x2

x1 x3

x1

x2

x1

Х

Х

x2

Х

Х

x1

Х

Х

Все столбцы матрицы перекрываются импликантами x2 и x1 . Следовательно, член x1 является лишним и минималь­ная конъюнктивная нормальная форма (МКНФ) заданной функ­ции имеет вид

F (x1, x2, x3) = (x2 ) (x1 ). (9)