Материал: Алгебра_кортежей

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Теорема 2.9. Для произвольного D-кортежа P = ]P1 P2 … Pn[ его

дополнение равно C-кортежу P = [P1 P2 Pn ].

Теорема 2.10. Дополнение D-системы есть C-система той же размерности,

вкоторой каждая компонента равна дополнению соответствующей компоненты

висходной D-системе.

Обобщая теоремы 2.7-2.10, можно сказать, что дополнение произвольного АК-объекта P эквивалентно АК-объекту Q альтернативного класса и той же размерности, в котором каждая компонента Qij равна дополнению соответствующей компоненты Pij в P.

Имеется исключение, когда дополнение может быть непосредственно выражено АК-объектом того же класса. Если C-кортеж или D-кортеж имеют только одну нефиктивную компоненту, то для вычисления дополнения достаточно в исходной структуре заменить нефиктивную компоненту на ее

дополнение.

Например, дополнением C-кортежа [ A ]

является

C-кортеж

[

 

], который в свою очередь равен D-кортежу ]

 

[.

 

 

A

A

 

 

 

 

Теорема

2.11. ]P1 Q1

P2 Q2 … Pn Qn[ P Q,

причем

равенство

возможно лишь в двух случаях:

(i)P Q или Q P;

(ii)Pi = Qi для всех соответствующих пар компонент, за исключением одной пары.

Доказательство. Пусть D = ]P1 Q1 P2 Q2 … Pn Qn[ . По закону контрапозиции утверждение теоремы справедливо тогда и только тогда, когда

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

P

 

 

Q

 

D

, где

P

,

 

Q

,

 

D

– C-кортежи

выполняется

P Q

 

или

 

 

 

 

 

 

 

 

 

 

] и

[

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

],

 

 

 

 

 

Pn

],

 

 

 

Q2

Qn

 

Q1

 

 

Q2

Pn

Qn

 

 

