русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Первая итерация.


Дата добавления: 2013-12-24; просмотров: 886; Нарушение авторских прав


I этап. Нахождение длины кратчайшего пути.

II этап. Построение кратчайшего пути.

I этап. Нахождение длины кратчайшего пути.

 

Шаг 1. Присвоение вершинам начальных меток.

Полагаем и считаем эту метку постоянной (постоянные метки помечаются сверху звёздочкой). Для остальных вершин , полагаем и считаем эти метки временными. Пусть , где ‑ обозначение текущей вершины.

Шаг 2. Изменение меток.

Для каждой вершины с временной меткой, непосредственно следующей за вершиной , меняем её метку в соответствии со следующим правилом: .

Шаг 3. Превращение метки из временной в постоянную.

Из всех вершин с временными метками выбираем вершину с наименьшим значением метки

.

Шаг 4. Проверка на завершение первого этапа.

Если , то ‑ длина кратчайшего пути от s до t. В противном случае происходит возвращение ко второму шагу.

 

 

Шаг 5. Последовательный поиск дуг кратчайшего пути.

Среди вершин, непосредственно предшествующих вершине с постоянными метками, находим вершину , удовлетворяющую соотношению

.

Включаем дугу в искомый путь и полагаем .

Шаг 6. Проверка на завершение второго этапа.

Если , то кратчайший путь найден – его образует последовательность дуг, полученных на пятом шаге и выстроенных в обратном порядке. В противном случае возвращаемся к пятому шагу.

 

Пример. Задана весовая матрица Ω сети G. Найти минимальный путь из вершины в вершину по алгоритму Дейкстры.

 

По данной матрице весов граф изображён на рис.14:

 
 
 
 
 
 
Рис. 14
 
 
 



 

В данном графе есть цикл . Поэтому вершины графа нельзя упорядочить по алгоритму Фалкерсона.

Распишем подробно работу алгоритма Дейкстры.

Шаг 1. ,

, , , , .

Шаг 2. Множество вершин непосредственно следующих за с временными метками . Пересчитываем временные метки этих вершин:

;

;

.

Шаг 3. Одна из временных меток превращается в постоянную:

 

 

Следовательно, .

Шаг 4. , происходит возвращение на второй шаг.



<== предыдущая лекция | следующая лекция ==>
П.5. Нахождение кратчайших путей. Алгоритм Дейкстры | П.6. Алгоритм нахождение максимального пути


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.135 сек.