Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка дискретных систем управления-2011.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
27.38 Mб
Скачать

1.4. Построение сокращенной днф с помощью кнф

Пусть f(x1, … , xn) есть некоторая функция алгебры логики. Построим для f некоторую КНФ. Осуществим далее следующие преобразования.

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

2. В полученном выражении удалим нулевые дизъюнктивные слагаемые.

3. В полученном выражении проведем все поглощения, а затем удалим дублирующие члены.

В результате проведенных операций получим сокращенную ДНФ функции f. Иногда такие преобразования называют методом Нельсона.

Пример 3. Построим сокращенную ДНФ этим способом для функции

f = (1111010010101111) из примера 1 :

Сокращенная ДНФ для функции

что, естественно, совпадает с результатом примера 1.

Пример 4. Построить сокращенную ДНФ по заданной КНФ

После раскрытия скобок имеем:

После второго этапа получаем сокращенную ДНФ:

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

Теорема. Всякая минимальная ДНФ некоторой функции является ее тупиковой ДНФ.

Доказательство. В МДНФ входят только простые импликанты, иначе некоторые множители в непростом имликанте можно удалить в противоречие с минимальностью исходной ДНФ. В МДНФ нет лишних импликант, иначе исходная ДНФ не является минимальной.

Вывод. Для получения МДНФ функции f необходимо построить все ТДНФ функции f и выбрать из них те, которые содержат минимальное число букв.

1.5.Построение всех тупиковых днф.

Пусть f(x1, …, xn) есть функция алгебры логики.

1. Построим СДНФ функции f, и пусть P1, P2, …,Pn есть ее коституенты единицы).

2. Построим сокращенную ДНФ функции, f и пусть K1, K2, …, Km – ее простые импликанты.

3. Построим матрицу покрытий простых импликант функции f ее конституентами единицы (табл. 3.4), полагая, что

+, если каждый множитель в Ki является множителем в Pj; (Pj есть aij= часть для Ki );

 в противном случае.

Таблица 3.4

1.5.1.1.1N

P1 P2Pj Pn

K1

K2

Ki

Km

a11 a12 … a1j …a1n

a21 a22 … a2j … a2n

ai1 ai2 … aij … ain

am1 am2… amj … amn

4. Для каждого столбца j ( 1  j n ) найдем множество Ej всех тех номеров I строк, для которых aij = 1. Пусть Составим выражение Назовем его решеточным выражением. Это выражение можно рассматривать как формулу, построенную в свободной дистрибутивной решетке с образующими 1, 2, …,m и с операциями & и  .

5. В выражении A раскроем скобки , приведя выражение A к равносильному выражению где перечислены все конъюнкции элементы которой взяты из скобок 1,2,…,n соответственно в выражении A.

6. В выражении B проведем все операции удаления дублирующих членов и все операции поглощения. В результате получим дизъюнкцию элементарных конъюнкций C.

Утверждение. Каждая элементарная конъюнкция i1&i2&…&ir в С дает ТДНФ для f . Все ТДНФ для функции f исчерпываются элементарными конъюнкциями в выражении С.

Пример 5. Сокращенная ДНФ для функции f = (1111010010101111) имеет вид

Для функции f построим все минимальные ДНФ.

  1. Строим матрицу покрытий (таблица 3.5).

Таблица 3.5

Конституенты единицы функции f

1.5.1.1.2N

ПИ

x xx x x x x x x x x

y y y y y y y y y y y

z z z z z z z z z z z

t t t t t t t t t t t

1

2

3

4

5

6

x y

xy

yt

xt

xz t

yz t

+ + + +

+ + + +

+ + + +

+ + + +

+ +

+ +

2. Строим решеточное выражение (по столбцам таблицы).

E = (23)(25)(23)2(56)(34)(34)(14)(16)(14)(1)= (23)(25)(56)(34)(14)(16)12 = (56)(34)(1)(2) = 1235124512361246.

3. Строим все тупиковые ДНФ функции f:

простые импликанты(ПИ) 1,2,3,5;

простые импликанты 1,2,4,5;

простые импликанты 1,2,3,6;

простые импликанты 1,2,4,6.

4. Все найденные ТДНФ являются минимальными ДНФ.