[

P1

 

P2

[Q1

P1

P2

соответственно.

 

 

 

 

 

 

 

 

 

 

 

 

Согласно теореме

2.4,

 

соотношение

 

P

Q

D

справедливо, причем

равенство возможно лишь в двух случаях: (i) Pi Qi или Qi Pi ; (ii) Pi = Qi для всех соответствующих пар компонент за исключением одной пары. Снова используя закон контрапозиции, условия (i) и (ii) можно записать в более привычном виде, а именно так, как в формулировке теоремы. Конец доказательства.

В соответствии с определением 2.7 всегда справедливо равенство

80

P1

P2

...

Pn

P Q =

Q2

...

.

Q1

Qn

Теорема 2.12. P Q, если и только если Pi Qi для всех i = 1, 2, …, n. Доказательство. Рассмотрим дополнения операндов:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Qn

].

 

 

 

 

 

 

 

 

 

 

 

P = [

P1

 

P2 ...

 

Pn

] и Q = [

Q1

 

Q2 ...

 

 

 

 

 

 

 

 

 

 

По закону контрапозиции P Q, если и только если

 

 

 

 

 

. Из свойств

Q

P

 

 

 

 

 

 

 

 

 

 

 

 

 

для всех i.

C-кортежей следует, что

 

Q

P

, если

и

только

если Qi

Pi

Cоответственно,

Pi Qi

 

для

всех i,

из

чего

следует

справедливость

предложения. Конец доказательства.

Теорема 2.13. P Q = ]P1 Q1 P2 Q2 … Pn Qn[.

Доказательство этой теоремы очевидно, если вспомнить, что D-кортежи P и Q – это диагональные C-системы. Если итоговый D-кортеж содержит хотя бы одну компоненту, равную домену соответствующего атрибута, то результат равен частному универсуму.

Теорема 2.14. Пересечение двух однотипных D-систем равно D-системе, содержащей все D-кортежи операндов.

Теорема 2.15. Объединение D-систем P и Q эквивалентно D-системе, состоящей из всех не равных универсуму D-кортежей, образующихся при выполнении операций объединения каждого D-кортежа из P с каждым D-кортежем из Q.

Нетрудно видеть, что соотношения между C-объектами (C-кортежи и C-системы) и D-объектами (D-кортежи и D-системы) соответствуют законам двойственности де Моргана. В силу этого они названы альтернативными классами.

Отметим, что все теоремы текущего раздела соответствуют алгоритмам полиномиальной сложности. Однако, если необходимо выполнить операции или проверить соотношения для пары АК-объектов, которые относятся к альтернативным классам, то сложность этих алгоритмов в общем случае значительно возрастает, поскольку для их реализации требуется преобразование одного из АК-объектов в альтернативный класс. Лишь в немногих случаях можно обойтись без таких преобразований, то есть непосредственно анализировать структуры, относящиеся к альтернативным классам. В частности, для проверки включения одного АК-объекта в другой на

81

основе следующих теорем также можно построить полиномиальные алгоритмы.

Теорема 2.16. Для C-кортежа P = [P1 P2 … Pn] и D-кортежа Q = ]Q1 Q2 … Qn[ справедливо P Q, если и только если по крайней мере для одного i соблюдается Pi Qi.

Доказательство. Каждый D-кортеж эквивалентен C-системе, содержащей n C-кортежей, каждый из которых состоит из всех полных компонент, за исключением Qi. Следовательно (учитывая, что C-система есть объединение C- кортежей), для того, чтобы соблюдалось P Q, необходимо выполнение Pi Qi по крайней мере для одного i. Действительно, если один из C-кортежей преобразованного в C-систему D-кортежа Q равен [ ... Qi ... ] и Pi Qi, то P [ ... Qi ... ] и, следовательно, P Q. Докажем достаточность. Предположим, что условие Pi Qi не соблюдается для всех i. Докажем, что в таком случае P Q невозможно. Из предположения следует, что для каждого i

существует Ri = Pi

\ Qi . Значит, для всех i выполняется Ri Pi и Ri

Qi

.

Тогда

существует

непустой C-кортеж R = [R1 R2 … Rn], такой

что R P и

R

 

,

 

 

P Q. Конец

Q

из чего,

в свою очередь, следует невозможность

доказательства.

Теорема 2.17. Для C-кортежа (или D-кортежа) P и D-системы Q справедливо P Q, если и только если для каждого D-кортежа Qj из Q выполняется P Qj.

Доказательство. Утверждение следует из того, что D-система есть пересечение множеств элементарных кортежей, содержащихся в D-кортежах, входящих в ее состав. Поскольку P включено в каждый D-кортеж, то оно включено также в их пересечение и, следовательно, в D-систему. Конец доказательства.

Следующее утверждение в силу его тривиальности приводится без доказательства.

Теорема 2.18. Для C-системы P и D-системы Q справедливо P Q, если и только если каждый C-кортеж из P включен в каждый D-кортеж из Q.

Далее рассмотрим алгоритмы, регламентирующие упомянутые преобразования АК-объектов.

82

2.2. Преобразования АК-объектов в альтернативные классы

Приведенные выше операции и алгоритмы проверки включения определены не для всех возможных сочетаний классов АК-объектов. В частности, не приведены алгоритмы пересечения D-системы и C-системы. Кроме того, пока что не предусмотрены алгоритмы проверки включения АК-объектов P Q, когда P – D-система или Q – C-система. Следовательно, необходимо предложить алгоритмы преобразования АК-объектов в альтернативные классы. Эти алгоритмы, в общем случае, не полиномиальны по вычислительной сложности.

Теорема 2.19. Каждый C-кортеж (D-кортеж) P преобразуется в эквивалентную ему диагональную D-систему (C-систему).

Диагональная D-система (по аналогии с диагональной C-системой) есть выраженная матрицей размерности n n D-система, у которой все недиагональные компоненты равны фиктивной компоненте “ ”.

Например, D-кортеж ]A B C[, где A, B, C – непустые компоненты,

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

, а C-кортеж [A B C] – в D-систему

преобразуется в C-систему

B

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

.

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ясно, что алгоритмы преобразования C-кортежей и D-кортежей в альтернативные классы не требуют для своей реализации алгоритмов экспоненциальной сложности. Трудоемкость алгоритмов существенно возрастает при преобразовании в альтернативные классы C-систем и D-систем. Следующие два предложения в силу их тривиальности приводятся без доказательства.

Теорема 2.20. D-система P, содержащая m D-кортежей, эквивалентна C-системе, которая равна пересечению m C-систем, полученных с помощью преобразования каждого D-кортежа из P в C-систему.

Важность данной теоремы с теоретической точки зрения состоит в том, что она определяет существенную в ряде доказательств и обоснований

83

возможность представить любую структуру АК в виде C-кортежа или C-системы.

Теорема 2.21. C-система P, содержащая m C-кортежей, эквивалентна D-системе, которая равна объединению m D-систем, полученных с помощью преобразования каждого C-кортежа из P в D-систему.

 

 

 

 

 

 

 

 

{a,c} {d} {b,d}

 

Рассмотрим преобразование D-системы P =

 

 

 

 

 

в

 

{a,d}

{a,c}

 

{b,c}

 

{b}

 

 

 

 

 

 

 

 

 

C-систему. Преобразуя

в соответствии

с теоремой 2.19

каждый D-кортеж в

C-систему, получим промежуточный результат:

 

 

 

 

{a,c}

 

 

 

 

{a,d}

 

 

{b,c}

 

 

 

 

{d}

 

 

 

 

P =

 

 

 

 

 

 

.

 

 

 

{b,d}

 

 

{a,c}

 

 

{b}

 

 

 

 

 

 

 

 

 

 

 

 

 

Вычислим в соответствии с теоремой 2.5 пересечение первых двух C-систем (получающиеся при этом пустые C-кортежи, которые затем удаляются из C-системы, здесь и далее для экономии места не показаны):

{a,c}

{d}

{b,d}

 

{a,d}

 

 

=

 

 

 

 

 

 

{a,c}

 

{a,c}

{a,d}

 

 

{a,c}

 

{a,c}

 

 

 

 

 

 

 

{d}

 

.

 

 

 

 

 

 

{d} {a,c}

 

 

{a,d} {b,d}

 

 

 

 

 

Теперь найдем пересечение полученной C-системы с оставшейся:

 

{a,c}

{a,d}

 

 

 

 

 

 

{a,c}

 

{a,c}

 

{b,c}

 

 

 

 

 

 

 

P =

 

 

{d}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{d} {a,c}

 

 

 

 

 

 

{a,d} {b,d}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{c} {a,d}

 

 

 

 

 

 

 

 

 

 

 

{a,c} {a,d}

{b}

 

 

 

{c}

 

{a,c}

 

 

{b,c} {d}

 

 

=

 

{d}

{b}

.

 

{b}

 

 

 

 

{b,c} {d}

{a,c}

 

 

{b,c} {a,d}

{b,d}

 

 

 

 

{a,d}

 

 

 

 

 

{b}

 

 

 

 

 

 

 

Нетрудно убедиться, что преобразование АК-объектов в альтернативный класс дает возможность обеспечить полноту всех операций с АК-объектами и проверок соотношений между ними, не прибегая к представлению АК-объектов в форме множеств элементарных кортежей. Однако уже из последнего примера

84