g9 (542472), страница 4
Текст из файла (страница 4)
Построим теперь матрицу :
7 8 2
3 - максимальный элемент. Выбранный элемент (6, 7).
Меняем местами 6 и 7 строки и столбцы в исходной матрице.
4 | 3 | 7 | 6 | 8 | 2 | |
4 | 0 | 2 | 2 | 1 | 1 | 1 |
3 | 2 | 0 | 1 | 3 | 2 | 0 |
7 | 2 | 1 | 0 | 1 | 0 | 0 |
6 | 1 | 3 | 1 | 0 | 2 | 2 |
8 | 1 | 2 | 0 | 2 | 0 | 3 |
2 | 1 | 0 | 0 | 2 | 3 | 0 |
Для матрицы снова вычисляем числа
и
и строим матрицу
.
Построим теперь матрицу :
6 8 2
Поскольку в матрице нет положительных элементов, то из исходного графа удаляем подграф, соответствующий матрице смежности из трех вершин. Для рассмотрения остается матрица размерности 3.
Полученный подграф - .
Теперь рассматриваем матрицу:
6 | 8 | 2 | |
6 | 0 | 2 | 2 |
8 | 2 | 0 | 3 |
2 | 2 | 3 | 0 |
Полученный подграф - .
Таким образом исходный граф из 9 вершин разбит на 3 подграфа по 3 вершины в каждом. Получили:
.
Сделали 5 итераций.
Число внешних связей между подграфами .
Эвристический алгоритм.
Это приближенный алгоритм получения оптимального решения. Разберем этот алгоритм на матрице малой размерности.
4 | 3 | 6 | 7 | 8 | 2 | |
4 | 0 | 2 | 1 | 2 | 1 | 1 |
3 | 2 | 0 | 3 | 1 | 2 | 0 |
6 | 1 | 3 | 0 | 1 | 2 | 2 |
7 | 2 | 1 | 1 | 0 | 0 | 0 |
8 | 1 | 2 | 2 | 0 | 0 | 3 |
2 | 1 | 0 | 2 | 0 | 3 | 0 |
Стягиваем вершины 3 и 6 и назовем эту вершину 1 = { 3, 6 }.
Стягиваем вершины 1 = { 3, 6 } и 8 и назовем эту вершину 1 = { 3, 6, 8 }.
Остался граф - .
Сумма внешних связей равна 11( не оптимальное решение ).
Запишем теперь все выше изложенное в матричном виде:
4 | { 3, 6 } | 7 | 8 | 2 | |
4 | 0 | 3 | 2 | 1 | 1 |
{ 3, 6 } | 3 | 0 | 2 | 4 | 2 |
7 | 2 | 2 | 0 | 0 | 0 |
8 | 1 | 4 | 0 | 0 | 3 |
2 | 1 | 2 | 0 | 3 | 0 |
4 | { 3, 6, 8 } | 7 | 2 | |
4 | 0 | 4 | 2 | 1 |
{ 3, 6, 8 } | 4 | 0 | 2 | 5 |
7 | 2 | 2 | 0 | 0 |
2 | 1 | 2 | 0 | 0 |
Вычеркиваем из матрицы те строки и столбцы, которые содержат 3 вершины. Остается нужная нам матрица 3 x 3.
4 | 7 | 2 | |
4 | 0 | 2 | 1 |
7 | 2 | 0 | 0 |
2 | 1 | 0 | 0 |
Алгоритм.
-
в матрице
находим максимальный элемент, определяющий индексы строки и столбца, где находится максимальный элемент;
-
проверяем объединение
- ой и
- ой строки:
. Если да, то переход к ( 3 ), иначе ( 5 );
-
объединяем
- ю и
- ю строки,
- й и
- й столбцы. Производим пересчет связей. Понижается размерность
на 1. Вес объединенной строки равен сумме весов объединенных вершин;
-
если количество объединенных строк равно количеству блоков(подграфов), то переходим к ( 6 ), если нет, то к ( 1 );
-
вычеркиваем этот элемент и определяем максимальный элемент в оставшейся матрице. Возврат в ( 1 );
-
получено оптимальное решение.
Замечание.
Вес объединенных строк равен сумме весов объединенных вершин.
- количество вершин в подграфе.