Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Расчетно-графическая работа №8⇐ ПредыдущаяСтр 11 из 11
Тема: «Поиск кратчайших путей на неориентированном графе по алгоритму Флойда». 1 Теоретическая часть Пусть задан граф G (рисунок 8.1). Построение матрицы путей и матрицы переходов графа G Алгоритма Флойда использует две матрицы размера , где -число вершин графа: - матрицу кратчайших путей и - матрицу кратчайших переходов. На рисунке 8.2изображены обе эти матрицы для графа G (рисунок 8.1).
а) б) Рисунок 8.2 ― Матрицы кратчайших путей а) и кратчайших переходов б) графа G
Матрица переходов производна относительно матрицы путей. Для p=0 (т.е. нулевого шага работы алгоритма) элементы матрицы есть концевые вершины из перехода из в . Поэтому в каждом столбце матрицы указана вершина .
Шаг 0 расчетов по алгоритму Флойда Принимаем p=0. Принимаем в матрице вершину за базовую и выделяем (штриховкой) базовую строку и базовый столбец (рис. 8.3).
Рисунок 8.3 ―Матрица путей на нулевом шаге расчетов
Вычеркиваем в матрице строки столбцы, базовые элементы которыхимеют значения (они на рис. 8.3 показаны более темной штриховкой), так как и всегда больше конечного значения . В итоге получаем матрицу , изображенную на рисунке 8.4.
Рисунок 8.4 - Матрица после вычеркивания строк и столбцов, базовые элементы которых имеют значение
Изобразим на рисунке 8.5 граф по матрице . Обозначения: в окружность заключена базовая вершина ; каждая вершина идентифицирована дважды: переменной с индексом- цифрой и переменной с индексом-буквой Рисунок 8.5 ― Граф
Выполним расчеты, для чего будем проверять справедливость соотношения:
Для графа на рисунке 8.5 это означает, что проверяется справедливость соотношения:
или иными словами: сравнивается суммарная длина пути из первой вершины до базовой , т.е. и из нулевой вершины до вершины , т.е. с длиной пути из первой вершины в третью «напрямую», т.е. (см. рис. 8.5).
Итак, проверяем справедливость соотношения: ? Ответ - Да.
Тогда: 1) , ; 2) ,
Вносим изменения в матрицу и (рис. 8.6): изменяем элемент , на ; , . Изменения выделены на рис. 8.6 красным квадратом.
Рисунок 8.6 ― Матрицы путей и переходов графа G перед началом шага p=1
Шаг 1 расчетов по алгоритму Флойда Принимаем p=1. Принимаем в матрице вершину за базовую и выделяем базовую строку и базовый столбец (рис. 8.6). Вычеркиваем в матрице строки и столбцы, базовые элементы которых имеют значение . В итоге получаем , изображенную на рис. 8.7.
Рисунок 8.7 ― Матрица после вычеркивания строк и столбцов, базовые элементы которых имеют значение Изобразим на рис. 8.8 граф по матрице .
Рисунок 8.8 ― Граф
Выполним необходимые расчеты:
1) ? Т.е. ? Да. Тогда: 2) ? Т.е. ? Да. Тогда: 3) ? Т.е. ? Нет. Тогда: . 4) ? Т.е. ? Нет. Тогда: 5) ? Т.е. ? Да. Тогда:
Вносим изменения в матрицы и (рис. 8.9).
Рисунок 8.9 ― Матрицы путей и переходов графа G перед началом шага p=2
Шаг 2 расчетов по алгоритму Флойда
Принимаем p=2. Принимаем в матрице вершину за базовую и выделяем базовую строку и базовый столбец (рис. 8.9). Вычеркиваем в матрице строки и столбцы, базовые элементы которых имеют значение . В итоге получаем матрицу , изображенную на рис. 8.10.
Рисунок 8.10 ― Матрица после вычеркивания строк и столбцов, базовые элементы которых имеют значение Изобразим на рисунке 8.11 граф по матрице . Рисунок 8.11 ― Граф
Выполним необходимые расчеты:
1) , ? Нет. 2) , ? Нет. 3) , ? Нет. 4) , ? Да. Тогда: . 5) , ? Да. Тогда: . 6) , ? Да. Тогда: . 7) , ? Нет. 8) , ? Да. Тогда: . 9) , ? Да. Тогда: . 10) , ? Да. Тогда:. .
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 146; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.14.142.115 (0.08 с.) |