18.07.2013 Views

информация, язык, интеллект № 3 (77) 2011

информация, язык, интеллект № 3 (77) 2011

информация, язык, интеллект № 3 (77) 2011

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

f ″(а t+1 )≡1, поэтому равенства (б) также обращаются<br />

в тождества типа 0≡0 или 1≡1. Заметим, что<br />

предикатами f ′(x 1 ) и f ″(x 1 ) исчерпывается класс<br />

возможных одноместных предикатов, заданных на<br />

множестве A t+1 . Таким образом, при l=n=1 теорема<br />

о разложении справедлива для любого k.<br />

3. Пусть l=1 и k произвольным образом зафиксировано.<br />

Предположим, что при n=t равенство (1)<br />

является тождеством, и выведем отсюда, что и при<br />

n=t+1 равенство (1) будет тождеством. По предположению,<br />

согласно (1), имеет место тождество<br />

f(x1 , x2 ,…, xt )≡ ∨ ( σ1 )<br />

Поэтому при любом a i (1≤i≤k)<br />

f(x1 , x2 ,…, xt , ai )≡ ∨ ( σ1 )<br />

Следовательно,<br />

f(x1 , x2 ,…, xt , xt+1 )≡ ∨ ( σ1 )<br />

1 x1 σ f(σ1 , x2 ,…, xt ).<br />

1 x1 σ f(σ1 , x2 ,…, xt , ai ).<br />

1 x1 σ f(σ1 , x2 ,…, xt , xt+1 ).<br />

Заметим, что предикатами, для которых справедливо<br />

записанное выше тождество, исчерпывается<br />

весь класс всевозможных t+1-местных предикатов.<br />

Таким образом, при l=1 теорема о разложении<br />

справедлива для любых k и n.<br />

4. Пусть k и n произвольно фиксированы. Предположим,<br />

что при l=t равенство (1) является тождеством,<br />

и выведем отсюда, что и при l=t+1, если<br />

l≤n, равенство (1) будет тождеством. По предположению,<br />

согласно (1), имеем тождество:<br />

≡ ∨<br />

( σ1, σ2,.., σt<br />

)<br />

f(x 1 , x 2 ,…, x t , x t+1 ,…, x n )≡<br />

σ σ σ<br />

1 2<br />

1 2 t<br />

x x ... xt f(σ1 , σ2 ,…, σt , xt+1 ,…, xn ).<br />

Пользуясь им, а также результатом, полученным<br />

в пункте 3 настоящего доказательства, имеем:<br />

≡ ∨<br />

( σ1, σ2,.., σt<br />

)<br />

≡ ∨<br />

( σ1, σ2,.., σt<br />

)<br />

f(x 1 , x 2 ,…, x t , x t+1 , x t+2 ,…, x n )≡<br />

σ σ σ<br />

1 2<br />

1 2 t<br />

x x ... xt f(σ1 , σ2 ,…, σt , xt+1 , xt+2 ,…, xn )≡<br />

σ σ σ<br />

1 2 t<br />

x1 x2 ... xt ( ∨<br />

+<br />

t x<br />

( σt 1)<br />

t + +<br />

1 1 σ<br />

xt+2 ,…, xn ))≡ ∨ x<br />

( σ1, σ2,.., σt+<br />

1)<br />

x t xt σt+1 , xt+2 ,…, xn ).<br />

