Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискретка_1.DOC
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
6 Мб
Скачать
☆

Утворення мінімальних кон’юктивних нормальних форм

Щоб знайти вираз заданої перемикальної функції, найзручніший для синтезу автомата, потрібно мати мінімальні КНФ і вибрати із них ту, реалізація якої найпростіша.

Алгоритм утворення мінімальної кнф

  1. Перемикальну функцію подають у ДКНФ, тобто у вигляді добутку конституент нуля:

    • якщо функцію задано таблицею, то її записують „за нулями” ДКНФ;

    • якщо функцію задано довільною формою, то застосовують формулу розгортання: x = (x + y)(x + ), (x + y) = (x + y + z)(x + y + ). Виконують спочатку всі операції неповного склеювання, а потім операції поглинання, які визначаються виразами (x + y)(x + ) = x (x + )(x + y) та x(x + y) = x відповідно.

  2. Знаходять мінімальні КНФ, використовуючи імплікантні матриці, тобто таблиці, у верхній рядок яких записують конституенти нуля, що входять у ДКНФ, а в ліву частину – члени, що входять у скорочену КНФ. Клітинки імплікантної матриці на перетині колонки з конституентою нуля і рядка з членом, який її поглинає, позначають хрестиком. Мінімальні КНф записують у вигляді добутків, що містять найменшу кількість членів, які перекривають хрестиком всі колонки імплікантної матриці.

Приклад. Знайти мінімальну КНФ функції

f(a, b, c) = (a + )( + + c)(b + c)( + + )

1 2 3 4

  1. Утворимо ДКНФ, для чого застосуємо операцію розгортання до членів 1 і 3:

(a + ) = (a + b + )(a + + );

(b + c) = (a + b + c)( + b + c).

Тоді

f(a, b, c) = (a + b + )(a + + )( + + c)(a + b + c)( + b + c)( + + )

1 2 3 4 5 6

  1. Виконаємо всі операції склеювання та поглинання:

1 – 2 = a + (по b); 1 – 4 = a + b (по c); 2 – 6 = + (по a);

3 – 2 = + c (по b); 3 – 6 = + (по c); 4 – 5 = b + c (по a).

Одержані члени (n = 2) між собою не склеюються, тому скорочена КНФ має вигляд

f(a, b, c) = (a + )(a + b)( + )( + c)( + )(b + c).

  1. Будуємо імплікантну матрицю:

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

Конституенти нуля

a+b+

a+ +

+ +c

a+b+c

+b+c

+ +

1

2

3

4

5

6

a +

a + b

+

+ c

+

b + c

Маємо дві мінімальні КНФ:

f(a, b, c) = (a + )( + )(b + c).

f(a, b, c) = (a + b)( + )( + c).