Минимизация логических функции методом Квайна
Метод Квайна относится к числу таких методов минимизации функций алгебры логики, которые позволяют представлять функции в ДНФ или КНФ с минимальным числом членов и минимальным числом букв в членах. Этот метод содержит два этапа преобразования выражения функции: на первом этапе осуществляется переход от канонической формы (СДНФ или СКНФ) к так называемой сокращенной форме, на втором этапе — переход от сокращенной формы логического выражения к минимальной форме. Первый этап (получение сокращенной формы). Пусть заданная функция 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. (2.8)
Попарным сравнением членов (каждого из членов со всеми последующими) выявляем склеивающиеся пары членов: первый и четвертый члены (результат склеивания x2× ); второй и третий члены (результат склеивания x1× ); второй и четвертый члены (результат склеивания x1× ); третий и пятый члены (результат склеивания x1 × x3); четвертый и пятый члены (результат склеивания x1× x2). Результаты операции склеивания вводим в выражение функции (2.8) и проводим операцию поглощения ими членов исходного выражения (2.7)
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.9)
Повторяем операции склеивания и поглощения. В выражении (2.9) склеивается лишь пара членов x1× и x1× x2 (склеивание пары членов x1× и x1 × x3 приводит к тому же результату). Результат склеивания x1 поглощает второй, третий, четвертый и пятый члены выражения. Дальнейшее проведение операций склеивания и поглощения оказывается невозможным, сокращенная форма выражения заданной функции (в данном примере она совпадает с минимальной формой)
F (x1, x2, x3) = x2× Ú x1. (2.10)
В результате операций склеивания и поглощения получено выражение существенно более простое по сравнению с СДНФ функции (2.8). Второй этап (получение минимальной формы). Сокращенная форма может содержать лишние члены, исключение которых из выражения функции не повлияет на значение функции. Таким образом, дальнейшее упрощение логического выражения достигается исключением из выражения лишних членов. В этом и заключается содержание второго этапа минимизации. Рассмотрим этот этап минимизации логического выражения на примере функции, записанной в СДНФ и представленной выражением (2.11) F (x1, x2, x3, x4) = × × × Ú × × × x4 Ú × × x3 × Ú × x2 х х x3× Ú x1× x2× x3× Ú x1× x2× x3× x4. (2.11) Для получения сокращенной формы проводим операции склеивания и поглощения
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. (2.12)
Переход от сокращенной формы к минимальной осуществляется с помощью импликантной матрицы, составленной для выражений (2.11) и (2.12) иприведенной в табл. 49. Таблица 49
В столбцы импликантной матрицы вписываются члены СДНФ заданной функции, в строки — простые импликанты функции, т. е. члены сокращенной формы логического выражения функции. Отмечаются (например, крестиками) столбцы членов СДНФ, поглощаемых отдельными простыми импликантами. Простая импликанта × × поглощает члены × × × и × × × x4, и в первом и во втором столбцах первой строки поставлены крестики. Вторая простая импликанта поглощает первый и третий члены СДНФ, и поставлены крестики в первом и третьем столбцах второй строки. В соответствии с изложенной методикой заполняются все строки и столбцы табл.49. Простые импликанты, которые не могут быть исключены из сокращенной формы, составляют ядро. Входящие в ядро импликанты легко определяются по импликантной матрице. Для каждой из них имеется хотя бы один столбец, перекрываемый только данной импликантой. В рассматриваемом примере ядро составляют импликанты × × и x1× x2× x3 (только ими перекрываются второй и шестой столбцы матрицы). Исключение из сокращенной формы одновременно всех импликант, не входящих в ядро, невозможно, так как исключение одной из импликант может превратить другую уже в нелишний член. Для получения минимальной формы достаточно выбрать из импликант, не входящих в ядро, такое минимальное их число с минимальным количеством букв в каждой из этих импликант, которое обеспечит перекрытие всех столбцов импликантной матрицы, не перекрытых членами ядра. В рассматриваемом примере необходимо импликантами, не входящими в ядро, перекрыть третий и четвертый столбцы матрицы. Это может быть достигнуто различными способами, но так как необходимо выбирать минимальное число импликант, то, очевидно, для перекрытия этих столбцов следует выбрать импликанту × x3 × . Минимальная дизъюнктивная нормальная форма (МДНФ) заданной функции представлена выражением (2.13)
F (x1, x2, x3, x4) = × × Ú x1× x2× x3Ú × x3 × . (2.13)
При использовании метода Квайна для получения минимальной конъюнктивной нормальной формы (МКНФ) логической функции имеются следующие особенности: исходной для минимизации формой логического выражения заданной функции является СКНФ; пары склеиваемых членов имеют вид w·x и w·x; операция поглощения проводится в соответствии с выражением z × (z\/y) =z\/z-y=z× (1\/y) = z. В дальнейшем получение МКНФ осуществляется в соответствии с методикой, рассмотренной выше.
|