Второй метод получения минимальных КНФ

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

1. Записывают дизъюнкцию всех конституент единицы, которые не входят в СДНФ заданной функции.

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

2. Находят минимальные ДНФ по рассмотренным алгоритмам.

3. От полученных минимальных форм берут отрицания, и после пре­об­ра­зований по формулам де Моргана получают конъюнктивные формы, которые будут минимальными.

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

1. Дизъюнкция всех конституент единицы, не входящих в совершенную дизъюнктивную нормальную форму данной функции f(x1, x2, …, xn), является отрицанием данной функции Второй метод получения минимальных КНФ - student2.ru .

2. Преобразования по формулам де Моргана минимальной дизъ­юнк­тивной нормальной формы функции Второй метод получения минимальных КНФ - student2.ru приводят к получению минимальной конъюнктивной нормальной формы функции f(x1, x2, …, xn).

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

Второй метод получения минимальных КНФ - student2.ru ,

Второй метод получения минимальных КНФ - student2.ru .

В общем виде

Второй метод получения минимальных КНФ - student2.ru , (2.5)

где n – число аргументов.

Рассмотрим некоторую ПФ, заданную в СДНФ:

Второй метод получения минимальных КНФ - student2.ru , (2.6)

где m – число наборов, на которых ПФ равна единице.

Обозначим конституенты единицы, не входящие в последнее выра­же­ние, через Второй метод получения минимальных КНФ - student2.ru , где p = 2n – m – число наборов, на которых функция равна нулю. Тогда на основании соотношения (2.5)

Второй метод получения минимальных КНФ - student2.ru Второй метод получения минимальных КНФ - student2.ru .

Учитывая (2.6), получим

Второй метод получения минимальных КНФ - student2.ru .

Сравнивая последнее соотношение с тождеством х1Ú Второй метод получения минимальных КНФ - student2.ru = 1, которое можно записать в форме

Второй метод получения минимальных КНФ - student2.ru ,

получим

Второй метод получения минимальных КНФ - student2.ru Второй метод получения минимальных КНФ - student2.ru ,

что и требовалось доказать.

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

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

Пример 2.9. Найти минимальную конъюнктивную форму ПФ, заданной таблицей истинности (табл. 2.4).

Таблица 2.4.

Таблица истинности

Номер набора
x1
x2
x3
f(x1, x2, x3)

1. Запишем дизъюнкцию кон­ституент единицы, соответ­ствующих набо­рам, на ко­торых функция равна нулю:

Второй метод получения минимальных КНФ - student2.ru .

2. Выполним операции неполного склеивания и поглощения, после чего получим сокра­щен­ную ДНФ функции Второй метод получения минимальных КНФ - student2.ru :

Второй метод получения минимальных КНФ - student2.ru .

3. Испытывая импликанты, обнаружим, что вторую импликанту можно исключить (при x2 = 1, x3 = 0, выражение Второй метод получения минимальных КНФ - student2.ru º 1), т.е. минимальная ДНФ функции Второй метод получения минимальных КНФ - student2.ru имеет вид

Второй метод получения минимальных КНФ - student2.ru .

Использовав формулу де Моргана, получим минимальную КНФ заданной функции:

Второй метод получения минимальных КНФ - student2.ru .

Пример 2.10. Найти минимальную конъюнктивную нормальную форму функции

Второй метод получения минимальных КНФ - student2.ru .

1. Находим СДНФ:

Второй метод получения минимальных КНФ - student2.ru .

2. Записав дизъюнкцию конституент единицы, не вошедших в преды­ду­щее выражение, получим СДНФ функции Второй метод получения минимальных КНФ - student2.ru :

Второй метод получения минимальных КНФ - student2.ru .

3. Сокращенная ДНФ имеет вид

Второй метод получения минимальных КНФ - student2.ru .

4. Находим минимальные формы функции Второй метод получения минимальных КНФ - student2.ru , построив импликантную матрицу (табл.2.5).

Таблица 2.5

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

Импли- канта Конституента
x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3 x1x2 x3
x1 x3 * *      
x1 x2   * *    
x2 x3     *   *
x1 x3       * *

1) Второй метод получения минимальных КНФ - student2.ru .

2) Второй метод получения минимальных КНФ - student2.ru

Воспользовавшись формулой де Моргана, получим две мини­маль­ные КНФ:

f(x1, x2, x3) = (x1Ú x3)( x2Ú x3)( x1Ú x3).

f(x1, x2, x3) = (x1Ú x3)( x1Ú x2)( x1Ú x3).

Наши рекомендации