I1
I8 = {А, C, D}, J1
J8 = {b}.
Отсюда получаем новую подматрицу

I2
I5 = {А, B, C}, J2
J5 =
,
I2
I6 = {А, B, D}, J2
J6 =
,
I2
I7 = {B, D}, J2
J7 = {c}, дает [M7];
I2
I8= {B, C,D}, J2
J8 =
,
I4
I5 = {A, C, D}, J4
J5 = {b}. Дает [M9];
I4
I6 = {A, D}, J4
J6 = {b, f}, дает [M6];
I4
I7 = {B, D}, J4
J7 = {c}, дает [М7];
I4
I8 = {C, D}, J4
J8 = {b}, содержится в [М9];
I5
I6 = {А, C, D}, J5
J6 = {b}, дает [М9];
I5
I7 = {A, B, C, D}, J5
J7 =
.
I5
I8 = {A, C, D}, J5
J8 = {b}, дает [М9];
I6
I7 = {A, B, D}, J6
J7 =
,
I6
I8 = {A, C, D}, J6
J8 = {b}, дает [M9];
I7
I8 = {B, C, D}, J7
J8 =
,
I1
I5 = {A}, J1
J5 = {b, d, e, f}, дает [M1];
I1
I6 = {A}, J1
J6 = {b, d, e, f }, дает [M1];
I1
I7=
, J1
J8=
,
I 2
I5=
, I2
I6=
,
I 2
I7 = {B}, J2
J7 = {а, с}, дает [М21;
I2
I8=
, I4
I5= ![]()
I 4
I6 = {D}, J4
J6 = {b, c, f}, дает [М4];
I 4
I7 = {D}, J4
J7 = {b, c, f}, дает [М4];
I 4
I8 = {D}, J4
J8 = {b, c, f}, дает [M4];
I5
I6 = {A}, J5
J6 = {b, d, e, f}, дает [М4];
I5
I7=
.
I5
I8 = {C}, J5
J8 = {b, d, e}, содержится в [М5];
I6
I7 = {D}, J6
J7 = {b, d, f}, дает [M4];
I6
I8 = {D}. J6
J8 = {b, f}, содержится в [M4];
I7
I8 = {D}, J7
J8 = {b, c}, содержится в [M4].
Этап 5 (первая итерация). Выпишем новое покрытие
С" = {[M1], [M2], [M4], [M5], [M6], [M7], [M9]},
матрица [М8] исключена, так как она содержится в [М9].
Этап 6 (вторая итерация).
Из проведенных расчетов пересечений и объединений видно, что невозможно найти полную подматрицу, которая не совпадает с какой-нибудь матрицей из предыдущего покрытия или не содержится в ней. Таким образом, мы получили следующее множество основных подматриц покрытия:

Поиски максимального подотношения подобия. Перейдем к
приложению алгоритма Мальгранжа для поисков максимальных подотношений подобия.
В качестве примера рассмотрим обычный симметричный и рефлексивный граф, который изображен на рис. 2, а; мы хотим найти в соответствующей булевой матрице (рис. 2, б) основные подматрицы, которые составят ее покрытие. Те из основных подматриц, которые имеют квадратную форму, и дадут искомые подотношения.

Рис. 2.
Чтобы начать с полных подматриц, которые априори можно рассматривать как довольно близкие к искомым («близкие» с эвристических, не требующего строгого обоснования, соображений), сначала представим строки и столбцы матрицы так, чтобы строки — сверху вниз, а столбцы — справа налево были упорядочены по числу единиц, которые содержатся в них. Это даст матрицу на рис. 2, в.
Этап 1. Выделим следующее покрытие:

Этап 2 (вторая итерация)
I1
I2= {a, d, f, b, c}, J1 J2 = {a, d),
откуда получаем новую подматрицу

|
Из за большого объема этот материал размещен на нескольких страницах:
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 |


