МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ
(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)
Расчетно - графическая работа по курсу КОМБИНАТОРНЫЙ АНАЛИЗ На тему: Преобразование произвольного вершинного графа к квазиканонической форме Вариант 21
Работа выполнена студентом гр. 60-101 Ивановым И.А. Работу консультировали преподаватели Малинина Н.Л., Демидова О.Л. Москва 2012 год
Задание 1. Задание 2. Задание 3. Задание 4. Задание 5. Нормализация графа. Для своего варианта по матрице смежности нарисовать граф. Исходные данные: матрица
Рис. 1 Подсчитать, сколько всего может получиться вариантов различных графов из такого набора элементов, имея в виду, размер матрицы, количество вершин графа и условие их размещения в верхней правой треугольной подматрице.
Нарисовать и перечислить все возможные пути и контуры в графе (примерное оформление).
Выделить в исходном графе несколько подграфов и частичных графов
Сделать нормализацию графа. 2. Импортируем данные матрицы в электронные таблицы (рис. 2а):
Рис. 2 Строка внизу - суммы по столбцам 3. По формулам считаем матрицу 4. Далее считаем матрицу 5. По результатам расчетов формируем матрицу 6. Делаем нормализацию, т.е. добавляем к матрице
Рис. 3 7 Импортируем данные в электронные таблицы еще раз (рис. 4) и снова считаем матрицы
Рис. 4 Результаты вычислений можно посмотреть, активизировав электронные таблицы. В целях упрощения записи формул было изъято умножение на единицу. На результат это не влияет, но запись формулы сокращается. Покажем результаты первого этапа нормализации на графе (рис. 5б).
Рис. 5 Из результатов расчетов видно, что нормализацию следует сделать еще раз, поскольку в матрице остался элемент
Рис. 6 Снова считаем матрицы
Рис. 7 Наконец, видно, что процесс нормализации пришел к завершению. Теперь займемся упорядочиванием графа. Что это такое? Имея в виду, что наш граф - это сложная система, да еще такая, которую мы хотим анализировать с помощью компьютера, мы должны знать точный порядок выполнения операций, чтобы не прийти в Как это делается? Приступим. Первое. Матрица должна иметь в точности один пустой столбец и одну пустую строку[ЧП1]. Пустому столбцу приписываем № 1. Этот же номер присваивается соответствующей строке. Номер столбца вписывается в дополнительную строку Операция 3. Общий шаг. Просматриваем первую пронумерованную строку и исключаем из нее элементы, которые в ней содержатся. В нашем случае обведем их в кружочки. Это будут элементы Операция 4. Рассмотрим подмножество непронумерованных столбцов, имеющих вычеркнутые элементы. На этом этапе упорядочения это будут столбцы Операция 5. Матрица переписывается с новым порядком рядов (рис. 11б). Порядок рядов становится понятным из рисунка 11б.
рис. 8 Операция 3. Общий шаг. Просматриваем следующую пронумерованную строку (в этот момент это будет строка 2) и исключаем из нее элементы, которые в ней содержатся. В нашем случае обведем их в кружочки. Это будут элементы Операция 5, 6, 6 и 8. Упорядочены дуги Снова переписываем матрицу с новым порядком рядов (рис. 12б).
Рис. 9 Полученная матрица упорядочена по слоям, но внутри слоев вершины не упорядочены. Следовательно, неупорядочена еще и некоторая часть дуг. Поэтому переходим к нумерации дуг и вершин графа (сетевой модели).
Рис. 10 Операция 6. Номера рядов матрицы, которые мы получили перед этим в операциях 2, 3 и 4 - это, с одной стороны, - номера подматриц, на которые распадается матрица, а, с другой стороны, - это номера начальных событий для тех работ, которым соответствуют столбцы матрицы (рис. 12). Рис. 11 Упорядочение
|