Вопрос 23

СДНФ (Совершенная Дизъюнктивная Нормальная Форма) — это такая ДНФ, которая удовлетворяет трём условиям:

Метод Квайна — способ представления функции в ДНФ или КНФ с минимальным количеством членов и минимальным набором переменных.[1][2][3]
Преобразование функции можно разделить на два этапа:

Первый этап (получение сокращённой формы)

Представим, что заданная функция Описание: \mathbf{f}представлена в СДНФ. Для осуществления первого этапа преобразование проходит два действия:

  1. Операция склеивания;
  2. Операция поглощения.

Операция склеивания сводится к нахождению пар членов, соответствующих виду Описание: {w}\cdot{x}или Описание: {w}\cdot\overline{x}, и преобразованию их в следующие выражения: Описание: {w}\cdot{x}\lor{w}\cdot\overline{x}={w}\cdot({x}\lor\overline{x})={w}. Результаты склеивания w теперь играют роль дополнительных членов.
Потом выполняется операция поглощения. Она основана на равенстве Описание: {w}\lor{w}\cdot{z}={w}\cdot(1\lor{z})={w}(член Описание: \mathbf{w}поглощает выражение Описание: {w}\cdot{z}). Вследствие этого действия из логического выражения вычёркиваются все члены, поглощаемые другими переменными, результаты которых получены в операции склеивания.
Обе операции первого этапа могут выполняться до тех пор, пока это может быть осуществимо.
Применение этих операций продемонстрировано в таблице:


Описание: \mathbf{x_1}

         0         

         0         

         0         

          0         

         1         

         1         

         1         

         1         

Описание: \mathbf{x_2}

         0         

         0         

         1         

         1         

         0         

         0         

         1         

         1         

Описание: \mathbf{x_3}

         0         

         1         

         0         

         1         

         0         

         1         

         0         

         1         

Описание: \mathbf{f}({x_1},{x_2},{x_3})

         0         

         0         

         1         

         0         

         1         

         1         

         1         

         1         

СДНФ выглядит так:
Описание: \mathbf{f}({x_1},{x_2},{x_3})=\overline{x_1}\cdot{x_2}\cdot\overline{x_3}\lor{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\lor{x_1}\cdot\overline{x_2}\cdot{x_3}\lor{x_1}\cdot{x_2}\cdot\overline{x_3}\lor{x_1}\cdot{x_2}\cdot{x_3}
Результат операции склеивания нужен для преобразования функции на втором этапе (поглощения)

Членами результата склеивания являются
Член Описание: {x_2}\cdot\overline{x_3}поглощает те члены исходного выражения, которые содержат Описание: {x_2}\cdot\overline{x_3}, то есть первый и четвёртый. Эти члены вычёркиваются. Член Описание: {x_1}\cdot\overline{x_2}поглощает второй и третий, а член Описание: {x_1}\cdot{x_3} — пятый член исходного выражения.
Повторение обеих операций приводит к следующему выражению:
Здесь склеивается пара членов Описание: {x_1}\cdot\overline{x_2}и Описание: {x_1}\cdot{x_2}(склеивание пары членов Описание: {x_1}\cdot\overline{x_3}и Описание: {x_1}\cdot{x_3}приводит к тому же результату), результат склеивания Описание: \mathbf{x_1}поглощает 2-, 3-, 4-, 5-й члены выражения. Дальнейшее проведение операций склеивания и поглощения оказывается невозможным, сокращённая форма выражения заданной функции (в данном случае она совпадает с минимальной формой)
Описание: \mathbf{f}({x_1},{x_2},{x_3})={x_2}\cdot\overline{x_3}Описание: \lor{x_1}
Структурная схема функции

Члены сокращённой формы (в нашем случае это Описание: {x_2}\cdot\overline{x_3}и Описание: \mathbf{x_1}) называются простыми импликантами функции. В итоге, мы получили наиболее простое выражение, если сравнивать его с начальной версией — СДНФ. Структурная схема такого элемента показана на рисунке справа.

Второй этап(табличный) (получение минимальной формы)

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


Описание: \mathbf{x_1}

0   

0   

0   

0   

0   

0   

0   

0   

1   

1   

1   

1   

1   

1   

1   

1   

Описание: \mathbf{x_2}

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

Описание: \mathbf{x_3}

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

Описание: \mathbf{x_4}

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

Описание: \mathbf{f}({x_1},{x_2},{x_3},{x_4})

1

1

1

0

0

0

1

0

0

0

0

0

0

0

1

1

СДНФ, собранная по этой таблице выглядит следующим образом:
Описание: \mathbf{f}({x_1},{x_2},{x_3},{x_4})=\overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\cdot\overline{x_4}Описание: \veeОписание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\cdot{x_4}\vee\overline{x_1}\cdot\overline{x_2}\cdot{x_3}\cdot\overline{x_4}Описание: \veeОписание: \overline{x_1}\cdot{x_2}\cdot{x_3}\cdot\overline{x_4}Описание: \veeОписание: {x_1}\cdot{x_2}\cdot{x_3}\cdot\overline{x_4}Описание: \veeОписание: {x_1}\cdot{x_2}\cdot{x_3}\cdot{x_4}
Конечное выражение достигается за счёт повторного использования операций склеивания и поглощения:
Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}Описание: \veeОписание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_4}Описание: \veeОписание: \overline{x_1}\cdot{x_3}\cdot\overline{x_4}Описание: \veeОписание: {x_2}\cdot{x_3}\cdot\overline{x_4}Описание: \veeОписание: {x_1}\cdot{x_2}\cdot{x_3}
Члены этого выражения являются простыми импликантами выражения. Переход от сокращённой формы к минимальной осуществляется с помощью импликантной матрицы.
Члены СДНФ заданной функции вписываются в столбцы, а в строки — простые импликанты, то есть члены сокращённой формы. Отмечаются столбцы членов СДНФ, которые поглощаются отдельными простыми импликантами. В следующей таблице простая импликанта Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}поглощает члены Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\cdot\overline{x_4}и Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\cdot{x_4}(в первом и во втором столбцах поставлены крестики).

 

 

 

 

Импликантная матрица:


  Простая импликанта  

   Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\cdot\overline{x_4}   

   Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\cdot{x_4}   

   Описание: \overline{x_1}\cdot\overline{x_2}\cdot{x_3}\cdot\overline{x_4}   

   Описание: \overline{x_1}\cdot{x_2}\cdot{x_3}\cdot\overline{x_4}   

   Описание: {x_1}\cdot{x_2}\cdot{x_3}\cdot\overline{x_4}   

   Описание: {x_1}\cdot{x_2}\cdot{x_3}\cdot{x_4}   

      
Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}

 

Описание: \times

 

Описание: \times

      
Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_4}

 

Описание: \times

 

Описание: \times

      
Описание: \overline{x_1}\cdot{x_3}\cdot\overline{x_4}

 

Описание: \times

 

Описание: \times

      
Описание: {x_2}\cdot{x_3}\cdot\overline{x_4}

 

Описание: \times

 

Описание: \times

      
Описание: {x_1}\cdot{x_2}\cdot{x_3}

 

Описание: \times

 

Описание: \times

Вторая импликанта поглощает первый и третий члены СДНФ (указано крестиками) и т. д. Импликанты, не подлежащие исключению, образуют ядро. Такие импликанты определяются по вышеуказанной матрице. Для каждой из них имеется хотя бы один столбец, перекрываемый только этой импликантой.
В нашем примере ядро составляют импликанты Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}и Описание: {x_1}\cdot{x_2}\cdot{x_3}(ими перекрываются второй и шестой столбцы). Исключение из сокращённой формы одновременно всех импликант, не входящих в ядро, невозможно, так как исключение одной из импликант может превратить другую в уже нелишний член.
Для получения минимальной формы достаточно выбрать из импликантов, не входящих в ядро, такое минимальное их число с минимальным количеством букв в каждом из этих импликант, которое обеспечит перекрытие всех столбцов, не перекрытых членами ядра. В рассматриваемом примере необходимо импликантами, не входящими в ядро, перекрыть третий и четвёртый столбцы матрицы. Это может быть достигнуто различными способами, но так как необходимо выбирать минимальное число импликант, то, очевидно, для перекрытия этих столбцов следует выбрать имликанту Описание: \overline{x_1}\cdot{x_3}\cdot\overline{x_4}.
Минимальная дизъюнктивная нормальная форма (МДНФ) заданной функции:

Описание: \mathbf{f}({x_1},{x_2},{x_3},{x_4})=\overline{x_1}\cdot\overline{x_2}\cdot\overline{x_3}\vee{x_1}\cdot{x_2}\cdot{x_3}\vee\overline{x_1}\cdot{x_3}\cdot\overline{x_4}      (а)
Структурная схема, соответствующая этому выражению приведена на рисунке слева. Переход от сокращённой схемы к МДНФ был осуществлён путём исключения лишних членов — импликант Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_4}и Описание: {x_2}\cdot{x_3}\cdot\overline{x_4}. Покажем допустимость подобного исключения членов из логического выражения.
Импликанты Описание: \overline{x_1}\cdot\overline{x_2}\cdot\overline{x_4}и Описание: {x_2}\cdot{x_3}\cdot\overline{x_4}становятся равными лог. 1 соответственно при следующих наборах значений аргументов: Описание: \mathbf{x_1}= 0, Описание: \mathbf{x_2}= 0, Описание: \mathbf{x_4}= 0 и Описание: \mathbf{x_2}= 1, Описание: \mathbf{x_3}= 1, Описание: \mathbf{x_4}= 0.
Роль этих импликант в выражении сокращённой формы функции заключается лишь в том, чтобы на приведённых наборах значений аргументов присваивать функции Описание: \mathbf{f}({x_1},{x_2},{x_3},{x_4})значение 1. Однако при этих наборах функция равна 1 из-за остальных импликант выражения. Действительно, подставляя набор значений, указанных выше в формулу (а), получаем:

Описание: \mathbf{f}({0},{0},{x_3},{0})={1}\cdot{1}\cdot\overline{x_3}Описание: \veeОписание: {0}\cdot{0}\cdot{x_3}\vee{1}\cdot{x_3}\cdot{1}=\overline{x_3}Описание: \vee{x_3}=1;

Описание: \mathbf{f}({x_1},{1},{1},{0})=\overline{x_1}\cdot{0}\cdot{0}\vee{x_1}\cdot{1}\cdot{1}\vee\overline{x_1}\cdot{1}\cdot{1}={x_1}\vee\overline{x_1}={1};

Использование метода для получения минимальной КНФ

Для получения Минимальной Конъюнктивной Нормальной Формы (МКНФ), используя метод Куайна, вводятся следующие критерии:

Описание: {z}\cdot({z}\vee{y})={z}\vee{z}\cdot{y}={z}\cdot(1\vee{y})={z}


На Главную

Hosted by uCoz