Лекция дискрет 12
.pdf4) Функционально полные системы логических функций
Из § 3.1: |
Логическая формула глубины k над множеством |
||
логических функций Σ = { f1, f2, … , fm, … }: |
|||
|
|
||
|
|
||
|
|
1. Символы переменных x1, x2, … , xn, … - логические формулы глубины 0 над множеством логических функций Σ.
2. Пусть F1, F2, … , Fni – логические формулы глубины не более k над множеством логических функций Σ, причём хотя бы одна из них имеет глубину ровно k. Пусть также
fi ( x1, x2, … , xni ) Σ – логическая функция.
Тогда fi ( F1, F2, … , Fni ) – логическая формула глубины (k+1) над множеством логических функций Σ.
3. Других логических формул над множеством логических функций Σ нет.
Система логических функций Σ называется полной (функционально полной), если любая логическая функция может быть представлена логической формулой над Σ
Σ0 = { , &, - функционально полная (Th.3.2.1) Th.3.2.4
Заданы две системы логических функций:
Σ* = { f1, f2, … |
Σ = { g1, g2, … |
Система Σ* - функционально полная и любая логическая функция из Σ* может быть реализована формулой над Σ.
Тогда система Σ – функционально полная
«исследуемая» |
«эталонная» полная |
произвольная |
система функций |
система функций * |
логическая функция |
g1 |
|
|
g2 |
f1 |
|
……………
g1
g2 f2 h
……………
g1
g2 ……………
……………
Доказательство Th.3.2.4
Любая h P2 представима h = fi (F1, F2, … , Fni) – формула над Σ* Здесь: F1, F2, … , Fni – подформулы также над Σ* (по условию)
Далее: Индукция по глубине формулы h = fi (F1, F2, … , Fni)
Глубина = 1 |
h = fi (xj |
, xj , … , xj |
) |
|
1 |
2 |
ni |
|
|||
|
|
|
По условию: любая fi Σ* представима формулой над Σ:
f1 = gk1(g1, g2, … )
…………………………………..
fi = gki (g1, g2, … )
…………………………………..
gki (g1, g2, … ) – представление функции h формулой над Σ, т.е. для глубины = 1 доказано
Пусть верно для формул глубины k, т.е. все функции, представимые над Σ* формулами глубиной не более k, могут быть реализованы формулами над Σ
h P |
h=f (F ,F ,…,F ) – формула над Σ* глубины (k+1) |
|||||
2 |
i 1 |
|
2 |
n |
||
|
|
|
|
i |
|
|
|
|
|
|
|
||
F ,F ,…,F |
ni |
- формулы над Σ* глубины не более k, |
||||
1 |
2 |
|
|
|
|
т.е. подпадают под индукционное предположение:
h = fi (gj1 (g1, g2, … ), gj2 (g1, g2, … ), … , gjni (g1, g2, … )) = = gki (gj1 (g1, g2, … ), gj2 (g1, g2, … ), … , gjni (g1, g2, … )) ( )
( ) - представление функции h формулой над Σ
В силу произвольности h P2 Доказано Th.3.2.4
«исследуемая» |
«эталонная» полная |
произвольная |
система функций |
система функций * |
логическая функция |
g1 |
|
|
g2 |
f1 |
|
……………
g1
g2 f2 h
……………
g1
g2 ……………
……………
Пример
Σ0 = { &, , - функционально полная (Th.3.2.1)
Доказать полноту системы Σ1 = { &,
1. Выбираем одну из известных полных систем в качестве Σ* (пока это только Σ0)
|
2. Все функции Σ* = { &, , представляем |
||
|
логическими формулами над Σ1 = { &, : |
||
x & y = Ф1(&, ) |
x y = Ф2(&, ) |
x = Ф3(&, ) |
|
Тривиальное |
x & y = Ф1(&, ) = x & y |
||
представление: |
x = Ф3(&, ) = x |
|
|
(3.2.8) |
(x y) = x & y |
|
( (x y)) = ( x & y)
xy = ( x & y)
xy = Ф2(&, ) = ( x & y)
Эффективность более удачного выбора Σ*
Доказываем полноту Σ3 = { &, , 1 Кандидаты в Σ*: Σ0 = { &, , и Σ1 = { &,
Если выберем Σ0 в качестве Σ*, то представляем три функции системы Σ0 = { &, , формулами над Σ3 = { &, , 1 :
1) x & y = x & y 2) x = x 1
3) x y = x y = ( x & y) = ((x 1) & (y 1)) 1
Если выберем Σ1 в качестве Σ*, то представляем лишь две функции из Σ1 = { &, формулами над Σ3 = { &, , 1 :
1) x & y = x & y |
2) x = x 1 |
Построить представление: x y = (&, , )
x |
y |
x |
y |
x&y |
x y |
x y |
«Исправим» функцию x y путём |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
её умножения на функцию с |
|
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
0 |
1 |
1 |
вектором значений (1,1,1,0) с тем, |
|
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
0 |
1 |
1 |
чтобы у дизъюнкции сохранить |
|
|
|
|
|
|
|
|
1 |
1 |
0 |
0 |
1 |
1 |
0 |
значения в первых трёх строках и |
|
|
|
|
|
|
|
|
изменить на противоположное значение в последней строке. Это быть, например, функция F(x,y) = (x&y) или,
с учётом правил де Моргана (3.2.8), F(x,y) = x y.
Таким образом, получаем x y = (x y) & ( x y) =
[ (3.2.3) – дистрибутивность конъюнкции относительно дизъюнкции ] = (x& x) (x& y) (y& x) (y& y) =
[ (3.2.9) – закон противоречия, затем (3.2.7) – свойства констант ] = 0 (x& y) ( x&y) 0 = (x& y) ( x&y)
5) Алгебра Жегалкина Σ3 = { &, , 1 - полная система
[ P2; &, ] Алгебра Жегалкина, тип (2, 2)
Ассоциативность
x1 & (x2 & x3) = (x1 & x2) & x3 x1 (x2 x3) = (x1 x2) x3
Коммутативность
x1 & x2 = x2 & x1 x1 x2 = x2 x1
Дистрибутивность конъюнкции относительно сложения по mod 2
x1 & (x2 x3) = (x1 & x2) (x1 & x3 )
Идемпотентность
x & x = x |
x x = 0 |
|
Свойства констант |
x & 1 = x |
x & 0 = 0 |
x 0 = x |