Этапы минимизации ДНФ

В силу теоремы 6 получение минимальной ДНФ мож­но разбить на два этапа

1. Нахождение сокращенной ДНФ.

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

Рассмотрим первый этап получения минимальной ДНФ. Ме­тод получения сокращённой ДНФ функции f(x1,..., xn) из ее совер­шенной ДНФ состоит в применении следующих эквивалентных преобразо­ваний:

а) операции полного склеивания, которая состоит в замене выражения А х Ú А`х на А, так как

А х Ú А`х º А (х Ú`х) º A • 1 º A;

б) операции неполного склеивания, которая состоит в замене А х Ú А`х на А х Ú А`х Ú А, так как

А х Ú А`х Ú А º А (х Ú`х) Ú А º А 1Ú A = A;

в) операции поглощения, которая состоит в замене АВ Ú А на А, так как

АВ Ú А º А (В Ú 1) º А.

Здесь А и В – произвольные элементарные конъ­юнк­ции.

Теорема 7 (без доказательства). Сокращённую ДНФ функ­ции f(x1,..., xn) можно получить из ее совершенной ДНФ, применяя все возможные операции неполного склеивания, а затем операции поглощения.

Пример 1. Построить сокращённую ДНФ функции
f(x1, x2) = x1 ® х2 из ее СДНФ:

f(x1, x2) =`х12 Ú`х1 х2 Ú х1х2 =`х12 Ú`х1х2 Ú`х1 Ú х1х2 =

=`х12 Ú`х1х2 Ú`х1 Ú х1х2 Ú х2 = `х1 Ú х2.

Теперь перейдем ко второму этапу получения минимальной ДНФ.

Пусть дана сокращённая ДНФ функции f(x1,..., xn):

N = U1 Ú U2 Ú … Ú Uk. Простой импликант называется ядерным (входящим в ядро функции f(x1,..., xn)), если

≢ 1.

Эта запись означает, что простой импликант Ui является ядер­ным импликантом функции f(x1,..., xn), если существует набор a = (a1,..., an), на котором импликант Ui обращается в 1, а все ос­тальные импликанты сокращённой ДНФ – в ноль.

Пример 2. Найти ядерные импликанты функции
f(x1,..., xn), заданной своей сокращённой ДНФ:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3.

Простой импликант х24 является ядерным, так как на наборе (0,0,0,0) `х24 = 1, а дизъюнкция оставшихся импликантов:

х14 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3 = 0.

Простой импликант х14 – неядерный, так как он равен еди­нице на наборах {1,0,0,0}, {1,0,1,0}, {1,1,0,0}, {1,1,1,0}, но на этих же наборах:

24 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3 =1,

следовательно

х14 ®`х24 Ú х1 х2 Ú х2 х3 х4 Ú`х1 х3 х4 Ú`х12 х3 º 1.

Простой импликант х1 х2 – ядерный, т.к. на {1,1,0,1}:
х1 х2 = 1, а`х24 Ú х14 Ú х2 х3 х4 Ú`х1 х3 х4 Ú `х12 х3 = 0.

Простой импликант х2 х3 х4 – неядерный, так как на наборах {0,1,1,1}, {1,1,1,1}:

24 Ú х14 Ú х1 х2 Ú`х1 х3 х4 Ú`х12 х3 = 1.

Простой импликант `х1 х3 х4 – неядерный, так как на наборах {0,0,1,1}, {0,1,1,1}:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú`х12 х3 = 1.

Простой импликант `х12 х3 – неядерный, так как на наборах {0,0,1,0}, {0,0,1,1}:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú `х1 х3 х4 = 1.

Теорема 8 (без доказательства). Простой импликант Ui входит во все тупиковые ДНФ тогда и только тогда, когда Ui входит в ядро функции f(x1,..., xn), то есть тогда и только тогда, когда он явля­ется ядерным.

Следствие. Пусть ядро f(x1,..., xn) состоит из импли­кантов Ul1,...,Ulm тогда импликант Ul, для которого выпол­нено соотношение: º 1.

То есть, импликант Ul обращается в единицу на тех же набо­рах, что и дизъ­юнкция ядерных импликантов: не входит ни в одну из тупиковых ДНФ функции f(x1,..., xn).

Возвращаясь к примеру 2, отметим, что:

Импликант х14 удов­летворяет следствию из теоремы 8:

х14 ®`х24 Ú х1 х2 º 1

и по­этому не входит ни в одну тупиковую форму.

Импликант х2 х3 х4, для которого

х2 х3 х4 ®`х24 Ú х1 х2 ≢ 1 не удовлетворяет следствию.

Импликант`х1х3х4, для которого`

1 х3 х4®`х24 Ú х1 х2 ≢ 1, не удовлетворяет следствию.

Импликант`х12х3, для которого

12 х3®`х24 Ú х1 х2 ≢ 1, не удовлетворяет следствию.

Таким образом, последовательность действий при выполнении второго этапа состоит в следующем:

1) для каждого простого импликанта сокращённой ДНФ про­верить, входит он в ядро или нет. Отметить неядерные импликанты;

2) проверить для отмеченных импликантов выполне­ние следствия из теоремы 8. Простые импликанты, для которых выпол­нено следствие, удалить из сокращённой ДНФ;

3) проверить возможность удаления оставшихся отмечен­ных конъюнкций. Из полученных тупиковых ДНФ выбрать минималь­ную ДНФ.

Рассмотрим эту последовательность действий на примере 2.

1) нашли ядро функции f(х1, х2, х3, х4), состоящее из простых импликантов `х24 и х1 х2. Отметим курсивом в сокращённой ДНФ неядерные импликанты:

24 Ú х14 Ú х1 х2 Ú х2 х3 х4 Ú` х1 х3 х4 Ú` х12 х3;

2) среди помеченных импликантов нашли удовлет­воряющий следствию из теоремы 8. Это импликант х14. Удалим его из со­кращённой ДНФ:

24 Ú х1 х2 Ú х2 х3 х4 Ú` х1 х3 х4 Ú` х12 х3;

3) для получения тупиковых ДНФ удаляем подмно­жества от­меченных импликантов. Можно удалить следующие подмножества:

2 х3 х4,`х1 х3 х4,`х12 х3}I, { х2 х3 х4,`х1 х3 х4}II, { х2 х3 х4, `х12 х3}III, {`х1 х3 х4,`х12 х3}IV, {x2 x3 x4 }V, {`х1 х3 х4}VI, {`х12 х3} VII.

При каждом удалении нужно проверять, представляет ли оставшаяся ДНФ функцию f(х1, х2, х3, х4).

Если удалить подмножество I, то получим ДНФ, не представ­ляющую функцию f(х1, х2, х3, х4), так как на наборе {0,1,1,1} функ­ция:

f (х1, х2, х3, х4) = 1, а `х24 Ú х1х2 = 0.

Если удалить подмножество II, то получим ДНФ, не представ­ляющую функцию f(х1, х2, х3, х4), так как на наборе {0,1,1,1} функ­ция

f(х1, х2, х3, х4) = 1, а `х24 Ú х1 х2 Ú `х12 х3 = 0.

Если удалить подмножество III, получим минимальную ДНФ функции f(x1, x2, х3, х4):

24 Ú х1 х2 Ú`х1 х3 х4 – минимальная ДНФ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: