ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.09.2025

Просмотров: 489

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Всякий импликант функции f есть часть функции f.

Теорема. Всякая функция реализуется дизъюнкцией всех своих простых импликант.

Определение. Сокращенная ДНФ функции f есть дизъюнкция всех простых импликант функции f.

Утверждение. Всякая функция f реализуется своей сокращенной ДНФ. Для всякой функции, не равной тождественно нулю, существует единственная сокращенная ДНФ.

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

Алгоритм Куайна построения сокращенной ДНФ

  1. Получить СДНФ функции.

  2. Провести все операции неполного склеивания.

  3. Провести все операции поглощения.

Пример.

Минимизировать функцию f=1111010010101111.

Решение.

  1. Строим таблицу значения для данной функции (табл.). Строим СДНФ функции. При этом слагаемые нумеруем и записываем в столбец (табл.).

Таблица

x1

x2

x3

x4

f(x1, x2, x3, х4)

0

0

0

0

0

1

1

0

0

0

1

1

2

0

0

1

0

1

3

0

0

1

1

1

4

0

1

0

0

0

5

0

1

0

1

1

6

0

1

1

0

0

7

0

1

1

1

0

8

1

0

0

0

1

9

1

0

0

1

0

10

1

0

1

0

1

11

1

0

1

1

0

12

1

1

0

0

1

13

1

1

0

1

1

14

1

1

1

0

1

15

1

1

1

1

1


СДНФ (1): № 0, 1, 2, 3, 5, 8, 10, 12, 13, 14, 15.

Таблица

№ слагаемого

слагаемое

1

2

3

4

5

6

7

8

9

10

11

  1. Проводим все операции неполного склеивания.

Первый этап склеивания (табл.):

Таблица

Слагаемые

Склеивание по

Результат

Новые слагаемые

1, 2

x4

1

1, 3

x3

2

1, 6

x1

3

2, 4

x3

4

2, 5

x2

5

3, 4

x4

6

3, 7

x1

7

5, 9

x1

8

6, 7

x3

9

6, 8

x2

10

7, 10

x2

11

8, 9

x4

12

8, 10

x3

13

9, 11

x3

14

10, 11

x4

15


В первом этапе склеивания участвовали все слагаемые СДНФ, значит, ни одно из исходных слагаемых не войдут в сокращенную ДНФ. После первого этапа склеивания (и возможных поглощений) получаем, что

Пронумеруем дизъюнктивные члены в полученной ДНФ в порядке их следования от 1 до 15 (табл.).

Второй этап склеивания:

Таблица 23

Слагаемые

Склеивание по

Результат

1, 6

x3

2, 4

x4

2, 9

x1

3, 7

x3

9, 13

x2

10, 11

x3

12, 15

x3

13, 14

x4

В процедуре склеивания на втором этапе не принимали участие слагаемые № 5, 8 с предыдущего шага, поэтому после второго этапа склеивания и последующих поглощений получаем, что


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

Построение сокращенной ДНФ в классе дизъюнктивных нормальных форм

Этот метод не отличается большой эффективностью, но он прост для изложения и не требует введения дополнительных понятий.

Пусть булева функция задана таблицей истинности или СДНФ.

Минимизирующая карта булевой функции представляет собой квадратную матрицу 2n2n, где n – число переменных. Первые столбцы отводят для аргументов, дальнейшие – для их всевозможных конъюнкций по 2, по 3 и т. д. сомножителей, предпоследний - для конъюнкции всех аргументов, последний – для значений функции.

Шаг 1. Столбцы для аргументов, как обычно в таблицах истинности, заполняются всевозможными наборами 0 и 1. В столбцах для конъюнкций проставляются десятичные значения двоичных чисел, соответствующих наборам значений аргументов. Последний столбец заполняется соответственно значению функции.

Далее работа чередуется по строкам, по столбцам.

Шаг 2. Вычеркиваются строки, в которых функция обращается в нуль.

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

Шаг 4. В сохранившихся строках выбирают «значения» наименьших по числу множителей конъюнкций (включая и конъюнкции с одним множителем – переменные) и обводят их кружочками.

Шаг 5. Если в одном столбце обведено несколько одинаковых чисел, то вычеркивают все, кроме одного.

Шаг 6. С помощью оставшихся обведенных чисел образуют конъюнкции. Для этого переводят каждое число в двоичную систему. Переменную, которой соответствует 1, берут сомножителем без отрицания, которой соответствует 0 – с отрицанием.

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

Пример 36.

Построить сокращенную ДНФ для функции f=11100101.

Решение.


1.Строим минимизационную карту (табл. 24):

Таблица 24

x1

x2

x3

x1x2

x1x3

x2x3

x1x2x3

f(x1, x2, x3)

0

0

0

0

0

0

0

0

1

1

0

0

1

0

1

1

1

1

2

0

1

0

1

0

2

2

1

3

0

1

1

1

1

3

3

0

4

1

0

0

2

2

0

4

0

5

1

0

1

2

3

1

5

1

6

1

1

0

3

2

2

6

0

7

1

1

1

3

3

3

7

1