Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
92
Добавлен:
16.04.2013
Размер:
339.46 Кб
Скачать

2.3. Двойственные функции

Определение. Функция, реализуемая формулой , называется двойственной к функции .

Функцию, двойственную к функции , обозначают , т.е. .

Пример 1.

а) Пусть . Тогда

.

б) Пусть . Тогда

.

в) Пусть . Тогда .

г) Пусть . Тогда .

д) Пусть . Тогда .

е) Пусть . Тогда .

Замечание. Рассмотрим таблицы истинности для произвольной функции двух переменных и двойственной к ней функции :

0

0

0

1

1

0

1

1

Нетрудно заметить, что столбец значений функции может быть получен из столбца значений функции , если действовать по такому алгоритму:

  1. каждое число, стоящее в столбце значений, заменить на противоположенное (0 на 1 и 1 на 0);

  2. получившийся в результате выполнения пункта 1 столбец переписать в обратном направлении (т.е. число, стоящее в первой строке, записать в последнюю строку; число, стоящее во второй строке - в предпоследнюю строку и т.д.).

Аналогичного алгоритма для получения двойственной функции можно придерживаться и в случае любого числа аргументов.

Утверждение. .

Доказательство.

. ■

Лемма. Если формула реализует функцию , то формула реализует функцию .

Доказательство.

. ■

Справедливо следующее утверждение, которое приведем без доказательства.

Теорема (принцип двойственности). Если формула реализует функцию , то формула, полученная из нее заменой символов функций на символы двойственных к ним функций , реализует функцию, двойственную к функции (эту формулу будем называть двойственной к и обозначать ).

Заметим, что доказательство этой теоремы основано на лемме и проводится индукцией по структуре формул.

Следствие. Поскольку , и , , , (пример 1), то для получения формулы, двойственной к формуле , нужно в формуле заменить 0 на 1, 1 на 0, связку на связку , связку на связку .

Пример 2. Пусть . Тогда

.

2.4. Разложение булевых функций по переменным

Введем обозначение: Следовательно, имеем:

0

0

1

0

1

0

1

0

0

1

1

1

Таким образом, верно: .

Теорема 1 (о разложении функций по переменным). Каждую булеву функцию при любом можно реализовать формулой:

. (1)

Доказательство. Возьмем произвольный набор значений переменных и найдем на этом наборе значение функции, реализуемой формулой (1):

.

(*):

.

Таким образом, имеем:

.

Следствия. 1. Разложение функции по одной переменной:

.

2. Разложение функции по всем переменным:

. (2)

Теорема 2 (о реализации функции в виде СДНФ). Если , то она может быть реализована формулой

. (3)

Формулу (3) называют совершенной дизъюнктивной нормальной формой или, сокращенно, СДНФ.

Доказательство.

. ■

Пример 1. а) ;

б) ;

в) ;

г) .

0

0

1

1

1

1

0

1

1

1

0

0

1

0

0

1

0

0

1

1

1

0

0

1

Теорема 3 (о реализации функции в виде СКНФ). Если , то она может быть реализована формулой

.

Формулу (4) называют совершенной конъюнктивной нормальной формой или, сокращенно, СКНФ.

Доказательство. Реализуем функцию , двойственную к , в виде СДНФ.

.

Следовательно,

. ■

Пример 2. а) ;

б) ;

в) ;

г) .

Утверждение. Каждая булева функция может быть реализована формулой над множеством .

Доказательство. Возможны два случая:

1. . Тогда и может быть реализована в виде СКНФ.

2. . Тогда может быть реализована в виде СДНФ. ■

18

Соседние файлы в папке Глава 2