Приложение Б. Разложение на максимальные подотношения подобияПроблема разложения отношения сходства на максимальные подотношения подобия, когда отношения сходства (или соответствующее понятие расстояния) не позволяют получить классы подобия для расстояний, меньших или равных заданному, связана с проблемой получения обычных максимальных плоских подграфов соответствующего обычного графа. Для этого в нашем распоряжении имеется несколько алгоритмов, приведем два из них. Первый принадлежит инженеру Мальгранжу. Сначала рассмотрим этот алгоритм для более общего случая, а затем вернемся к частному случаю, который нас особенно интересует. Алгоритм Мальгранжа. Получение максимальных полных подматриц или главных подматриц. Описание этого алгоритма требует введения некоторых предварительных определений. В матрице с бинарными элементами (0 или 1), т.е. в булевой матрице, задающей граф (а точнее, граф Бержа), полной подматрицей называется подматрица, все без исключения элементы которой равны 1. Основной подматрицей (говорят также «максимальной полной подматрицей») называется полная подматрица, не содержащая никакой другой полной подматрицы. Например, на рис. Б.1 представлены семь основных подматриц матрицы Рис. Б.1. Пусть
ставят в соответствие две подматрицы:
есть внутренние операции на множестве Поочередное применение описанных ниже правил до тех пор, пока не сформируются все полные матрицы покрытия
позволит получить основные подматрицы матрицы Первое правило. Вычеркиваем все матрицы Второе правило. Добавляем к Пример. Найдем основные подматрицы булевой матрицы на рис. Б.1. Этап 1. Выберем покрытие
Этап 2 (второе правило). Подсчитаем объединения и пересечения:
откуда получим новую подматрицу
и новую матрицу
что дает новую матрицу
что дает новую матрицу
Так как все пересечения Этап 3 (первое правило). Выпишем новое покрытие
Матрица Этап 4 (второе правило). С дидактической целью приводим все детали расчетов, не исключая вычислений даже тех матриц, которые уже были получены или оказываются пустыми:
Отсюда получаем новую подматрицу
Этап 5 (первое правило). Выпишем новое покрытие
матрица Этап 6 (второе правило). Из проведенных расчетов, пересечений и объединений видно, что невозможно найти полную подматрицу, которая не совпадает с какой-нибудь матрицей из предыдущего покрытия или не содержится в ней. Таким образом, мы получили следующее множество основных подматриц покрытия:
Поиски максимального подотношения подобия. Перейдем к приложению алгоритма Мальгранжа для поисков максимальных подотношений подобия. В качестве примера рассмотрим обычный симметричный и рефлексивный граф на рис. Б.2,а; мы хотим найти в соответствующей булевой матрице (рис. Б.2,б) основные подматрицы, которые составят ее покрытие. Те из основных подматриц, которые имеют квадратную форму, и дадут искомые подотношения. Рис. Б.2. Чтобы начать с полных подматриц, которые априори можно рассматривать как довольно близкие к искомым («близкие» из эвристических, не требующих строгого обоснования, соображений), сначала представим строки и столбцы матрицы так, чтобы, строки - сверху вниз, а столбцы - справа налево были упорядочены по числу содержащихся в них единиц. Это даст матрицу на рис. Б.2,е. Этап 1. Выделим следующее покрытие:
Этап 2 (второе правило)
откуда получаем новую подматрицу
откуда получаем новую подматрицу
Получаем новую подматрицу
откуда получаем новую подматрицу
Этап 3 (второе правило). Выпишем новое покрытие
Этап 4 (первое правило).
дает новую подматрицу
дает новую подматрицу
Этап 5 (второе правило). Выпишем новое покрытие
Мы исключили подматрицы Этап 6 (первое правило). Читатель может удостовериться в том, что новых матриц получить больше нельзя. Итак, покрытие
В этом покрытии содержатся три квадратные подматрицы Рис. Б.3. Заметим, что выявление матриц Другой, более быстрый метод. Алгоритм Пиша. Этот метод пригоден исключительно для симметрических квадратных матриц, которые представляют для нас особый интерес. Рассмотрим верхнюю треугольную матрицу, такую, например, как на рис. Б.4. Рис. Б.4. Поочередно в каждой строке матрицы выделим нули. Рассматривая элементы матрицы как булевы переменные, свяжем булевым знаком суммирования Упростим получившееся в результате произведение, приведя его к максимальной форме. Для каждого слагаемого в этой форме возьмем его дополнение. Таким образом, получим максимальные подотношения, устанавливающие покрытие. Рассмотрим пример на рис. Б.2, для которого верхнетреугольная матрица представлена на рис. Б.4. Для строки
Теперь имеем
Подсчитаем сумму
Это дает нам три подмножества
которые определяют основные подматрицы, составляющие покрытие (см. Замечание. Если нас интересуют элементы, общие для попарно не содержащихся друг в друге отношений, то их можно получить непосредственно, подсчитав пересечения
Поиск максимальных подотношений подобия в нечетком предпорядке
и
Пример. Рассмотрим еще раз пример, приведенный на рис. 21.3, который мы повторили на рис. Б.5. Здесь выписаны булева матрица, соответствующая отношению Рис. Б.5. Используем второй метод. Имеем
Таким образом, в этом предпорядке имеется три максимальных подотношения подобия, определенных на обычных подмножествах:
Эти подотношения приведены на рис. 21.3.
|