Здавалка
Главная | Обратная связь

Двойственность. Принцип двойственности.



Функция называется двойственной к функции , если . Обозначается двойственная функция f*.

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

Для построения таблицы, задающей двойственную функцию из таблицы, задающей исходную функцию, необходимо выполнить следующие действия:

- столбец значений функции f инвертировать (0 заменяется на 1 и наоборот);

- затем этот столбец переписать в обратном направлении (снизу вверх).

Полученный столбец и есть значения функции f*.

Рассмотрим некоторые функции.

1. Константы. Т.к. 1 и 0 – функции 0-арные, т.е. не имеющие аргументов, то для них построение двойственной функции сводится к построению отрицания исходной функции:

1* = 0; 0* = 1.

2. f(x)=x. Построим двойственную ей функцию:

f*(x)=`f(`x) = = x = f(x), следовательно тождественная функция самодвойственна.

3. f(x)=`x. Построим двойственную ей функцию:

f*(x)=`f(`x) = = `x = f(x), следовательно функция отрицания самодвойственна.

Символы , Ú называются двойственными.

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

В случае, когда функция задана аналитически формулой, то для построения двойственной функции необходимо все входящие в формулу функции заменить на двойственные к ним. Если формула содержит только следующие функции {0, 1, Ù, Ú, ` }, то процесс построения двойственной функции сводиться к следующему:

· заменяется каждый 0 на 1;

· заменяется каждая 1 на 0;

· заменяется каждый знак Ù на знак Ú;

· заменяется каждый знак Ú на знак Ù;

· знаки отрицания при этом остаются без изменения.

Если функции равны, то двойственные им функции также равны, то есть если A º B, то A* º B*. Это позволяет с помощью принципа двойственности получать новые эквивалентные соотношения, переходя от равенства с помощью указанных замен к равенству .

Определим общее число самодвойственных функций от n переменных. Очевидно, что каждая такая функция получается определенным способом заполнения первой половины последнего столбца таблицы, задающей функцию. Всего в этом столбце 2n позиций. Произвольно заполняются половина, то есть позиций. Каждому такому заполнению соответствует одна самодвойственная функция. Следовательно всего самодвойственных функций от n переменных существует штук.

 

Нормальные формы.

Элементарной конъюнкцией называется конъюнкция (возможно одночленная), составленная из переменных или отрицаний переменных.

Пример 6.

x, y, x y, 1 x2 3 – элементарные конъюнкции.

xÚy, x1 2 Ú 1 x2 – не элементарные конъюнкции.

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

Пример 7.

x, x y, x Ú , 1 x2 3 Ú x1 2 x3 Ú x1 x2 3 – ДНФ.

(xÚy) – не ДНФ.

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

Пример 8.

x y, x Ú y – СДНФ функции двух переменных.

xÚ y, xÚy – не СДНФ.

Совершенная дизъюнктивная нормальная форма (СДНФ) для булевой функции , не равной тождественно нулю, имеет вид:

,

где символ определяется следующим образом:

Алгоритм построения СДНФ.

1. Построить таблицу истинности данной булевой функции.

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

3. Конъюнкции соединяются знаком .

Элементарной дизъюнкцией называется дизъюнкция (возможно одночленная), составленная из переменных или отрицаний переменных.

Пример 9.

x, y, xÚy, 1Úx2Ú( 3) – элементарные дизъюнкции.

x y, (x1Ú 2) ( 1Úx2) – не элементарные дизъюнкции.

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

Пример 10.

x, x y, x ( ), ( 1Úx2) ( 3) (x1Ú 2Úx3) – КНФ.

x y Ú – не КНФ.

Совершенной конъюнктивной нормальной формой (СКНФ) называется такая конъюнктивная нормальная форма, каждый дизъюнктивный член которой содержит все переменные, либо их отрицания.

Пример 11.

xÚy, (xÚ ) ( Úy) – СКНФ функции двух переменных.

x ( Úy), x y – не СКНФ.

Совершенная конъюнктивная нормальная форма (СКНФ) для функции , отличной от тождественной единицы, имеет вид:

.

Алгоритм построения СКНФ.

1. Построить таблицу истинности данной булевой функции.

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

3. Дизъюнкции соединяются знаком .

Теорема 2.Для каждой формулы булевой функции A имеется равносильная ей дизъюнктивная нормальная форма (ДНФ) и конъюнктивная нормальная форма (КНФ).

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

Алгоритм 1 (Алгоритм приведения формул булевых функций к ДНФ (КНФ)).

Шаг 1. Все подформулы A вида B ® C (т.е. содержащие импликацию) заменяем на ÚC или на ( ).

Шаг 2. Все подформулы A вида B « C (т.е. содержащие эквивалентность) заменяем на (A B) Ú ( ) или на ( ) ( ÚB) (в соответствии с равносильностью 13).

Шаг 3. Все отрицания, стоящие над сложными подформулами, опускаем по законам де Моргана (в соответствии с равносильностями 4, 16, 17).

Шаг 4. Устраняем все двойные отрицания над формулами (в соответствии с равносильностью 8).

Шаг 5. Осуществляем раскрытие всех скобок по закону дистрибутивности конъюнкции относительно дизъюнкции для ДНФ (в соответствии с равносильностями 3а и 17) или по закону дистрибутивности дизъюнкции относительно конъюнкции для КНФ (в соответствии с равносильностью 3б).

Шаг 6. для получения более простой формулы целесообразно использовать равносильности 5, 6, 7, 9, 10, 11.

Очевидно, что в результате всех указанных операций формула имеет вид ДНФ или КНФ. Указанные операции, вообще говоря, могут осуществляться в любом порядке, однако целесообразно придерживаться изложенного выше, за исключением снятия двойных отрицаний (шаг 4), от которых следует избавляться по мере их появления.

Пример 12.

Приведем к ДНФ и КНФ рассмотренную ранее в примере 4 формулу

f(x1, x2, x3) = ( ) « ( 1Úx2).

1. Устранив импликацию, получим:

( ) « ( 1Úx2).

2. Применив закон де Моргана к первой скобке и сняв двойные отрицания, получим:

(x2 x3) « ( 1Úx2).

3. Устранив эквивалентность, получим:

(x2 x3) ( 1Úx2) Ú ( ) ( ).

4. Применив закон де Моргана ко второму члену дизъюнкции, получим

(x2 x3) ( 1Úx2) Ú ( 2Ú 3) (x1 2).

5. Применив закон дистрибутивности 3а, получим

(x2 x3 1 Ú x2 x3 x2) Ú ( 2 x1 2 Ú 3 x1 2).

6. Применив законы идемпотентности 5а и 5б, и располагая переменные по возрастанию индексов, получим:

1 x2 x3 Ú x2 x3 Ú x1 2 Ú x1 2 3.

7. Применив 2–ой закон поглощения (6б), вместо 1 x2 x3x2 x3 запишем x2 x3, а вместо x1 2 Ú x1 2 3 запишем x1 2 и в результате получим ДНФ нашей формулы:

f(x1, x2, x3) º x2 x3 Ú x1 2

При приведении к КНФ применим закон дистрибутивности 3б и получим:

x2 x3 Ú x1 2 º ( x2Úx1) (x2Ú 2) (x3Úx1) (x3Ú 2).

Учитывая, что. x2Ú 2 º 1 (равносильность 11), и применив свойство 9а, получим окончательно КНФ для f(x1, x2, x3)

f(x1, x2, x3) º ( x1Úx2) (x1Úx3) ( 2Úx3).

Приведение некоторой формулы к ДНФ и КНФ не является однозначным. Количество равносильных ДНФ и КНФ, вообще говоря, бесконечно. Однако, совершенные дизъюнктивные и конъюнктивные нормальные формы (СДНФ и СКНФ) или не существуют или единственны.

Теорема 3.Каждая формула A, не равная тождественно нулю, может быть приведена к СДНФ, которая является единственной с точностью до перестановки дизъюнктивных членов.

Теорема 4.Каждая формула A, не равная тождественно единице, может быть приведена к СКНФ, которая является единственной с точностью до перестановки конъюнктивных членов.

Доказательство этих теорем состоит в указании алгоритма приведения формулы А к СДНФ и СКНФ.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.