Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания для курсовой работы_В.В.В..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
448.51 Кб
Скачать
  1. Если одни из элементов ij  0 и вершины хi и xj лежат в разных кусках графа, то делаем переcтановку строк и столбцов в матрице R, соответствующих вершинам хi и xj. Получаем матрицу R/.

  2. Вычисляем перестановочные коэффициенты ij для матрицы R/. Если в матрице R/ опять содержится элемент ij  0, то переход к п.6. Если все элементы матрицы R/ отрицательны, то переход к п.9.

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

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

Задание 7

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

на кусков G1,…, G с числом вершин в каждом куске с использованием чисел связности

Замечание. Определим число связности вершин xj следующим образом:

( xj) = b(xj) – a(xj),

где b(xj) – число внешних связей вершины xj, определяемое количеством ребер, связывающих вершину xjХ1 с вершинами другого подмножества ; а(xj) – число внутренних связей вершины xj, определяемое количеством ребер связывающих xjХ1 с другими вершинами того же подмножества Х1; Х1 – подмножество вершин, вошедших в первый кусок G1G; .

Тогда справедливо утверждение. Перестановка любых двух вершин хХ1 и х уменьшит связность между кусками G1 и , если для этих двух вершин выполняется следующее соотношение:

( х, х) = [b(х)+ b(х)]-[a(х)+ a(х)]- 2r(х, х) > 0,

где r(х, х) – число непосредственных связей между вершинами хХ1 и х .

Алгоритм.

  1. Вычисляем матрицу смежности С=||сij||nn для исходного графа G.

  2. Разбиваем произвольным образом граф G(X,U) на два куска G1=(X1,U1) и , так, чтобы число вершин в G1 было равно заданному . Это аналогично разбиению матрицы смежности С на две части.

  3. Для всех вершин xiХ подсчитываем числа связности (xj). В каждом куске (подматрице) отмечаем вершины, имеющие положительные значения (xj). Заносим их соответственно в списки Г1 и Г2.

  4. Для каждой вершины х из списка Г1 подчитываем соотношение (х, х) со всеми вершинами х из списка Г2.

  5. Переставляем местами вершины хХ1 и х , для которых  имеет наибольшее значение. Это означает перестановку соответствующих этим вершинам строк и столбцов в матрице смежности С. Если таких вершин несколько, то берем те, которые имеют меньшую локальную степень .

  6. Повторяем п.п. 3,4,5 до тех пор пока не останется пара вершин с положительным значением , в этом случае кусок G1 сформирован.

  7. Удаляем из графа G кусок G1, что означает удаление из матрицы смежности С=||сij|| строк и столбцов, соответствующих номерам вершин, вошедших в первый кусок. Если число сформированных кусков меньше -1, то процедура продолжается с п.2., иначе переход к п.8.

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

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

Задание 8

Алгоритм покрытия функциональной схемы

конструктивными модулями из заданного набора

  1. Формируем множество E непокрытых логических элементов функциональной схемы.

  2. Выбираем из множества E элемент ek, имеющий максимальное число связей с остальными.

  3. Формируем список L логических элементов, имеющих наибольшее число связей с элементом ek.

  4. Производим позиционное сравнение логических функций элементов, содержащихся в КМ из заданного набора, и элементов списка L.

  5. Если логические функции элементов в модуле и списке L не совпали, то наименее связанный элемент исключается из списка L и переходят к п.4.

  6. Если логические функции элементов в модуле и списке L совпали, то группа выделенных логических элементов закрепляется за конструктивным модулем.

  7. Проверяем множество E непокрытых логических элементов. Если оно непустое, то переходим к п.2.

  8. Конец алгоритма.