Теорема 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