Лекция дискрет 13
.pdfw |
x |
y |
z |
|
f(w,x,y,z) |
|
f (w, x , y, z) = |
|
|
|
|
|
|
|
= ( w & x & y & z) |
0 |
1 |
0 |
1 |
|
1 |
|
|
0 |
1 |
1 |
0 |
|
1 |
|
( w & x & y & z) |
0 |
1 |
1 |
1 |
|
1 |
|
( w & x & y & z) |
1 |
0 |
0 |
1 |
|
1 |
|
(w & x & y & z) |
1 |
0 |
1 |
0 |
|
1 |
|
(w & x & y & z) |
|
|
|
|
|
|
|
(w & x & y & z) |
1 |
0 |
1 |
1 |
|
1 |
|
|
1 |
1 |
0 |
1 |
|
1 |
|
(w & x & y & z) |
|
|
|
|
|
|
|
(w & x & y & z) |
1 |
1 |
1 |
0 |
|
1 |
|
|
1 |
1 |
1 |
1 |
|
1 |
|
(w & x & y & z) |
|
|
|
|
|
|
|
|
Приведение к СДНФ функции, представленной формулой 1) Приводим к булевскому виду:
(A)
(F)
f(x,y,z) = (((¬x y) ¬z) y) & ¬x =
= ((((¬x y)&(x ¬y)) ¬z) y) & ¬x =
(3.2.8)
=(¬((¬x y)&(x ¬y)) ¬z y) & ¬x =
2)С помощью (3.2.6) и (3.2.8) отрицания – до переменных:
(3.2.8) (3.2.8)
= (¬ (¬x y) ¬(x ¬y) ¬z y) & ¬x =
(3.2.6) (3.2.6)
= ((¬ ¬x&¬y) (¬x&¬¬y) ¬z y) & ¬x =
3) Раскрытие скобок:
= ((x&¬y&¬x) (¬x&y&¬x) (¬z&¬x) (y&¬x) = (¬x&y) (¬z&¬x) (y&¬x)= (¬x & y) (¬x & ¬z) =
4) Полученная ДНФ «расщеплением» - (3.3.1а) и (3.3.2) в обратную сторону - приводится к СДНФ:
(¬x&y) (¬x&¬z) =
=(¬x&y&z) (¬x&y&¬z) (¬x&y&¬z) (¬x&¬y&¬z) =
=(¬x&y&z) (¬x&y&¬z) (¬x&¬y&¬z)
Th.3.3.1 Для любых двух эквивалентных формул F1 и F2 существует эквивалентное преобразование F1 в F2, при этом достаточно использовать соотношения (3.2.1) – (3.2.10)
Доказательство Th.3.3.1
1)Преобразуем F1 и F2 в СДНФ. Так как F1 F2, их СДНФ совпадают как СДНФ одной и той же функции.
2)Проведя преобразование F2 к СДНФ в обратную сторону,
получаем цепочку F1 СДНФ F2, в которой использованы только исходные соотношения (3.2.1) – (3.2.10) и полученные из них «полезные соотношения» (3.3.1) – (3.3.5).
Доказано Th.3.3.1
f (x1, x2, … , xm, xm+1, … , xn) = |
|
|
|
5) Построение СКНФ |
|||||||
|
|
|
|
|
|
|
|||||
= |
& (x1α1 … |
xmαm f (α1, … , αm, xm+1, … , xn)) (▲) |
|||||||||
|
α1...αm |
|
|
|
|
|
|
|
|
|
|
В равенстве (▲) положим m = n: |
|
|
|
(▲▲▲) |
|||||||
|
|
|
) = & |
|
|
|
|
|
|
||
|
f (x |
, … , x |
|
|
σ1 |
… |
|
|
σn) |
||
|
|
|
|
||||||||
|
(x |
x |
|
||||||||
|
1 |
n |
|
f(σ1,…,σn) = 0 |
1 |
|
|
n |
|||
|
|
|
|
|
|
|
|
|
|
|
Здесь: конъюнкция берётся по всем наборам значений переменных (σ1,…,σn), для которых выполнено f(σ1,…,σn) = 0
Равенство (▼▼▼) – совершенная конъюнктивная нормальная форма (СКНФ) функции f (x1, … , xn)
Из (▼▼▼) очевидно: не имеет СКНФ единственная функция – та, для которой f (x1, … , xn) 1, т.е. константа 1
(напоминание - из § 3.1)
Пример построения СКНФ для |
f (w, x, y, z) = (w x) & (y z) |
|||||||||||||
f (x |
, … , x |
) = |
& |
(x σ1 |
… x |
|
σn) |
|
|
(▲▲▲) |
||||
|
1 |
|
|
n |
|
f(σ1,…,σn) = 0 |
1 |
|
|
n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
x |
y |
z |
f(w,x,y,z) |
|
|
w |
x |
y |
z |
f(w,x,y,z) |
|||
0 |
0 |
0 |
0 |
0 |
|
|
1 |
|
0 |
0 |
0 |
0 |
||
0 |
0 |
0 |
1 |
0 |
|
|
1 |
|
0 |
0 |
1 |
1 |
||
0 |
0 |
1 |
0 |
0 |
|
|
1 |
|
0 |
1 |
0 |
1 |
||
0 |
0 |
1 |
1 |
0 |
|
|
1 |
|
0 |
1 |
1 |
1 |
||
0 |
1 |
0 |
0 |
0 |
|
|
1 |
|
1 |
0 |
0 |
0 |
||
0 |
1 |
0 |
1 |
1 |
|
|
1 |
|
1 |
0 |
1 |
1 |
||
0 |
1 |
1 |
0 |
1 |
|
|
1 |
|
1 |
1 |
0 |
1 |
||
0 |
1 |
1 |
1 |
1 |
|
|
1 |
|
1 |
1 |
1 |
1 |
w |
x |
y |
z |
|
f(w,x,y,z) |
|
f (w, x , y, z) = |
|
|
|
|
|
= (w x y z) & |
||
0 0 0 |
0 |
|
0 |
|
|||
|
|
|
|
|
|
|
& (w x y z) & |
0 |
0 |
0 |
1 |
|
0 |
|
|
0 |
0 |
1 |
0 |
|
0 |
|
& (w x y z) & |
|
|
|
|
|
|
|
& (w x y z) & |
0 |
0 |
1 |
1 |
|
0 |
|
|
|
|
|
|
|
|
|
& (w x y z) & |
0 |
1 |
0 |
0 |
|
0 |
|
|
|
|
|
|
|
|
|
& ( w x y z) & |
1 |
0 |
0 |
0 |
|
0 |
|
|
1 |
1 |
0 |
0 |
|
0 |
|
& ( w x y z) |
|
|
|
|
|
|
|
|
Приведение к СКНФ функции, представленной формулой
Функция f представлена |
|
Функция, представленная |
|
||
формулой F, которая |
|
формулой ¬F (если это не |
приведена к СДНФ: |
|
Const=0), также имеет СДНФ: |
h = k1 k2 … km |
|
g = q1 q2 … qn |
|
|
|
F = ¬¬F = ¬(¬F) = ¬g = ¬(q1 q2 … qn) =
=¬(q1 (q2 … qn)) = ¬q1 & ¬(q2 … qn) =
=¬q1 & ¬(q2 (q3 … qn)) = ¬q1 & ¬q2 & ¬(q3 … qn) =
…………………………..
=¬q1 & ¬q2 & … & ¬qn-2 & ¬(qn-1 qn) =
=¬q1 & ¬q2 & … & ¬qn-2 & ¬qn-1 & ¬qn
Пример
Привести к СКНФ f(x,y,z) = ¬((¬x & y) (¬x & ¬z))
1)Приводим к СДНФ ¬f(x,y,z) = ¬¬((¬x & y) (¬x & ¬z)) =
=(¬x & y) (¬x & ¬z) = …
…= (¬x&y&z) (¬x&y&¬z) (¬x&¬y&¬z)
2)Берём отрицание полученной CДНФ и приводим к
КНФ, затем с помощью (3.3.1b) в обратную строну – к
СКНФ: ¬((¬x&y&z) (¬x&y&¬z) (¬x&¬y&¬z)) =
=¬(¬x&y&z) & ¬(¬x&y&¬z) & ¬(¬x&¬y&¬z) = … … = (x ¬y ¬z) & (x ¬y z) & (x y &z)
Четыре студентки – Алла, Бэлла, Валя и Галя – посещают университет по очереди и ведут общий конспект. Необходимо составить на следующую неделю график посещения, учитывая, что:
1.В понедельник – стипендия, пойдут все. Зато в субботу
– день курсового проектирования, никто не пойдёт
2.Валя и Галя не смогут пойти на занятия во вторник
3.Если Валя пойдёт в среду или Галя в четверг, то Бэлла готова сходить на занятия в пятницу
4.Если Алла не пойдёт в четверг, то Бэлла согласна посетить университет в среду
5.Если Алла или Галя будут на занятиях в среду, то Валя сможет пойти в пятницу
6.Если Галя в пятницу вместо занятий пойдёт на свадьбу сестры, то Алле придётся пойти в университет во вторник, а Вале – в четверг
Взадаче использованы 24 переменных утверждения вида «Студентка Х посетила занятия в k-ый день недели»:
Xk XА, Б, В, Г}, k 1, 2, 3, 4, 5, 6}
1.В понедельник – стипендия, пойдут все. Зато в субботу – день курсового проектирования, никто не пойдёт
2.Валя и Галя не смогут пойти на занятия во вторник
3.Если Валя пойдёт в среду или Галя в четверг, то Бэлла готова сходить на занятия в пятницу
4.Если Алла не пойдёт в четверг, то Бэлла согласна посетить университет в среду
A1 & Б1 & В1 & Г1
¬A6 & ¬Б6 & ¬В6 & ¬Г6
или ¬ (A6 Б6 В6 Г6)
¬В2 & ¬Г2
(В3 Г4) Б5
¬A4 Б3