Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания для курсовой работы_В.В.В..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
448.51 Кб
Скачать
  1. Помещаем выбранную вершину xs в кусок G1: G1={x,xs}. Подсчитываем число m вершин в куске G1.

  2. Если m=n1, то первый кусок сформирован. Переход к п.9.

  3. Если m<n1, то в список Г(х) добавляем вершины, смежные вершинам, вошедшим в кусок G1. Переход к п.4.

  4. Удаляем из матрицы А строки и столбцы, соответствующие номерам вершин, вошедших в кусок G1. Для формирования следующего куска G2 с новой запрещенной вершиной из Q процедура повторяется с п.2. Если число сформированных кусков равно (-1), то переход к п.10.

  5. Конец работы алгоритма.

Задания для курсовой работы

Задание 5

Итерационный алгоритм разбиения графа G(X,E) на кусков

G1,,…,G с числом вершин n1,…,n в каждом куске

соответственно с использованием чисел связности.

Замечание. Разбиение графа G(X,E) на  кусков сведем к последовательному разрезанию графа на два куска Gk и c числом вершин в первом куске равным nk (k= . Это эквивалентно разбиению матрицы смежности на две подматрицы А(1) и А(2). Основная идея алгоритма заключается в выборе таких строк и столбцов, перестановка которых из одного куска в другой приводит к сосредоточению в диагональных клетках матрицы максимального числа элементов.

Введем вспомогательную матрицу где строки определяются вершинами xi из Gk, а столбцы – вершинами xj из ; , где i ,j-числа связности.

В общем виде для разбиения матрицы смежности на две подматрицы а1 и а2, число связности имеет вид

где xk – множество вершин подграфа Gk,

pP={1,2,…nk}, vV={nk+1, nk+2,…n}, k= .

Алгоритм.

  1. Для графа G=(X,A) строим матрицу смежности А0 порядка n.

  2. В матрице А0 графа G выделяем подматрицу А1 порядка n1, равного числу элементов в первом выделяемом подграфе G1. Матрица А0 при этом разбивается на две подматрицы А1 и А2 ( ).

  3. По матрице А0 находим числа связности s.

  4. Строим матрицу W1.

  5. Используя вспомогательную матрицу W1, определяем максимальный положительный элемент wq. Если таких элементов несколько, то выбираем такой, для которого соответствующие вершины xq и х имеют меньшую локальную степень

  6. Переставляем q и строки и столбцы в матрице А0. Получаем матрицу , изоморфную матрице А0. Если в матрице W1 нет положительных элементов, то есть кусок G1 сформирован, то переход к п.8, иначе переход к п.7.

  7. Выполняем для матрицы последовательно п.п.2-5 алгоритма.

  8. Исключаем из графа G кусок G1, это эквивалентно исключению n1 строк и столбцов из матрицы А0 соответствующих вершинам графа G, вошедшим в первый кусок.

  9. Повторяем п.п.1-8 алгоритма до тех пор, пока не останется подграф Gl.

  10. Получаем разбиение графа G на  кусков G1, G2,… G с числом вершин в каждом куске соответственно n1,n2,…,n.

  11. Конец работы алгоритма.

Задания для курсовой работы

Задание 6

Итерационный алгоритм разрезания графа G (X,U)

на кусков с минимизацией числа соединительных ребер

(матричный метод разбиения).

Замечание. Идея алгоритма заключается в первоначальном случайном разбиении графа G(X,U) на  кусков G1,G2,…G с числом вершин n1,n2,…n в каждом куске соответственно и последующей перестановкой пары или группы вершин из одного куска в другой для уменьшения числа соединительных ребер между кусками. Таким образом, требуется получить максимальное значение функции

где L – общее число ребер внутри всех кусков графа G;

uj – ребро графа G; Ujj – множество внутренних ребер куска Gj, |Ujj|=z.

Задается стандартная матрица F=||fij|| nn, в которой по главной диагонали расположено  единичных подматриц. Порядок каждой подматрицы определяется числами вершин n1, n2,… n.

Алгоритм.

  1. Для графа G(X,U) строим матрицу смежности R=||rij|| nn.

  2. Разбиваем матрицу смежности по главной диагонали на подматрицы R1, R2,… R с числом вершин в каждой n1, n2,… n соответственно. Переход к п.3.

  3. Вычисляем вспомогательную матрицу М=||mij||nn, которую определяем как результат умножения матриц F и R:

В общем случае mijmji, т.е. матрица М не является симметричной.

  1. Вычисляем вспомогательную матрицу В=||bij|| nn, которая строится путем поэлементного перемножения матриц и R, где – инверсия матрицы F, т.е. единица заменяется на ноль и наоборот:

.

  1. Вычисляем вспомогательную матрицу Р=||pij||nn, Р=М-В следующим образом

Pij = mij - bij; Pji = mji -bji; PijPji.

6. Вычисляем перестановочные коэффициенты ij = Pij + Pji - PiiPjj.