русс | укр

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

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

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

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


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

Экстремальные пути в нагруженных ориентировочных графах


Дата добавления: 2015-07-23; просмотров: 996; Нарушение авторских прав


Волновой алгоритм — алгоритм, позволяющий найти минимальный путь в графе с рёбрами единичной длины. Основан на алгоритме поиска в ширину. Применяется для нахождения кратчайшего пути в графе, в общем случае находит лишь его длины. Суть: На 2-х мерной клетчатой карте (матрице) состоящей из "проходимых" и "непроходимых" клеток, обозначена клетка старта и клетка финиша. Цель алгоритма проложить наиболее кратчайший путь от клетки старта к клетке финишу, если это конечно возможно. От финиша во все направления идет волна, причем каждая пройденная волной клетка помечается, как "пройденная", волна в свою очередь не может проходить через клетки, помеченные как "пройденные" или "непроходимые" клетки. Волна идет пока она не достигнет точку старта или пока не останется не пройденных клеток. Если волна прошла все доступные клетки, но так и не достигла клетку старта, значит путь от старта до финиша проложить невозможно. После достижения волной старта, от старта прокладывается путь до финиша и сохраняется в массиве.

Описание алгоритма Дейкстры. Обозначим пометку вершины . Пусть веса рёбер заданы матрицей весов.Шаг 1. Пусть пометка начальной вершины L(s)=0. Для всех вершин, считать . Считать эти пометки временными. Шаг 2. Обновление пометок

пометки которых временны. Изменить пометки в соответствии с формулой Шаг 3. Превр. пометки в постоянные.

Среди всех вершин с временными пометками найти такую, для которой .Шаг 4. Сделать пометку вершины постоянной и значение Шаг 5. а) Если текущая вершина - исходная, т.е. p=t, то L(p) является длиной кратчайшего пути от s к t. Остановка алгоритма. Если , то идти к шагу 2. б) Если все вершины помечены постоянными пометками, то эти метки дают длины кратчайших путей, если некоторые метки временные, то перейти к шагу 2.



Алгоритм Форда- Беллмана.применим для графов с отрицательными весами. Предполагается, что граф не содержит циклов отрицательной длины. Основные величины этого алгоритма: . Для фиксированного . Длина минимального пути из заданной начальной вершины S в вершину , содержащей не более – дуг. Шаг 1. Установка начальных условий: мат. весов . Шаг 2. . Шаг3. В цикле по к=1 до (n-1) каждой вершине на каждом шаге приписать значение для всех вершин, кроме .Шаг 4. Восстановление минимального пути. , предшествующая ей определяется из соотношений , где Преобразуя последовательно применяя это соотношение начиная от последней вершины найдём минимальный путь.

Алгоритм Флойда. Поиск кратчайших путей между всеми парами вершин в графе.

Рассмотрим смешанный граф. Пусть длина контура в этом графе не может быть отрицательной. n – число вершин в графе, - длина дуги . Идея: Первоначально за длину кратчайшего пути между двумя произвольными вершинами принимается длина дуги . ( ) Если дуги нет, то значение . Затем послед-но проверяются все возможные промежуточные между i и k. Если длина пути через пром-ную вершину меньше текущей оценки , то присваивается новое значение. Алгоритм позволяет решить задачу за n итераций. На j-й итерации находим . На каждой итерации строится 2 матрицы мат. стоимости –матрица маршрутов. Где – первая промежуточная вершина кратчайшего пути из i в к на j –й итерации. Формальное описание:1) 2) j=j+1 Назовём j-у строку и j-й столбец матрицы базовыми. Вычеркнем их из . Те строки и столбцы, которые содержат элемент равные бесконечности, принадлежащие базовым строке и столбцу. 3) Для каждого не вычеркнутого элемента проделаем следующее: если .то , иначе После рассмотрения всех не вычеркнутых элементов , проверить условие j=n, если оно выполняется, то перейти в 4, иначе 2. 4) Конец алгоритма.

Задача Штейнера.Заданы N точек или на плоскости или в пространстве, необходимо соединить их отрезками прямых так, что сумма длин этих отрезков будет минимальна. Следует учесть, что можно вводить дополнительные точки, кроме тех которые имеются.

 



<== предыдущая лекция | следующая лекция ==>
Паросочетания | Сети: опр., пути в сетях, алгоритм Форда - Фалкерсона.


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


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

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

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


 


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

 
 

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

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