I5
I8= {a, d, f, e}, J5 J8=
,
I5 I8=
,
I5
I9 ={f, e}, J5 J9 = {e} дает [M5],
15 I9={f}, J5
J9 = {a, d, f, b, е} дает [M9],
I6
I7 = {a. d, f b, c, e}, J7 J7 =
,
I6 I7 = {a, d, f, b}, J6
J7 = {a, d, f} содержится в [M1],
I6
I8 = {a, d, f, b, c}, J6 J8 = {a, d} дает [М6],
I6 I8 = {a, d}, J6
J8 = {a, d, f, b, с} дает [М8],
I6
I9 = {a. d, f, b, c}, J6 J9 = {a. d} дает [M6],
I6 I9 = {f}, J6
J9 = {a, d, f, b, e} дает [M9],
17
I8 = {a, d, f, b, e}, J7 J8 = {f} дает [M7],
I7 I8 = { a, d}, J7
J8 = {a, d, f, b, c} дает [M8],
I7
I9 = {a, d, f, b, e}, J7 J9 = {f} дает [M7],
I8 I9 = {f}, J7
J9 = {a, d, f, b, e} дает [M9],
I8
I9 = {a, d, f}, J8 J9 = {a, d, f, b} содержится в [М1],
I8 I9 =
.
Этап 5 (вторая итерация). Выпишем новое покрытие
С'′= {[M1], [M6], [M7], [M8], [M9], [М10], [М11]}. (*)
Мы исключили подматрицы [М2], [M3], [M4], [М5] как такие, что содержатся в других подматрицах покрытия (*).
Этап 6 (первая итерация). Не тяжело удостовериться в том, что новых матриц получить больше нельзя. Итак, покрытие С" (*) состоит из следующих основных матриц:
(**)
В этом покрытии содержатся три квадратные подматрицы [М1], [М10] и [М11]; они дают три непересекающихся подотношений. На рис. 3 представлены эти три подотношения, ни одно из которых не содержится в другом.

Рис. 3.
Заметим, что выявление матриц [М6]=[М8]' и [М7]=[М9]' небесполезно, ими обеспечивается «стыковка» между подотношениями.
Второй алгоритм - алгоритм Пишá.
Этот алгоритм пригоден исключительно для симметрических квадратных матриц, которые представляют значительный интерес.
Рассмотрим верхнюю треугольную матрицу, такую, например, как на рис. 4.

Рис. 4.
Поочередно в каждом строке матрицы выделим нули. Рассматривая элементы матрицы как булевы переменные, свяжем булевым знаком суммирования
индекс строки и индексы столбцов, в которых находятся нулевые элементы этой строки, и полученные суммы объединим знаком булева произведения ∙, причем, если в строке нет нулей, будем считать, что сумма равна 1.
Упростим полученное в результате произведение, (используя для этого следующие правила упрощения булевых выражений: х+х=х, х∙х=х, х+ху=х) приведя его к максимальной форме. Для каждого слагаемого в этой форме возьмем его дополнение. Таким образом получим максимальные подотношения, которые устанавливают покрытие.
Рассмотрим пример на рис. 2, для которого верхнетреугольная матрица представлена на рис. 4.
Для строки
а получим а + е,
b «b +се,
с «c + ef,
d « d+ e,
е « 1,
f « 1.
Теперь имеем
S=(a
e)∙(b
ce)∙ (c
ef)∙ (d
e)∙1∙1=(a
e)∙ (b
ce)∙ (c
ef)∙(d
e) =
= (ab
ace
be
ce) (c
ef)(d
e) =
= (abc
abef
ce
cef
bce
bef) (d e) = (abc
bef
ce) (d
e) =
= abcd
abce
bdef
bef
ced
ce = abcd
bef
ce.
Подсчитаем сумму S', в которой слагаемыми будут дополнения соответствующих слагаемых суммы S. Получим
S' = ef
аcd
abdf.
Это дает нам три подмножества
{е, f}, {а, c, d}, {а, b, d, f},
которые определяют основные подматрицы, составляющие покрытие (см. [М11], [М10] и [М11] в (**)).
Замечание. Если нас интересуют элементы, общие для попарно не содержащихся друг в друге отношений, то их можно получить непосредственно, подсчитав пересечения
{е, f} {a, c, d} =
,
{а, c, d} {а, b, d, f} = {a, d},
{a, b, d, f} {e, f} = {f}.
Поиск максимальных подотношений подобия в нечетком передпорядке
. Любой с двух предыдущих алгоритмов можно использовать для определения этих подотношений. Достаточно рассмотреть соответствующую булеву матрицу
, такую, что
(х, у) = (у, х)=1, если
(х, у) =
(у, х) > 0,
если
(х, у) ≠ (у, х)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |


