ДНФ — различия между версиями
Haposiwe (обсуждение | вклад) (1) Изменены "..." на "\ldot" 2) Добавлена СДНФ для медианы от 5 аргументов) |
Haposiwe (обсуждение | вклад) (Добавлена таблица истинности для медианы от 5 аргументов) |
||
Строка 110: | Строка 110: | ||
Медиана 5 аргументов: | Медиана 5 аргументов: | ||
+ | |||
+ | {| class="wikitable" style="width:16cm" border=1 | ||
+ | |+ | ||
+ | |-align="center" bgcolor=#EEEEFF | ||
+ | |<tex> x_1 </tex>||<tex> x_2 </tex>||<tex> x_3 </tex>||<tex>x_4</tex>||<tex> x_5 </tex>||<tex> \langle x_1, x_2, x_3, x_4, x_5 \rangle </tex> || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 0 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 0 || 0 || 1 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 0 || 1 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 0 || 1 || 1 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 1 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 1 || 0 || 1 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 0 || 1 || 1 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 0 || 0 || 1 || 1 || 1 || 1 || <tex>(\neg {x_1} \land \neg {x_2} \land x_3 \land x_4 \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 1 || 0 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 1 || 0 || 0 || 1 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 1 || 0 || 1 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 0 || 1 || 0 || 1 || 1 || 1 || <tex>(\neg {x_1} \land x_2 \land \neg {x_3} \land x_4 \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 0 || 1 || 1 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 0 || 1 || 1 || 0 || 1 || 1 || <tex>(\neg {x_1} \land x_2 \land x_3 \land \neg {x_4} \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 0 || 1 || 1 || 1 || 0 || 1 || <tex>(\neg {x_1} \land x_2 \land x_3 \land x_4 \land \neg {x_5})</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 0 || 1 || 1 || 1 || 1 || 1 || <tex>(\neg {x_1} \land x_2 \land x_3 \land x_4 \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 1 || 0 || 0 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 1 || 0 || 0 || 0 || 1 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 1 || 0 || 0 || 1 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 0 || 0 || 1 || 1 || 1 || <tex>(x_1 \land \neg {x_2} \land \neg {x_3} \land x_4 \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 1 || 0 || 1 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 0 || 1 || 0 || 1 || 1 || <tex>(x_1 \land \neg {x_2} \land x_3 \land \neg {x_4} \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 0 || 1 || 1 || 0 || 1 || <tex>(x_1 \land \neg {x_2} \land x_3 \land x_4 \land \neg {x_5})</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 0 || 1 || 1 || 1 || 1 || <tex>(x_1 \land \neg {x_2} \land x_3 \land x_4 \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | | 1 || 1 || 0 || 0 || 0 || 0 || | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 0 || 0 || 1 || 1 || <tex>(x_1 \land x_2 \land \neg {x_3} \land \neg {x_4} \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 0 || 1 || 0 || 1 || <tex>(x_1 \land x_2 \land \neg {x_3} \land x_4 \land \neg {x_5})</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 0 || 1 || 1 || 1 || <tex>(x_1 \land x_2 \land \neg {x_3} \land x_4 \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 1 || 0 || 0 || 1 || <tex>(x_1 \land x_2 \land x_3 \land \neg {x_4} \land \neg {x_5})</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 1 || 0 || 1 || 1 || <tex>(x_1 \land x_2 \land x_3 \land \neg {x_4} \land x_5)</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 1 || 1 || 0 || 1 || <tex>(x_1 \land x_2 \land x_3 \land x_4 \land \neg {x_5})</tex> | ||
+ | |-align="center" bgcolor=#FFFFFF | ||
+ | ! 1 || 1 || 1 || 1 || 1 || 1 || <tex>(x_1 \land x_2 \land x_3 \land x_4 \land x_5)</tex> | ||
+ | |} | ||
<tex> \langle x_1, x_2, x_3, x_4, x_5 \rangle = (x_1 \land x_2 \land x_3 \land \overline{x_4} \land \overline{x_5}) \lor (x_1 \land x_2 \land \overline{x_3} \land x_4 \land \overline{x_5}) \lor \\ (x_1 \land \overline{x_2} \land x_3 \land x_4 \land \overline{x_5}) \lor (\overline{x_1} \land x_2 \land x_3 \land x_4 \land \overline{x_5}) \lor (x_1 \land x_2 \land x_3 \land x_4 \land \overline{x_5}) \lor \\ (x_1 \land x_2 \land \overline{x_3} \land \overline{x_4} \land x_5) \lor (x_1 \land \overline{x_2} \land x_3 \land \overline{x_4} \land x_5) \lor (\overline{x_1} \land x_2 \land x_3 \land \overline{x_4} \land x_5) \lor \\ (x_1 \land x_2 \land x_3 \land \overline{x_4} \land x_5) \lor (x_1 \land \overline{x_2} \land \overline{x_3} \land x_4 \land x_5) \lor (\overline{x_1} \land x_2 \land \overline{x_3} \land x_4 \land x_5) \lor (x_1 \land x_2 \land \overline{x_3} \land x_4 \land x_5) \lor (\overline{x_1} \land \overline{x_2} \land x_3 \land x_4 \land x_5) \lor (x_1 \land \overline{x_2} \land x_3 \land x_4 \land x_5) \lor (\overline{x_1} \land x_2 \land x_3 \land x_4 \land x_5) \lor (x_1 \land x_2 \land x_3 \land x_4 \land x_5) </tex>. | <tex> \langle x_1, x_2, x_3, x_4, x_5 \rangle = (x_1 \land x_2 \land x_3 \land \overline{x_4} \land \overline{x_5}) \lor (x_1 \land x_2 \land \overline{x_3} \land x_4 \land \overline{x_5}) \lor \\ (x_1 \land \overline{x_2} \land x_3 \land x_4 \land \overline{x_5}) \lor (\overline{x_1} \land x_2 \land x_3 \land x_4 \land \overline{x_5}) \lor (x_1 \land x_2 \land x_3 \land x_4 \land \overline{x_5}) \lor \\ (x_1 \land x_2 \land \overline{x_3} \land \overline{x_4} \land x_5) \lor (x_1 \land \overline{x_2} \land x_3 \land \overline{x_4} \land x_5) \lor (\overline{x_1} \land x_2 \land x_3 \land \overline{x_4} \land x_5) \lor \\ (x_1 \land x_2 \land x_3 \land \overline{x_4} \land x_5) \lor (x_1 \land \overline{x_2} \land \overline{x_3} \land x_4 \land x_5) \lor (\overline{x_1} \land x_2 \land \overline{x_3} \land x_4 \land x_5) \lor (x_1 \land x_2 \land \overline{x_3} \land x_4 \land x_5) \lor (\overline{x_1} \land \overline{x_2} \land x_3 \land x_4 \land x_5) \lor (x_1 \land \overline{x_2} \land x_3 \land x_4 \land x_5) \lor (\overline{x_1} \land x_2 \land x_3 \land x_4 \land x_5) \lor (x_1 \land x_2 \land x_3 \land x_4 \land x_5) </tex>. |
Версия 21:57, 23 декабря 2017
Содержание
ДНФ
Определение: |
Простой конъюнкцией (англ. inclusive conjunction) или конъюнктом (англ. conjunct) называется конъюнкция одной или нескольких переменных или их отрицаний, причём каждая переменная встречается не более одного раза. |
Простая конъюнкция
- полная, если в неё каждая переменная (или её отрицание) входит ровно раз;
- монотонная, если она не содержит отрицаний переменных.
Определение: |
Дизъюнктивная нормальная форма, ДНФ (англ. disjunctive normal form, DNF) — нормальная форма, в которой булева функция имеет вид дизъюнкции нескольких простых конъюнктов. |
Пример ДНФ:
.СДНФ
Определение: |
Совершенная дизъюнктивная нормальная форма, СДНФ (англ. perfect disjunctive normal form, PDNF) — ДНФ, удовлетворяющая условиям:
|
Пример СДНФ:
.
Теорема: |
Для любой булевой функции , не равной тождественному нулю, существует СДНФ, ее задающая. |
Доказательство: |
Для любой булевой функции выполняется следующее соотношение, называемое разложением Шеннона: . Данное соотношение легко проверить подстановкой возможных значений ( и ). Эта формула позволяет выносить за знак функции. Последовательно вынося , ,.., за знак , получаем следующую формулу:Так как применение данного соотношения к каждой из переменных увеличивает количество конъюнктов в два раза, то для функции от переменных мы имеем конъюнктов. Каждый из них соответствует значению функции на одном из возможных наборов значений переменных. Если на некотором наборе , то весь соответствующий конъюнкт также равен нулю и из представления данной функции его можно исключить. Если же , то в соответствующем конъюнкте само значение функции можно опустить. В результате для произвольной функции была построена СДНФ. |
Алгоритм построения СДНФ по таблице истинности
- В таблице истинности отмечаем те наборы переменных, на которых значение функции равно .
- Для каждого отмеченного набора записываем конъюнкцию всех переменных по следующему правилу: если значение некоторой переменной есть , то в конъюнкцию включаем саму переменную, иначе ее отрицание.
- Все полученные конъюнкции связываем операциями дизъюнкции.
Пример построения СДНФ для медианы
1. В таблице истинности отмечаем те наборы переменных, на которых значение функции равно
.0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
---|---|---|---|
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
2. Для каждого отмеченного набора записываем конъюнкцию всех переменных по следующему правилу: если значение некоторой переменной есть
, то в конъюнкцию включаем саму переменную, иначе ее отрицание.0 | 0 | 0 | 0 | |
0 | 0 | 1 | 0 | |
0 | 1 | 0 | 0 | |
0 | 1 | 1 | 1 | |
---|---|---|---|---|
1 | 0 | 0 | 0 | |
1 | 0 | 1 | 1 | |
1 | 1 | 0 | 1 | |
1 | 1 | 1 | 1 |
3. Все полученные конъюнкции связываем операциями дизъюнкции:
.
Примеры СДНФ для некоторых функций
Стрелка Пирса:
.Исключающее или:
.Медиана 5 аргументов:
0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 0 | 1 | 0 | |
0 | 0 | 0 | 1 | 0 | 0 | |
0 | 0 | 0 | 1 | 1 | 0 | |
0 | 0 | 1 | 0 | 0 | 0 | |
0 | 0 | 1 | 0 | 1 | 0 | |
0 | 0 | 1 | 1 | 0 | 0 | |
0 | 0 | 1 | 1 | 1 | 1 | |
---|---|---|---|---|---|---|
0 | 1 | 0 | 0 | 0 | 0 | |
0 | 1 | 0 | 0 | 1 | 0 | |
0 | 1 | 0 | 1 | 0 | 0 | |
0 | 1 | 0 | 1 | 1 | 1 | |
0 | 1 | 1 | 0 | 0 | 0 | |
0 | 1 | 1 | 0 | 1 | 1 | |
0 | 1 | 1 | 1 | 0 | 1 | |
0 | 1 | 1 | 1 | 1 | 1 | |
1 | 0 | 0 | 0 | 0 | 0 | |
1 | 0 | 0 | 0 | 1 | 0 | |
1 | 0 | 0 | 1 | 0 | 0 | |
1 | 0 | 0 | 1 | 1 | 1 | |
1 | 0 | 1 | 0 | 0 | 0 | |
1 | 0 | 1 | 0 | 1 | 1 | |
1 | 0 | 1 | 1 | 0 | 1 | |
1 | 0 | 1 | 1 | 1 | 1 | |
1 | 1 | 0 | 0 | 0 | 0 | |
1 | 1 | 0 | 0 | 1 | 1 | |
1 | 1 | 0 | 1 | 0 | 1 | |
1 | 1 | 0 | 1 | 1 | 1 | |
1 | 1 | 1 | 0 | 0 | 1 | |
1 | 1 | 1 | 0 | 1 | 1 | |
1 | 1 | 1 | 1 | 0 | 1 | |
1 | 1 | 1 | 1 | 1 | 1 |
.