f(σ 1 , σ 2 ,…, σ t , σ t+1 ,<br />

σ1 σ2 σ 1<br />

1 2 ... + 1<br />

+ f(σ1 , σ2 ,…,<br />

Таким образом, теорема доказана для любых k,<br />

l, n.<br />

Из теоремы о дизъюнктивном разложении вытекают<br />

следующие два следствия.<br />

Следствие 1. Любой конечный предикат f(x 1 , x 2 ,…,<br />

x n ) может быть представлен в виде:<br />

f(x 1 , x 2 ,…, x n )≡ x a<br />

1 1 f(a 1 , x 2 ,…, x n )∨ x a<br />

1 2 f(a 2 ,<br />

x 2 ,…,x n )∨…∨ x a k<br />

1 f(a k , x 2 ,…, x n ). (2)<br />

Следствие 2. Любой конечный предикат f(x 1 , x 2 ,…,<br />

x n ) может быть представлен в виде:<br />

НОрМАЛЬНЫЕ ФОрМЫ ФОрМуЛ АЛГЕБрЫ КОНЕЧНЫх ПрЕДИКАТОВ<br />

f(x1 , x2 ,…, xn )≡ ∨ f ( σ1, σ2,.., σn<br />

) = 1<br />

σ σ σ<br />

1 2<br />

1 2 n<br />

x x ... xn . (3)<br />

Тождества (2) и (3) получаем, полагая в (1) соответственно<br />

l=1 и l=n. Запись f(σ1 , σ2 ,…, σn )=1 в (3)<br />

под знаком дизъюнкции означает, что логическое<br />

суммирование ведется только по тем наборам индексов<br />

σ1 , σ2 ,…, σn , которые обращают предикат f<br />

в 1. Формула, стоящая в правой части тождества<br />

(3), представляет собой СДНФ предиката f. Если<br />

предикат f тождественно ложный, то, согласно<br />

теореме о дизъюнктивном разложении, в правой<br />

части тождества (3) нужно ставить 0.<br />

Тождество (2) может быть использовано в качестве<br />

эффективного средства упрощения формул<br />

алгебры конечных предикатов. Рассмотрим пример<br />

такого упрощения. Пусть A={a, b}, B={x1 , x2 ,<br />

x3 ,}. Требуется упростить формулу:<br />

f(x1 , x2 , x3 )≡<br />

≡(x a<br />

1 ∨x2 b )(x1 a∨x1 bx3 a )∨(x1 a∨x1 a )(x2 bx3 b∨x2 ax3 a ).<br />

Производим разложение функции f по переменной<br />

x1 :<br />

f(x1 , x2 , x3 )≡x a<br />

1 f(a, x2 , x3 )∨x b<br />

1 f(b, x2 , x3 ),<br />

f(a, x2 , x3 )≡(aa∨x b<br />

2 )(aa∨abx3 a )∨(aa∨x2 a )(x2 bx3 b∨ ∨x a<br />

2 x3<br />

a )≡(1∨x2 b )(1∨0⋅x3 a )∨(1∨x2 a )(x2 bx3 b∨x2 ax3 a )≡1,<br />

f(b, x2 , x3 )≡(ba∨x b<br />

2 )(ba∨bbx3 a )∨(ba∨x2 a )(x2 bx3 b∨x2 ax3 a )≡<br />

≡x b<br />

2 x3<br />

a∨x2 a (x2 bx3 b∨x2 ax3 a )≡x2 bx3 a∨x2 ax3 a≡ ≡(x a<br />

2 ∨x2 b )x3 a≡x3 a .<br />

Окончательно:<br />

f≡x 1 a ∨x1 b x3 a ≡(x1 a ∨x1 b )(x1 a ∨x3 a )≡x1 a ∨x3 a .<br />

Из второго следствия теоремы о разложении<br />

вытекает полнота алгебры конечных предикатов:<br />

любой конечный предикат можно записать в виде<br />

формулы алгебры конечных предикатов. Тождество<br />

(3) можно использовать для получения СДНФ<br />

предиката, заданного какой-нибудь произвольно<br />

выбранной формулой алгебры конечных предикатов.<br />

Пример: A={a, b}, B={x 1 , x 2 , x 3 ,}, дан предикат:<br />

f(x 1, x 2, x 3)≡<br />

≡(x 1 a ∨x1 b )(x1 a ∨x1 b x3 a )∨(x1 a ∨x2 a )(x2 b x3 b ∨x2 a x3 a ).<br />

Требуется отыскать СДНФ указанного предиката.<br />

Имеем:<br />

f(a, a, a)≡(aa∨ab )(aa∨abaa )∨(aa∨aa )(abab∨aaaa )≡1.<br />

Аналогично находим: f(a, a, b)≡1, f(a, b, a)≡1,<br />

f(a, b, b)≡1, f(b, a, a)≡1, f(b, a, b)≡1, f(b, b, a)≡1, f(b, b,<br />

b)≡0. СДНФ предиката f имеет вид:<br />

f(x1 , x2 , x3 )≡x a<br />

1 x2<br />

ax3 a∨x1 ax2 ax3 b∨ ∨x a<br />

1 x2<br />

bx3 a∨x1 ax2 bx3 b∨x1 bx2 ax3 a∨x1 bx2 bx3 a .<br />

2. Совершенная конъюнктивная нормальная форма<br />

Введем в алгебре конечных предикатов операцию<br />

отрицания. Введение отрицания позволит<br />

показать, что алгебра конечных предикатов есть<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!