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.

М.Ф. Бондаренко, Ю.П. Шабанов-Кушнаренко<br />

булева алгебра. Кроме того, наличие операции<br />

отрицания даст возможность в ряде случаев записывать<br />

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

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

преобразования формул более коротким<br />

путем. Наконец, операция отрицания позволит<br />

естественным образом ввести понятие совершенной<br />

конъюнктивной нормальной формы и сформулировать<br />

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

предиката.<br />

Операция отрицания предиката − это одноместная<br />

функция, заданная на множестве всех k-ичных<br />

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

множестве. Если A − аргумент и B – значение операции<br />

отрицания, то условимся писать (¬A)=B<br />

или, в сокращенной форме A =В. Отрицанием предиката<br />

f(x 1 , x 2 ,…, x n ) назовем предикат<br />

18<br />

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

принимающий значение 0 для всех тех наборов<br />

значений аргументов (x1 , x2 ,…, xn ), при которых f(x1 ,<br />

x2 ,…, xn )=1, и принимающий значение 1 для всех<br />

тех наборов значений аргументов, при которых f(x1 ,<br />

x2 ,…, xn )=0.<br />

При k≥2 можно определить операцию отрицания<br />

аксиоматически, задав ее следующими тождествами:<br />

A∨B ≡ AB , (4)<br />

AB ≡ A∨ B , (5)<br />

a i<br />

x ≡ a1∨ a2 +<br />

∨ ∨ ai-1 1 ∨ ai ∨ ∨ a k<br />

x x ... x x ... x . (6)<br />

Здесь A и B − произвольные формулы, х − произвольная<br />

буквенная переменная, ai − произвольная<br />

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

значения в пределах от 1 до k. Тождества<br />

(4) и (5) совпадают по форме с известными в алгебре<br />

логики законами де Моргана, которые, однако,<br />

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

к переменным предикатам. Тождество (6) назовем<br />

законом отрицания. Заметим, что при k=1 закон отрицания<br />

теряет смысл.<br />

Справедливость законов де Моргана доказывается<br />

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

значений предикатов A и B. Например, убеждаемся<br />

при A=0 и B=1, что 0∨1≡0⋅1 и 01 ⋅ ≡0∨ 1.<br />

Легко устанавливается также справедливость закона<br />

отрицания. Действительно, если x=ai , то предикаты,<br />

стоящие слева и справа от знака тождества в<br />

(6), обращаются в 0, если же x≠ai , то оба предиката<br />

обращаются в 1.<br />

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

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

(4) – (6), можно доказать, что:<br />

0 ≡1 , (7)<br />

1 ≡0. (8)<br />

Действительно,<br />

a a ≡ a ∨ a 2 ≡ a<br />

x ∨ a 3<br />

x ∨…∨ a k<br />

x ∨ a1<br />

x ∨ a 3<br />

x ∨<br />

k ∨…∨ a<br />

x ≡1,<br />

0 ≡ 1 2 1 2<br />

x x x x<br />

a a a a a a<br />

1 2 k 1 2 k<br />

1 ≡- x ∨x ∨... ∨x ≡ x x ... x ≡<br />

2 ≡( a<br />

x ∨ a 3<br />

x ∨…∨ a k 1<br />

x )( a<br />

x ∨ a 3<br />

x ∨…∨ a k<br />

x )…<br />

1 ...( a<br />

x ∨ a 2<br />

k-<br />

x ∨ ∨…∨ a 1<br />

x )≡0.<br />

Любая формула с отрицаниями может быть<br />

преобразована с помощью зависимостей (4) – (8)<br />

в тождественную ей формулу без отрицаний. Действительно,<br />

применяя многократно законы де<br />

Моргана, мы всегда сможем все знаки отрицания,<br />

стоящие над формулой или ее частями, опустить<br />

непосредственно на узнавания букв или на 0 и 1.<br />

Затем, пользуясь тождествами (6) – (8), исключаем<br />

отрицания из формулы. Рассмотрим пример исключения<br />

знаков отрицания из формулы. Пусть<br />

A={a, b, c}. Тогда:<br />

a b c a b c<br />

1 1 2 1 1 2<br />

a b c<br />

1 1 2<br />

x ∨x x ≡ x x x ≡ x ( x ∨ x ) ≡<br />

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

С помощью тождеств (4) – (6) совместно с перечисленными<br />

выше основными тождествами алгебры<br />

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

тождественности двух любых формул со знаками<br />

отрицания. Сначала исключаем из формул знаки<br />

отрицания, а затем приводим формулы к СДНФ.<br />

Отсюда следует, что система тождеств (4) – (6)<br />

полна, она совместно с тождествами (4) – (19) [1]<br />

аксиоматически определяет все свойства операции<br />

отрицания.<br />

В ряде случаев процесс исключения знаков отрицания<br />

из формул существенно упрощается, если<br />

использовать следующие тождества:<br />

a a a<br />

i j i<br />

x x ≡ x , (9)<br />

a a a<br />

i j i<br />

x ( x ∨A) ≡ x . (10)<br />

Тождества справедливы при условии, что i≠j,<br />

индексы i и j принимают значения в пределах от 1<br />

до k. Буквой A обозначена произвольная формула<br />

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

законом поглощения отрицания, тождество<br />

(10) − обобщенным законом поглощения отрицания.<br />

Докажем справедливость тождества (10):<br />

x a i ( x a j ∨A)≡ x a i ( x a 1 ∨ x a 2 ∨…∨ x a i ∨…<br />

∨ x a j−1 ∨ x a j+1 ∨…∨ x a k ∨A)≡ x a i ∨ x a i A≡ x a i .<br />

Рассмотрим пример, иллюстрирующий применение<br />

только что приведенных тождеств. Пусть<br />

A={a, b, c}, требуется упростить формулу<br />

a b c a<br />

1 1 1 2<br />

f≡ ( x x ∨x ∨x ) x b<br />

1 x2<br />

c ,

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

Saved successfully!

Ooh no, something went wrong!